Сегодня речь пойдет о некоторых интересных аспектах языка программирования 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();