Коллекции, строки, файлы Flashcards

1
Q

Где хранится строка?

A

В куче

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

В чем ошибка? Как исправить?

File.ReadAllLines(“C:\Users\user123\document.txt”)

A

Надо использовать такой формат задания строки:
@”C:\Users\user123\document.txt”

Либо экранировать все обратные слэши с помощью дополнительных слэшей:
“C:\Users\user123\document.txt”

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Чем отличается массив от листа?

A

Первый фиксированной длины, второй - изменяющейся, можно добавлять и исключать элементы.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Для чего нужно экранирование символов? Приведите примеры.

A
//Так писать нельзя, поскольку компилятор пытается воспринять \U как спецсимвол
			//Console.WriteLine("C:\Users\admin"); // ошибка компиляции
//Поэтому бэкслеш надо экранировать
			Console.WriteLine("C:\\Users\\admin");
//Или использовать особую строку, в которой спецсимволы не допускаются
			Console.WriteLine(@"C:\Users\admin");
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

В каких случаях нужно использовать StringBuilder?

A

Когда надо собрать длинную строчку из большого числа маленьких. Например, из массива строк.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Чем отличается StringBuilder от List?

A

Идейно - ничем. А так - наличием дополнительных методов, которые облегчают его использование.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

В чем ошибка?
string a;
var parts = a.Split(“ “);

Как написать SafeSplit, чтобы не было NullReferenceException в коде
string a;
var parts = a.SafeSplit(“ “);

A

Переменной a не присвоено значение и поэтому будет NullReferenceException

How well did you know this?
1
Not at all
2
3
4
5
Perfectly