可空类型
/// <summary>
/// 可空类型示例
/// </summary>
public class NullableUsage
{
// 针对值类型的可空类型
Nullable<DateTime> dt = null;
DateTime? dt2 = null;
public int test()
{
// ??分配默认值
int? x = null;
int y = x ?? -1;
return y;
}
}
NullableUsage nullable = new NullableUsage();
this.textBox1.Text = nullable.test().ToString();
/// 可空类型示例
/// </summary>
public class NullableUsage
{
// 针对值类型的可空类型
Nullable<DateTime> dt = null;
DateTime? dt2 = null;
public int test()
{
// ??分配默认值
int? x = null;
int y = x ?? -1;
return y;
}
}
NullableUsage nullable = new NullableUsage();
this.textBox1.Text = nullable.test().ToString();
匿名方法
private void AnonymousMethodTest()
{
Button btn = new Button();
btn.Location = new System.Drawing.Point(343, 69);
btn.Name = "btn";
btn.Size = new System.Drawing.Size(116, 25);
btn.TabIndex = 3;
btn.Text = "AnonymousMethod";
btn.Text = "按钮";
// 一般方法
btn.Click += new EventHandler(btn_Click);
// 省略掉委托类型
btn.Click += btn_Click2;
// 不带参数的匿名方法
btn.Click += delegate { Debug.WriteLine("按钮被单击(不带参数的匿名方法)<br />"); };
// 带参数的匿名方法(参数数量和类型要一致)
btn.Click += delegate(object obj, EventArgs er) { Debug.WriteLine("按钮被单击(带参数的匿名方法)<br />"); };
this.Controls.Add(btn);
}
void btn_Click(object sender, EventArgs e)
{
Debug.WriteLine("按钮被单击<br />");
}
void btn_Click2(object sender, EventArgs e)
{
Debug.WriteLine("按钮被单击(省略掉委托类型)<br />");
}
{
Button btn = new Button();
btn.Location = new System.Drawing.Point(343, 69);
btn.Name = "btn";
btn.Size = new System.Drawing.Size(116, 25);
btn.TabIndex = 3;
btn.Text = "AnonymousMethod";
btn.Text = "按钮";
// 一般方法
btn.Click += new EventHandler(btn_Click);
// 省略掉委托类型
btn.Click += btn_Click2;
// 不带参数的匿名方法
btn.Click += delegate { Debug.WriteLine("按钮被单击(不带参数的匿名方法)<br />"); };
// 带参数的匿名方法(参数数量和类型要一致)
btn.Click += delegate(object obj, EventArgs er) { Debug.WriteLine("按钮被单击(带参数的匿名方法)<br />"); };
this.Controls.Add(btn);
}
void btn_Click(object sender, EventArgs e)
{
Debug.WriteLine("按钮被单击<br />");
}
void btn_Click2(object sender, EventArgs e)
{
Debug.WriteLine("按钮被单击(省略掉委托类型)<br />");
}