Сегодня речь пойдет о некоторых интересных аспектах языка программирования C#, которые могут сильно помочь Вам, и о которых возможно Вы не знали. Некоторые описанные вещи, будут работать не только в языке C#, но еще и в некоторых других языках.
1) Цикл по всем элементам.
int[] Mas = { 0, 1, 2, 3 }; foreach (int i in Mas) { MessageBox.Show(i.ToString()); //0, 1, 2 ... }
2) Прочитать весь файл по строкам.
string data = String.Empty; StreamReader sr = new StreamReader("file.txt"); while ((data = sr.ReadLine()) != null) { MessageBox.Show(data); }
3) Локальные переменные в цикле.
for (int i = 0, j = 0; i < 5; ++i, j += 2) { MessageBox.Show(j.ToString()); //0 2 4 ... }
4) Вторая форма записи оператора «if».
int a = 0; int b; if (a == 0) { b = 1; } else { b = 0; } //////// int c = 0; int d = (c == 0 ? 1 : 0); //c = 1
5) Строка без двойных слешей.
string a = "folder1\\folder2\\folder3"; string b = @"folder1\folder2\folder3"; // (a == b) = true
6) Текст с новой строки в TextBox.
textBox.Text = "Line 1"; textBox.Text += "\r\n"; textBox.Text += "Line 2";
7) Вернуть в родительскую форму DialogResult.
private void button1_Click(object sender, EventArgs e) { this.DialogResult = DialogResult.Yes; //При этом форма закроется }
8 ) Смена значения bool на противоположное.
bool a = true; a = !a; //false;
9) Работа с элементами формы в потоке.
void ThreadFunction() { this.Invoke(new ThreadStart(delegate() { this.textBox.Text += "new Line\r\n"; })); Thread.Sleep(1000); }
10) Принудительный сбор мусора.
GC.Collect();