C# 3.0 使用lambda+;C#3.0
我正在尝试以下几点C# 3.0 使用lambda+;C#3.0,c#-3.0,C# 3.0,我正在尝试以下几点 foreach (DataRow dr in dt.Rows) { if (dr["TABLE_NAME"].ToString().Contains(sheetName)) { tableName = dr["TABLE_NAME"].ToString()
foreach (DataRow dr in dt.Rows)
{
if (dr["TABLE_NAME"].ToString().Contains(sheetName))
{
tableName = dr["TABLE_NAME"].ToString();
}
}
通过使用lambda-like
string tableName = "";
DataTableExtensions.AsEnumerable(dt).ToList().ForEach(i =>
{
tableName = i["TABLE_NAME"].ToString().Contains(sheetName);
}
);
但获取编译时错误“不能隐式bool到string”。那么,如何实现同样的目标呢
谢谢(C#3.0)
tableName
是string
和Contains()
返回bool
所以这个错误是因为
tableName = i["TABLE_NAME"].ToString().Contains(sheetName);
您可以做的是(但我认为在linq中有更好的选项)
祝你好运
string tableName = "";
DataTableExtensions.AsEnumerable(dt).ToList().ForEach(i =>
{
var s = i["TABLE_NAME"];
if(s.ToString().Contains(sheetName))
tableName = s;
}
);