Если вы хотите взять только часть строки, в основном используется метод подстроки. Это имеет недостаток, что вы должны сначала проверить длину строки, чтобы избежать ошибок. Например, вы хотите сохранить данные в базе данных и хотите отключить значение до первых 20 символов.
Если вы делаете temp.substring(0,20), но temp содержит только 10 символов, генерируется исключение.
Есть два решения, которые я вижу:
- проверить длину и выполнить подстроку при необходимости
-
используйте метод расширения Take
string temp = "1234567890"; var data= new string( temp.Take(20).ToArray()); --> data now holds "1234657890"
Есть ли недостаток с точки зрения скорости или использования памяти, когда используется метод Take. Преимущество в том, что вам не нужно писать все эти операторы if.