Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
LINQ读取选择值_Linq_C# 4.0 - Fatal编程技术网

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

我有一个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.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; }
虽然这个代码片段可以解决这个问题,但它确实有助于提高文章的质量。请记住,您将在将来回答读者的问题,这些人可能不知道您的代码建议的原因。