У меня есть код ниже F #, который работает, чтобы объединить 4 строки, разделяя пробел, включая только те, которые не являются ни пустыми, ни пустыми ,F # как присоединиться к массиву строк только тогда, когда они не являются пустыми или пустыми
let street =
split.[5..8]
|> Array.filter (String.IsNullOrWhiteSpace >> not)
|> String.concat " "
Это работает очень хорошо, но менее результативно, чем приведенная ниже реализация C#.
var street = "";
if (!string.IsNullOrWhiteSpace(items[5]))
street += items[5];
if (!string.IsNullOrWhiteSpace(items[6]))
street += string.IsNullOrWhiteSpace(street) ? items[6] : " " + items[6];
if (!string.IsNullOrWhiteSpace(items[7]))
street += string.IsNullOrWhiteSpace(street) ? items[7] : " " + items[7];
if (!string.IsNullOrWhiteSpace(items[8]))
street += string.IsNullOrWhiteSpace(street) ? items[8] : " " + items[8];
return street;
Есть ли способ, которым я могу достичь того же стиля реализации в F #, вместо использования встроенных функций?
Если вы ищете возможность использования, используйте StringBuilder. – Gustavo
еще раз спасибо @Gustavo - поставит мою реализацию как ответ - не стесняйтесь редактировать :) – JamieS