Строки (класс StringBuilder)
Класс StringBuilder принадлежит пространству имен System.Text Этот класс работает быстрее, чем класс String, так как при изменении строки, созданной как экземпляр класса String, у нас создается каждый раз новый экземпляр класса, а старый уничтожается, при использовании же класса StringBuilder расходов на создание-уничтожение экземпляра класса нет - мы работаем всегда с одним экземпляром. Обратите внимание, что для этого класса мы не можем использовать простое присваивание: StringBuilder s="abc"; //Неправильно!В этом случае мы должны действовать так: StringBuilder s=new StringBuilder("abc"); //ПравильноУ класса StringBuilder нет статических методов. Все его методы - динамические. Ниже перечислены основные свойства и методы класса StringBuilder: Свойство Length. Возвращает длину строки. Пример использования: int k=s.Length;Свойство только для чтения MaxCapacity. Дает максимальное количество символов, которые можно записать в объект типа StringBuilder. Пример использования: lblResult.Text=s.MaxCapacity;Метод Append. Прибавляет строку к существующей. Пример использования: StringBuilder s1=new StringBuilder("Cogito "); StringBuilder s2=new StringBuilder("ergo "); s1.Append(s2); s1.Append("sum"); lblResult.Text=s1; //Напечатается "Cogito ergo sum"Метод Equals. Служит для сравнения двух строк. Возвращает true или false. Пример использования: if(s1.Equals(s2)) lblResult.Text="Строки равны"; else lblResult.Text="Строки не равны";Метод Insert. Вставляет символы в заданную позицию (Нумерация идет с нуля). Пример использования: StringBuilder s1=new StringBuilder("abcde"); s1.Insert(2, "xyz"); lblResult.Text=s1; //Напечатается "abxyzcde"Метод Remove. Удаляет символы из строки. Пример использования: StringBuilder s1=new StringBuilder("abcde"); s1.Remove(1, 2); lblResult.Text=s1; //Напечатается "ade"Первый параметр у Remove - это с какой позиции удаляем (нумерация с нуля), второй - сколько символов удаляем.
Метод Replace. Заменяет символы. Пример использования: StringBuilder s=new StringBuilder("abcdeabcde"); s.Replace("abc", "ZZZ"); lblResult.Text=s; //Напечатается "ZZZdeZZZde"Проект «Количество символов»
namespace PrString { public partial class frmString: Form { public frmString() { InitializeComponent(); }
private void btnExit_Click(object sender, EventArgs e) { Close(); }
private void btnRun_Click(object sender, EventArgs e) { int k=0; String S = txtSymbol.Text; String Text = rtbText.Text; for (int i = 0; i < Text.Length; i++) if (String.Equals(Text.Substring(i, 1), S)) k++; lblResult.Text = "K= " + Convert.ToString(k);
} } }
Проект «Количество слов»
namespace PrKolSlov { public partial class frmKolSlov: Form { public frmKolSlov() { InitializeComponent(); }
private void btnExit_Click(object sender, EventArgs e) { Close(); }
private void btnRun_Click(object sender, EventArgs e) { String Slovo="", Text = rtbText.Text; int k=0; lstSlova.Items.Clear(); for (int j=0;j<Text.Length;j++) { String S=Text.Substring(j,1); if (!((S==" ")||(S==",")||(S==".")||(S=="!"))) Slovo+=S; else if (!(Slovo=="")) { k++; lstSlova.Items.Add(Slovo); Slovo=""; } } lblResult.Text = "Количество слов равно " + Convert.ToString(k); } } } РАБОТА С ФАЙЛАМИ
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.IO; //Поключение библиотеки работы с файлами using System.Windows.Forms;
namespace PrFile { public partial class frmFile: Form { int[] X = new int[30000]; //Объявление массива X int[] Y = new int[30000]; //Объявление массива Y int N=0; // Размер массива public frmFile() { InitializeComponent(); }
private void btnExit_Click(object sender, EventArgs e) { Close(); }
private void btnLoad_Click(object sender, EventArgs e) { N=0; string path = @"input.txt"; // имя файла, символ @ для игнорирования слэша FileInfo fileinfo = new FileInfo(path); // объявляем новый экземпляр файла lstMassiv.Items.Clear(); // очистка ListBox using (StreamReader streamreader = fileinfo.OpenText()) // Открываем файл для чтения { String sText = ""; // Строка текста в файле String p = " "; // Разделитель чисел (пробел) while ((sText = streamreader.ReadLine())!= null) //Цикл до тех пор, пока строки не пустые { int InProbel = sText.IndexOf(p); // Определяем место расположения символа p (пробела)
X[N] = Convert.ToUInt16(sText.Substring(0, InProbel)); // Координата X от начала строки до пробела Y[N] = Convert.ToUInt16(sText.Substring(InProbel + 1, sText.Length - InProbel - 1)); // Координата Y после пробела до конца строки lstMassiv.Items.Add(Convert.ToString(X[N]) + " " + Convert.ToString(Y[N])); // Запись в ListBox для контроля N++; //Увеличение счетчика на 1 } } }
private void btnSave_Click(object sender, EventArgs e) { string path = @"output.txt"; // имя файла, символ @ для игнорирования слэша FileInfo fileinfo = new FileInfo(path); // объявляем новый экземпляр файла using (StreamWriter streamwriter = fileinfo.CreateText()) // Открываем файл для записи { for (int I = 0; I < N; I++) // Цикл streamwriter.WriteLine(Convert.ToString(X[I]) + " " + Convert.ToString(Y[I])); // Запись строки в файл }
} } Анимация
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms;
namespace PrAnimal { public partial class frmAnimal: Form { Graphics picGraf; double X0, Y0, X, Y, R=100,A=0, AR; public frmAnimal() { InitializeComponent(); }
private void btnExit_Click(object sender, EventArgs e) { Close(); }
private void frmAnimal_Load(object sender, EventArgs e) { picGraf = picAnimal.CreateGraphics(); X0=picAnimal.Width/2; Y0=picAnimal.Height/2; }
private void btnClear_Click(object sender, EventArgs e) { SolidBrush greenBrush = new SolidBrush(Color.Green); picGraf.FillRectangle(greenBrush, 0, 0, picAnimal.Width, picAnimal.Height); }
private void btnPusk_Click(object sender, EventArgs e) { if (timBudilnik.Enabled) { timBudilnik.Enabled = false; btnPusk.Text = "Пуск"; } else { timBudilnik.Enabled = true; btnPusk.Text = "Стоп"; } }
private void timBudilnik_Tick(object sender, EventArgs e) { A++; AR = A * Math.PI/180; X = X0 + R * Math.Cos(AR); Y = Y0 - R * Math.Sin(AR); picAnimal.Location = new Point((int)X, (int)Y); }
private void picAnimal_Paint(object sender, PaintEventArgs e) { System.Drawing.Drawing2D.GraphicsPath shape = new System.Drawing.Drawing2D.GraphicsPath(); Point[] Makushka = { new Point(20, 0), new Point(5, 15), new Point(35, 15)}; shape.AddPolygon(Makushka); Point[] Vetka = { new Point(20, 15), new Point(0, 35), new Point(40, 35)}; shape.AddPolygon(Vetka); Point[] Penek = { new Point(15, 35), new Point(25, 35), new Point(25, 40), new Point(15, 40)}; shape.AddPolygon(Penek); this.picAnimal.Region = new System.Drawing.Region(shape); } } }
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|