我有一个LINQ查询,想要选择并读取p.Api
的值。
var api = DataAccessNew.Instance.dcServers.Where(p => p.Ip == IpAddress).Select(p => p.Api);
如何读取 p.Api
的值?
我尝试了 api.ToString()
,但是我得到的是 SQL 而不是实际列的值。
IEnumerable<>
(并且您的 ToString
调用将显示该表达式的值)。var api = DataAccessNew.Instance.dcServers
.Where(p => p.Ip == IpAddress)
.Select(p => p.Api)
.Single();
SingleOrDefault
, First
, FirstOrDefault
。你使用哪个取决于你是否期望返回单个或多个值(Single vs. First),以及如果没有值,你想要发生什么(*Default方法将返回类型的默认值而不是抛出异常)。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();
您的语法似乎没问题...
顺便试试这个
string api =DataAccessNew.Instance.dcServers.Where(p => p.Ip == IpAddress).Select(p => p.Api).FirstOrDefault();
p.Ip
是唯一键,您可以尝试在Linq
查询之后添加.FirstOrDefault()
。
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;
}