Дан файл txt.txt с содержанием:
ДНК
РНК
АТФ
Даны 3 переменные a, b, c типа string.
Как этим переменным присвоить значение соответствующих строк.
Другие языки программирования и технологии
Как преобразовать строки файла в переменные (C#)?
Объявление и инициализацию строк можно выполнять различными способами, как показано в следующем примере:
C#
// Declare without initializing.
string message1;
// Initialize to null.
string message2 = null;
// Initialize as an empty string.
// Use the Empty constant instead of the literal "".
string message3 = System.String.Empty;
//Initialize with a regular string literal.
string oldPath = "c:\\Program Files\\Microsoft Visual Studio 8.0";
// Initialize with a verbatim string literal.
string newPath = @"c:\Program Files\Microsoft Visual Studio 9.0";
// Use System.String if you prefer.
System.String greeting = "Hello World!";
// In local variables (i.e. within a method body)
// you can use implicit typing.
var temp = "I'm still a strongly-typed System.String!";
// Use a const string to prevent 'message4' from
// being used to store another string value.
const string message4 = "You can't get rid of me!";
// Use the String constructor only when creating
// a string from a char*, char[], or sbyte*. See
// System.String documentation for details.
char[] letters = { 'A', 'B', 'C' };
string alphabet = new string(letters);
Обратите внимание, что для создания строкового объекта оператор new не используется, за исключением случаев инициализации строки массивом символов.
Инициализация строки значением константы Empty приводит к созданию нового объекта String, строка которого имеет нулевую длину. Строковый литерал нулевой длины представляется как "". При инициализации строк значением Empty вместо null снижается вероятности возникновения NullReferenceException. Используйте статический метод IsNullOrEmpty(String), чтобы проверить значение строки перед попыткой обращения к ней.
Неизменность строковых объектов
Строковые объекты являются неизменяемыми: после создания их нельзя изменить. Все методы String и операторы C#, которые, как можно было бы представить, изменяют строку, в действительности возвращают результаты в новый строковый объект. В следующем примере, когда содержимое строк s1 и s2 объединяется в одну строку, две исходные строки не изменяются. Оператор += создает новую строку с объединенным содержимым. Этот новый объект присваивается переменной s1, а исходный объект, который был присвоен строке s1, освобождается для сборки мусора, поскольку ни одна переменная не содержит ссылку на него.
C#
string s1 = "A string is more ";
string s2 = "than the sum of its chars.";
// Concatenate s1 and s2. This actually creates a new
// string object and stores it in s1, releasing the
// reference to the original object.
s1 += s2;
System.Console.WriteLine(s1);
// Output: A string is more than the sum of its chars.
Поскольку "изменением" строки в действительности является созданием новой строки, необходима предосторожность при создании ссылок на строки. Если создать ссылку на строку, а затем "изменить" исходную строку, то ссылка будет по-прежнему указывать на исходный объект, а не на новый объект, который был создан при изменении строки. Это поведение демонстрируется в следующем коде.
C#
string s1 = "Hello ";
string s2 = s1;
s1 += "World";
System.Console.WriteLine(s2);
//Output: Hello
Дополнительные сведения о том, как создавать новые строки, основанные на таких изменениях как операции поиска и замены исходной строки, см. в разделе Практическое руководство. Изменение содержимого строки (Руководство по программированию в C#).
Правильные и буквальные строковые литералы
Правильные строковые литералы используются, если нужно внедрить escape-символы, предоставляемые языком C#, как показано в следующем примере.
C#
string columns = "Column 1\tColumn 2\tColumn 3";
//Output: Column 1 Column 2 Column 3
string rows = "Row 1\r\nRow 2\r\nRow 3";
/* Output:
Row 1
Row 2
Row 3
*/
string title = "\"The \u00C6olean Harp\", by Samue
C#
// Declare without initializing.
string message1;
// Initialize to null.
string message2 = null;
// Initialize as an empty string.
// Use the Empty constant instead of the literal "".
string message3 = System.String.Empty;
//Initialize with a regular string literal.
string oldPath = "c:\\Program Files\\Microsoft Visual Studio 8.0";
// Initialize with a verbatim string literal.
string newPath = @"c:\Program Files\Microsoft Visual Studio 9.0";
// Use System.String if you prefer.
System.String greeting = "Hello World!";
// In local variables (i.e. within a method body)
// you can use implicit typing.
var temp = "I'm still a strongly-typed System.String!";
// Use a const string to prevent 'message4' from
// being used to store another string value.
const string message4 = "You can't get rid of me!";
// Use the String constructor only when creating
// a string from a char*, char[], or sbyte*. See
// System.String documentation for details.
char[] letters = { 'A', 'B', 'C' };
string alphabet = new string(letters);
Обратите внимание, что для создания строкового объекта оператор new не используется, за исключением случаев инициализации строки массивом символов.
Инициализация строки значением константы Empty приводит к созданию нового объекта String, строка которого имеет нулевую длину. Строковый литерал нулевой длины представляется как "". При инициализации строк значением Empty вместо null снижается вероятности возникновения NullReferenceException. Используйте статический метод IsNullOrEmpty(String), чтобы проверить значение строки перед попыткой обращения к ней.
Неизменность строковых объектов
Строковые объекты являются неизменяемыми: после создания их нельзя изменить. Все методы String и операторы C#, которые, как можно было бы представить, изменяют строку, в действительности возвращают результаты в новый строковый объект. В следующем примере, когда содержимое строк s1 и s2 объединяется в одну строку, две исходные строки не изменяются. Оператор += создает новую строку с объединенным содержимым. Этот новый объект присваивается переменной s1, а исходный объект, который был присвоен строке s1, освобождается для сборки мусора, поскольку ни одна переменная не содержит ссылку на него.
C#
string s1 = "A string is more ";
string s2 = "than the sum of its chars.";
// Concatenate s1 and s2. This actually creates a new
// string object and stores it in s1, releasing the
// reference to the original object.
s1 += s2;
System.Console.WriteLine(s1);
// Output: A string is more than the sum of its chars.
Поскольку "изменением" строки в действительности является созданием новой строки, необходима предосторожность при создании ссылок на строки. Если создать ссылку на строку, а затем "изменить" исходную строку, то ссылка будет по-прежнему указывать на исходный объект, а не на новый объект, который был создан при изменении строки. Это поведение демонстрируется в следующем коде.
C#
string s1 = "Hello ";
string s2 = s1;
s1 += "World";
System.Console.WriteLine(s2);
//Output: Hello
Дополнительные сведения о том, как создавать новые строки, основанные на таких изменениях как операции поиска и замены исходной строки, см. в разделе Практическое руководство. Изменение содержимого строки (Руководство по программированию в C#).
Правильные и буквальные строковые литералы
Правильные строковые литералы используются, если нужно внедрить escape-символы, предоставляемые языком C#, как показано в следующем примере.
C#
string columns = "Column 1\tColumn 2\tColumn 3";
//Output: Column 1 Column 2 Column 3
string rows = "Row 1\r\nRow 2\r\nRow 3";
/* Output:
Row 1
Row 2
Row 3
*/
string title = "\"The \u00C6olean Harp\", by Samue
Руслан Воловик
Это ещё и с чтением файла связано, не только строк...
Юрий Румынин
И главное ни слова про чтение =)
Похожие вопросы
- Определение размера файла в Borland C++
- Можно ли преобразовать строку с кодом на языке N в непосредственно код на языке N?
- Как вычленить из строки два целых числа? C++
- Преобразуйте строку так, чтобы сначала в ней шли буквы, но в обратном порядке, а затем цифры в прямом. Напишите кодна С#
- Как преобразовать JPEG файл в Coral Draw 13? Есть сайт или программа для этого?
- Как использоваться строки (strings), как переменные?
- Генератор случайных слов (строк) из файла на C++.
- Скопировать из текстового файла .txt часть строк c 1 по 3000, затем с 3000 по 6000 и так до конца файла.
- как в C++ массив чисел преобразовать в строку
- Помогите испрвить код Переписать первые элементы каждой строки матрицы a(n*m), больше некоторого числа C, в массив b .