Я хотел бы узнать, какие все удобные функции С# и как они отображаются на С#.
Например, автоматические свойства:
public string Foo { get; set; }
... отображает примерно следующее:
string <Foo>k__BackingField;
[CompilerGenerated]
public string Foo {
get { return this.<Foo>k__BackingField; }
set { this.<Foo>k__BackingField = value; }
}
Циклы forach:
foreach(char c in "Hello") {
Console.WriteLine(c);
}
... отображает что-то вроде этого (я думаю):
CharEnumerator en;
try {
en = "Hello".GetEnumerator();
while (en.MoveNext()) {
char c = en.Current;
Console.WriteLine(c);
}
} finally {
IDisposable disp = en as IDisposable;
if (disp != null)
disp.Dispose();
}
Утилизация счетчика делает foreach
очень полезным при работе с неуправляемыми ресурсами, такими как циклическое перемещение строк в файле или записи в базе данных.
Я думаю, что хорошее понимание этих функций высокого уровня может помочь нам написать лучший код. Каковы другие удобные функции С# и как они отображаются на С#?