Разделы презентаций


Строки и файлы

Содержание

СтрокиСтрока является объектом типа String, значением которого является текст. Текст хранится в виде последовательной доступной только для чтения набора объектов Char. В конце строки на языке C# отсутствует символ, заканчивающийся на

Слайды и текст этой презентации

Слайд 1Строки в C#

Строки в C#

Слайд 2Строки
Строка является объектом типа String, значением которого является текст. Текст

хранится в виде последовательной доступной только для чтения набора объектов

Char. В конце строки на языке C# отсутствует символ, заканчивающийся на NULL; поэтому строка C# может содержать любое число внедренных символов NULL ("\0"). Свойство Length строки представляет число объектов Char, содержащихся в этой строке, а не число символов Юникода.
В C# ключевое слово string является псевдонимом свойства String. Поэтому String и string эквивалентны

СтрокиСтрока является объектом типа String, значением которого является текст. Текст хранится в виде последовательной доступной только для

Слайд 3Строки
Объявление и инициализацию строк можно выполнять различными способами:

string message1;
string str

= "Пример строки";
char[] letters = { 'A', 'B', 'C' };
string

alphabet = new string(letters); 
СтрокиОбъявление и инициализацию строк можно выполнять различными способами:string message1;string str =

Слайд 4Строки
Над строками определены следующие операции:
присваивание (=);
конкатенация (объединение) или сцепление строк

(+);
две операции проверки эквивалентности: равно (= =) и не равно

(!=);
взятие индекса ([]).
СтрокиНад строками определены следующие операции:присваивание (=);конкатенация (объединение) или сцепление строк (+);две операции проверки эквивалентности: равно (= =)

Слайд 5Строки
Переприсваивание
Строки можно целиком переприсваивать:
string s1 = "Hello";
string s2 = s1;

СтрокиПереприсваиваниеСтроки можно целиком переприсваивать:string s1 =

Слайд 6Строки
Объединение строк
Можно объединять строки с помощью оператора +:
string s1 =

"orange";
string s2 = "red";
s1 += s2;Console.WriteLine(s1); // напечатается "orangered"
Строковые

объекты являются неизменяемыми: после создания их нельзя изменить. Все методы String и операторы C#, которые, как можно было бы представить, изменяют строку, в действительности возвращают результаты в новый строковый объект.
.
СтрокиОбъединение строкМожно объединять строки с помощью оператора +:string s1 =

Слайд 7Строки
Постоянство строк
Строковые объекты являются неизменяемыми: после создания их нельзя изменить.

Все методы String и операторы C#, которые, как можно было

бы представить, изменяют строку, в действительности возвращают результаты в новый строковый объект.
В примере, когда содержимое строк s1 и s2 объединяется в одну строку, две исходные строки не изменяются. Оператор += создает новую строку с объединенным содержимым. Этот новый объект присваивается переменной s1, а исходный объект, который был присвоен строке s1, освобождается для сборки мусора, поскольку ни одна переменная не содержит ссылку на него.


СтрокиПостоянство строкСтроковые объекты являются неизменяемыми: после создания их нельзя изменить. Все методы String и операторы C#, которые,

Слайд 8Строки
Сравнения
Самый простой способ сравнения двух строк — использовать операторы ==

и !=, осуществляющие сравнение с учетом регистра:
string color1 = "red";
string

color2 = "green";
string color3 = "red";
if (color1 == color3) Console.WriteLine("Строки равны");
if (color1 != color2) Console.WriteLine("Строки не равны");
Не допускается использование >,<,>=,<= для сравнения строк. Для строковых объектов существует метод CompareTo(), возвращающий целочисленное значение, зависящее от того, что одна строка может быть меньше (<), равна (==) или больше другой (>). При сравнении строк используется значение Юникода, при этом значение строчных букв меньше, чем значение заглавных.

Слайд 9Строки
Доступ к отдельным знакам
Квадратные скобки [] служат для доступа к

отдельным знакам в объекте string, но при этом возможен доступ

только для чтения:

string str = "test";
char x = str[2]; // x = 's';

СтрокиДоступ к отдельным знакамКвадратные скобки [] служат для доступа к отдельным знакам в объекте string, но при

Слайд 10Строки
В C# существуют два вида строковых констант:
обычные константы, которые представляют

строку символов, заключённую в кавычки;
@-константы, заданные обычной константой c предшествующим

знаком @.

СтрокиВ C# существуют два вида строковых констант:обычные константы, которые представляют строку символов, заключённую в кавычки;@-константы, заданные обычной

