Если значения не являются непрозрачными для вашего приложения, вам может быть лучше смоделировать их как класс. В противном случае, когда вы собираетесь действовать со значениями, вы можете написать код, подобный этому:
if (variable.StartsWith("http://") || variable.StartsWith("file://")) {
// Handle url
}
else {
// Handle file path
}
Вы можете свернуть некоторые функции, относящиеся к обработке значений, в свой класс, но лучше правильно относиться к нему как к типу неизменяемых значений.
Используйте описательное имя для вашего класса, например FileLocation или любое другое, соответствующее вашей номенклатуре. Тогда будет очень естественно объявить переменные FileLocation с именами fileLocation или inputFileLocation или даже fl, если вы неаккуратны.