LINQ读取选择值
我有一个LINQ查询,我想在其中选择并读取LINQ读取选择值,linq,c#-4.0,Linq,C# 4.0,我有一个LINQ查询,我想在其中选择并读取p.Api值 var api = DataAccessNew.Instance.dcServers.Where(p => p.Ip == IpAddress).Select(p => p.Api); 如何读取p.Api值 我尝试了api.ToString(),但是我得到的是SQL而不是实际的列值。您的syntex似乎还可以 顺便说一下,试试这个 string api =DataAccessNew.Instance.dcServers.Wh
p.Api
值
var api = DataAccessNew.Instance.dcServers.Where(p => p.Ip == IpAddress).Select(p => p.Api);
如何读取p.Api
值
我尝试了api.ToString()
,但是我得到的是SQL而不是实际的列值。您的syntex似乎还可以
顺便说一下,试试这个
string api =DataAccessNew.Instance.dcServers.Where(p => p.Ip == IpAddress).Select(p => p.Api).FirstOrDefault();
您将返回一个
IEnumerable
(您的ToString
调用将向您显示该表达式的值)
如果需要单个值,请执行以下操作:
var api = DataAccessNew.Instance.dcServers
.Where(p => p.Ip == IpAddress)
.Select(p => p.Api)
.Single();
您可能有兴趣阅读其他方法,如Single():SingleOrDefault
,First
,FirstOrDefault
。使用哪种方法取决于您希望返回的是单个值还是多个值(单个值还是第一个值),以及如果没有值,您希望发生什么(默认方法将返回默认类型,而不是引发异常)
或者,如果要查看所有返回的值:
var api = DataAccessNew.Instance.dcServers
.Where(p => p.Ip == IpAddress)
.Select(p => p.Api);
foreach (var apiValue in api)
{
// apiValue will have the value you're looking for.
}
请尝试以下代码片段:
string apiValue = api.FirstOrDefault().ToString();
如果
p.Ip
是表中的唯一键,则可以尝试在Linq
查询之后添加.FirstOrDefault()
。公共字符串getselectedvalue(列表框l)
public string getselectedvalue(ListBox l)
{
string vtext="",vval="";
var selectedQueryText = l.Items.Cast<ListItem>().Where(item => item.Selected);
var selectedQueryVal = l.Items.Cast<ListItem>().Where(item => item.Selected).Select(item => item.Value);
vtext= String.Join("','", selectedQueryText ).TrimEnd();
vval= String.Join("','", selectedQueryVal ).TrimEnd();
return v;
}
{
字符串vtext=“”,vval=“”;
var selectedQueryText=l.Items.Cast()。其中(item=>item.Selected);
var selectedQueryVal=l.Items.Cast().Where(item=>item.Selected)。Select(item=>item.Value);
vtext=String.Join(“,”,selectedQueryText.TrimEnd();
vval=String.Join(“,”,selectedQueryVal.TrimEnd();
返回v;
}
虽然这个代码片段可以解决这个问题,但它确实有助于提高文章的质量。请记住,您将在将来回答读者的问题,这些人可能不知道您的代码建议的原因。