Слайд 11Строки
Обычные константы

В обычных константах некоторые символы интерпретируются особым образом. Связано

это, прежде всего, с тем, что необходимо уметь задавать в

строке непечатаемые символы, такие, как, например, символ табуляции. Возникает необходимость задавать символы их кодом – в виде escape-последовательностей. Для всех этих целей используется комбинация символов, начинающаяся символом "\" - обратная косая черта. Это так называемые Escape-последовательности
СтрокиОбычные константыВ обычных константах некоторые символы интерпретируются особым образом. Связано это, прежде всего, с тем, что необходимо

Слайд 12Строки
При этом возникают неудобства: например, при задании констант, определяющих путь

к файлу, приходится каждый раз удваивать символ обратной косой черты.
string

path2 = "C:\\Users\\Mikant\\Documents";
СтрокиПри этом возникают неудобства: например, при задании констант, определяющих путь к файлу, приходится каждый раз удваивать символ

Слайд 13Строки
@-константы
В @-константах все символы трактуются в полном соответствии с их

изображением. Поэтому путь к файлу лучше задавать @-константой. Единственная проблема

в таких случаях: как задать символ кавычки, чтобы он не воспринимался как конец самой константы. Решением является удвоение символа.
string path1 = @"C:\Users\Mikant\Documents";


Строки@-константыВ @-константах все символы трактуются в полном соответствии с их изображением. Поэтому путь к файлу лучше задавать

Слайд 14Строки

Строки

Слайд 15Строки

Строки

Слайд 16Строки
string s6 = «РГппУ";
Console.WriteLine(s6.ToUpper()); // Напечатается РГППУ

string s3 = "Visual

C# Express";
string s5 = s3.Replace("C#", "Basic");
Сonsole.WriteLine(s5);// напечатается "Visual Basic Express”

string

s3 = "Visual C# Express";
string s4 = s3.Substring(7, 2);
Console.WriteLine(s4);// напечатается "C#"



Строкиstring s6 = «РГппУ

Слайд 17Строки
char razdelitel = ' ';
string text = "Шла Саша по

