Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
5fan_ru_Уровни языков программирования. Язык C#...doc
Скачиваний:
4
Добавлен:
01.07.2025
Размер:
352 Кб
Скачать
☆

Структуры

Еще одним важным типом переменной, который широко используется в C#, является struct (сокращение от слова structure — "структура"). Структуры вполне соответствуют своему названию: это структуры данных, которые составлены из информации различного характера, возможно, из данных различных типов. Они позволяют программистам описывать свои собственные типы переменных, для которых данная структура является базовой.

struct point

{

public double x;

public double y;

}

Работа с текстовыми файлами

Текстовые файлы содержат символьную информацию, но, как и двоичные, тоже состоят из байтов. Поэтому потоки FileStream, BinaryWriter и BinaryReader можно использовать для записи в файлы и чтения из файлов текстовых строк, но лучше применять специально предназначенные для этого средства. Речь идет о потоках классов StreamWriter и StreamReader. Эти потоки чрезвычайно просты в использовании и удобны для работы с текстовыми файлами.

Основные приемы использования потоков StreamWriter и StreamReader демонстрируются в программе, исходный текст которой приведен ниже:

using System;

using System.IO;

namespace TextFile

{

class Program

{

static string testFile = "mydata.txt";

static void Main(string[] args)

{

if (File.Exists(testFile))

{

Console.WriteLine("Файл {0} уже существует", testFile);

Console.ReadLine();

return;

}

StreamWriter sw = File.CreateText(testFile);

sw.WriteLine("Каждый охотник желает знать, где сидит фазан!");

sw.WriteLine("Число \"Пи\" равно примерно {0}.", 3.1415926);

sw.Close();

StreamReader sr = File.OpenText(testFile);

while (true)

{

string str = sr.ReadLine();

if (str == null)

break;

Console.WriteLine(str);

}

sr.Close();

Console.WriteLine("Файл успешно создан");

Console.ReadLine();

}

}

}

Работа с двоичными файлами

Программа Binary демонстрирует некоторые приемы работы с двоичными файлами при помощи классов FileStream, BinaryWriter и BinaryReader.

using System;

using System.IO;

namespace Binary

{

class Program

{

static string testFile = "mydata.dat";

static void Main(string[] args)

{

if(File.Exists(testFile))

{

Console.WriteLine("Файл {0} уже существует", testFile);

Console.ReadLine();

return;

}

FileStream fs = new FileStream(testFile, FileMode.CreateNew);

BinaryWriter bw = new BinaryWriter(fs);

bw.Write("Text string");

for(uint i = 0; i < 20; i++)

{

bw.Write(i);

}

bw.Close();

fs.Close();

fs = new FileStream(testFile, FileMode.Open, FileAccess.Read);

BinaryReader br = new BinaryReader(fs);

string s = br.ReadString();

Console.WriteLine(s);

for (uint i = 0; i < 20; i++)

{

Console.Write("{0} ", br.ReadUInt32());

}

br.Close();

fs.Close();

Console.WriteLine("\nФайл успешно создан");

Console.ReadLine();

}

}

}