c# - 使用委托(delegate)的条件赋值

标签 c# delegates anonymous-methods

我想分配给这样的数据表。

如果数据表为空,则创建一个新数据表,否则清除数据表

我写的代码

datatable= (datatable== null) ? 
   new DataTable() :  
  delegate(){datatable.Clear(); return datatable;});

使用委托(delegate)或匿名方法如何实现?尽可能使用最短的代码。

最佳答案

好吧,您可以使用委托(delegate),但我真的不会。我只是使用:

if (dataTable == null)
{
    dataTable = new DataTable();
}
else
{
    dataTable.Clear();
}

就它在做什么而言,这要清楚得多,IMO。

这是委托(delegate)版本的所有丑陋:
dataTable = dataTable == null ? new DataTable() :
    ((Func<DataTable>)(() => { dataTable.Clear(); return dataTable; }))();

关于c# - 使用委托(delegate)的条件赋值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6662148/

相关文章:

c# - 如何在 FormsAuthentication cookie 中存储附加数据?

C# : Using hashtables to store two of the same value. 这可能吗?

ios - 从子类 setDelegate 设置父类(super class)委托(delegate)

delphi - 匿名方法在幕后是如何实现的?

c# - 如何将 ValueTuple 命名功能与匿名方法一起使用?

c# - 如何避免 "dynamic"事件订阅中的匿名方法?

c# - 字符串操作的更好选择 - .NET

C# 线程模式 - 这是个好主意吗?

ios - TableViewCell 和 TableViewController 中 UIStepper 的委托(delegate)错误

c# - 在 C# 中访问委托(delegate)中的类成员