我有下表
public class QTable
{
public string QID { get; set; }
public string QNO { get; set; }
public string Q1 { get; set; }
public string Q2 { get; set; }
public string opt1 { get; set; }
public string opt2 { get; set; }
public string opt3 { get; set; }
public string opt4 { get; set; }
public string Answer { get; set; }
public string Remarks { get; set; }
public string KnowledgeArea { get; set; }
public string Hints { get; set; }
public string Section { get; set; }
public string ToughLevel { get; set; }
public string DateCreated { get; set; }
public string Category { get; set; }
public string DeleteMe { get; set; }
}
QID is my primary key.
我有
List<Qtable> qtableList = <list of all values of qtable from a query>
我需要找到一个特定的QID并采取其他字段进行操作。 是否存在类似于结构的SQL语句来处理列表中的这些内容?
答案 0 :(得分:4)
您可以使用获取所需的项目
Qtable item = qtableList.FirstOrDefault(x=>x.QID == id);
请注意,如果列表中不存在QID并且您尝试访问其中一个属性,则“对象”引用不是对象例外的实例&#39;将被抛出,因为您正在尝试访问空对象。
为了防止这种情况,请在访问之前检查返回值是否为null,并修改所需的属性。
答案 1 :(得分:3)
在C#中,最好的sql ike方法只是简单地使用linq,它可以处理这种请求。
基本语法是:
var query = from qt in qtableList
where qt.QID == "1"
select qt;
这基本上是返回数据的第一个pk元素。
插入,更新和其他基本的SQL操作也可以。
有关此内容的更多信息: https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/concepts/linq/basic-linq-query-operations