шоссе и сосала сушку";
Console.WriteLine("Исходный текст: '{0}'", text);
string[] words = text.Split(razdelitel);
Console.WriteLine("{0}

слов в тексте:", words.Length);
В качестве разделителя может выступать массив символов.
char[] delimiterChars = { ' ', ',', '.', ':', '\t' };
string text = "one\ttwo three:four,five six seven";
Console.WriteLine("Original text: '{0}'", text);
string[] words = text.Split(delimiterChars);
Console.WriteLine("{0} words in text:", words.Length);
Строкиchar razdelitel = ' ';string text =

Слайд 18Строки
Преобразование строк в другие типы
С помощью объекта Convert:
N = Convert.ToInt32(s1);
M

= Convert.ToDouble(s2);
F = Convert.ToBoolean(s3);
B = Convert.ToByte(s4);
C = Convert.ToChar(k);
s5= Convert.ToString(x);

СтрокиПреобразование строк в другие типыС помощью объекта Convert:N = Convert.ToInt32(s1);M = Convert.ToDouble(s2);F = Convert.ToBoolean(s3);B = Convert.ToByte(s4);C =

Слайд 19Текстовые файлы в C#

Текстовые файлы в C#

Слайд 20Классы для работы с файлами
Для работы с классами необходимо подключить

пространство имен System.IO
using System.IO
Классы:
StreamWriter - Реализует TextWriter для записи символов

в поток в определенной кодировке.
StreamReader - Реализует TextReader, который считывает символы из потока байтов в определенной кодировке.
File - Предоставляет статические методы для создания, копирования, удаления, перемещения и открытия файлов
Классы для работы с файламиДля работы с классами необходимо подключить пространство имен System.IOusing System.IOКлассы:StreamWriter - Реализует TextWriter

Слайд 21Методы класса File
CreateText - Создается или открывается файл для записи

текста в кодировке UTF-8.
AppendText - Создает StreamWriter добавляющий в существующий

файл текст в кодировке UTF-8.
OpenText - Открывает для чтения существующий файл, содержащий текст в кодировке UTF-8.
Exists - Определяет, существует ли заданный файл.
ReadAllText(String) - Открывает текстовый файл, считывает все строки файла и затем закрывает файл
ReadAllLines(String) - Открывает текстовый файл, считывает все строки файла и затем закрывает файл.
WriteAllText(String, String) - Создает новый файл, записывает в него указанную строку и затем закрывает файл. Если целевой файл уже существует, он будет переопределен.
WriteAllLines(String, String[]) - Создает новый файл, записывает в него указанный массив строк и затем закрывает файл.
Методы класса FileCreateText - Создается или открывается файл для записи текста в кодировке UTF-8.AppendText - Создает StreamWriter

Слайд 22Методы класса StreamWriter
StreamWriter(String) - Инициализирует новый экземпляр класса StreamWriter для

указанного файла с помощью кодировки по умолчанию и размера буфера.


Write(String) - Записывает в поток строку.
WriteLine(String) - Записывает в текстовую строку или поток строку, за которой следует признак конца строки.
Close - Закрывает текущий объект StreamWriter и базовый поток.
Методы класса StreamWriterStreamWriter(String) - Инициализирует новый экземпляр класса StreamWriter для указанного файла с помощью кодировки по умолчанию

Слайд 23Методы и свойства класса StreamReader
StreamReader(String) - Инициализирует новый экземпляр

класса StreamReader для указанного имени файла.
ReadToEnd - Считывает все

символы, начиная с текущей позиции до конца потока.
ReadLine - Выполняет чтение строки символов из текущего потока и возвращает данные в виде строки.
EndOfStream - Получает значение, определяющее, находится ли позиция текущего потока в конце потока.
Методы и свойства класса StreamReader StreamReader(String) - Инициализирует новый экземпляр класса StreamReader для указанного имени файла. ReadToEnd

Слайд 24Примеры
Создание или открытие файла и построчное добавление записей
if(File.Exists(@"d:\vbbook.txt"))

writefl = File.AppendText(@"d:\vbbook.txt");

else
writefl = File.CreateText(@"d:\vbbook.txt");

writefl описан начале как
StreamWriter writefl;


ПримерыСоздание или открытие файла и построчное добавление записей if(File.Exists(@

Слайд 25Примеры
Построчная запись в файл

writefl.WriteLine(textBox1.Text);


В конце записи следует закрыть файл:
writefl.Close();

ПримерыПострочная запись в файл writefl.WriteLine(textBox1.Text);В конце записи следует закрыть файл:writefl.Close();

Слайд 26Примеры
Открытие файла для чтения
if (File.Exists(@"d:\vbbook.txt"))

readfl = new StreamReader(@"d:\vbbook.txt");
else MessageBox.Show("файла нет");

В

начале readfl описан как
StreamReader readfl;


ПримерыОткрытие файла для чтенияif (File.Exists(@

Слайд 27Примеры
Построчное чтение из файла
if (readfl.EndOfStream == false)

label1.Text = readfl.ReadLine();

else label1.Text = "end";

В конце чтения надо закрыть файл:
readfl.Close();

ПримерыПострочное чтение из файлаif (readfl.EndOfStream == false)        label1.Text = readfl.ReadLine();

Слайд 28Примеры
Чтение файла в массив строк

strmas = File.ReadAllLines(@"d:\vbbook.txt");


В начале массив описан

как:
string[] strmas ;

ПримерыЧтение файла в массив строкstrmas = File.ReadAllLines(@

Слайд 29Примеры
Запись текста из текстового поля в файл

File.WriteAllText(@"d:\vbbook.txt",textBox1.Text);

ПримерыЗапись текста из текстового поля в файл File.WriteAllText(@

Слайд 30Задание 1
Имеется текстовый файл “числа.txt”, содержащий целые числа (не более

20).
Переписать числа из этого файла в файл “без нулей.txt”удалив нули.

Задание 1Имеется текстовый файл “числа.txt”, содержащий целые числа (не более 20).Переписать числа из этого файла в файл

Слайд 31Код программы
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
namespace ConsoleApplication1
{ class

Program
{
static void

Main(string[] args)
{ StreamReader readfl;// поток для считывания данных
StreamWriter writefl; //поток для записи данных
int[] massiv=new int[20];//массив чисел
int k = 0; //начальный индекс массива
//проверка, существует ли данный файл
if (File.Exists(@"d:\числа.txt"))
readfl = new StreamReader(@"d:\числа.txt");
else {Console.WriteLine("файла нет");
Console.ReadKey();
return;}

Код программыusing System;using System.Collections.Generic;using System.Linq;using System.Text;using System.IO;namespace ConsoleApplication1{  class Program  {

Слайд 32Код программы
//чтение чисел из файла в массив
while (readfl.EndOfStream == false)

{

massiv[k] = Convert.ToInt32(readfl.ReadLine());
k++;
}
//вывод массива на экран
for(int i=0;i Console.WriteLine(massiv[i]);
Console.ReadKey();
readfl.Close(); //закрытие файла
//создание нового файла
writefl=File.CreateText(@"d:\без нулей.txt");
//запись чисел в новый файл
for (int i = 0; i < k; i++)
if (massiv[i] != 0) writefl.WriteLine(massiv[i]);
writefl.Close(); //закрытие файла
}
}
}
Код программы//чтение чисел из файла в массивwhile (readfl.EndOfStream == false)      {

Слайд 33Примеры
Новый файл “без нулей.txt”будет иметь вид:

ПримерыНовый файл “без нулей.txt”будет иметь вид:

Слайд 34Примеры
В приведенном выше примере заранее оговаривается максимальное количество чисел в

файле(не более 20), т.к. требуется зарезервировать место для элементов массива.
Кроме

этого, в файле каждое число располагалось в отдельной строке.



ПримерыВ приведенном выше примере заранее оговаривается максимальное количество чисел в файле(не более 20), т.к. требуется зарезервировать место

Слайд 35Задание 2
Дан файл “перечисление.txt”, содержащий числа, записанные в строке и

разделенные друг от друга запятой. Требуется считать числа из файла

и вывести их на экран.



Задание 2Дан файл “перечисление.txt”, содержащий числа, записанные в строке и разделенные друг от друга запятой. Требуется считать

Слайд 36Код программы
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
namespace ConsoleApplication1
{ class

Program
{
static void

Main(string[] args)
{ StreamReader readfl;// поток для считывания данных
string stroka;//строка, куда будут считываться данные
//проверка, существует ли данный файл
if (File.Exists(@"d:\перечисление.txt"))
readfl = new StreamReader(@"d:\перечисление.txt");
else
{ Console.WriteLine("файла нет");
Console.ReadKey();
return; }

Код программыusing System;using System.Collections.Generic;using System.Linq;using System.Text;using System.IO;namespace ConsoleApplication1{  class Program  {

Слайд 37Код программы
stroka = readfl.ReadLine();//считывание данных в строку

//получение массива строк, разделенных

запятой
string[] chisla=stroka.Split(',');

//объявление массива чисел

такого же размера, как массив строк
int[] massiv=new int[chisla.Length];
// записи элементов из массива строк в числовой массив
for (int i = 0; i < chisla.Length; i++)
massiv[i] = Convert.ToInt32(chisla[i]);
//вывод числового массива на экран
for (int i = 0; i < chisla.Length; i++)
Console.WriteLine(massiv[i]);
Console.ReadKey();
readfl.Close();
}
}
}


Код программыstroka = readfl.ReadLine();//считывание данных в строку//получение массива строк, разделенных запятой      string[]

Слайд 38Примеры
Результат вывода массива на экран



ПримерыРезультат вывода массива на экран

Слайд 39Примеры
Ранее рассматривались примеры, в которых использовались классы StreamWriter и StreamReader.
Иногда

проще работать со всем файлом, как целым, используя класс File.



ПримерыРанее рассматривались примеры, в которых использовались классы StreamWriter и StreamReader.Иногда проще работать со всем файлом, как целым,

Слайд 40Задание 4
Дан файл”строки.txt”, содержащий набор строк. Получить новый файл “сортировка.txt”,

в котором эти строки будут отсортированы по алфавиту.



Задание 4Дан файл”строки.txt”, содержащий набор строк. Получить новый файл “сортировка.txt”, в котором эти строки будут отсортированы по

Слайд 41Код программы
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
namespace ConsoleApplication2
{ class

Program
{ static void Main(string[] args)

{string[] strmas ;//объявление массива строк
//проверка, еслит файл существует, то …
if (File.Exists(@"d:\строки.txt"))
{ //считывание данных в массив сторк
strmas = File.ReadAllLines(@"d:\строки.txt");
//сортировка массива
Array.Sort(strmas);
//запись массива в файл
File.WriteAllLines(@"d:\сортировка.txt", strmas);
}
}
}
}
Код программыusing System;using System.Collections.Generic;using System.Linq;using System.Text;using System.IO;namespace ConsoleApplication2{  class Program  { static void Main(string[] args)

Слайд 42Примеры
Результат выполнения программы



ПримерыРезультат выполнения программы

Обратная связь

Если не удалось найти и скачать доклад-презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


Для правообладателей

Яндекс.Метрика