【发布时间】:2016-02-25 21:49:05
【问题描述】:
我正在尝试将数据表转换为包含字符串和对象的字典,该对象通过方法返回
public class myObj
{
public string Sid { get; set; }
public string Serial { get; set; }
public Double RunTime { get; set; }
public string Username { get; set; }
public string LogonTime { get; set; }
public string SqlText { get; set; }
public string Database { get; set; }
public bool Terminated { get; set; }
public myObj Obj(DataRow row)
{
myObj Session = new myObj();
myObj.Sid = row["SID"].ToString();
myObj.Serial = row["SERIAL#"].ToString();
myObj.Username = row["USERNAME"].ToString();
myObj.RunTime = Convert.ToDouble(row["RUN_TIME"].ToString());
myObj.LogonTime = row["LOGON_TIME"].ToString();
myObj.SqlText = row["SQL_FULLTEXT"].ToString();
myObj.Database = row["DATABASE"].ToString();
return Session ;
}
}
Dictionary<string, Dictionary<string,myObj >> result = table.AsEnumerable().ToDictionary(row => row["USERNAME"].ToString() + "|" + row["SQL_FULLTEXT"].ToString(), row =>(这里我需要引用 Obj(Datarow row) 方法并传递行来获取返回的对象,以便有一个字典与
我想通过 Lambda 表达式来做到这一点。我能够通过使用 Dictionary.Add 循环来做到这一点
【问题讨论】:
-
为什么 Obj() 方法不是静态的和/或只是构造方法?也不确定您发布的语法。我看不出它是如何编译的,因为您在 myObj 而不是 Session 上设置属性。
-
您的回答帮助我解决了我的问题。
标签: c# dictionary lambda