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
在LINQ中使用参数_Linq_C# 4.0 - Fatal编程技术网

在LINQ中使用参数

在LINQ中使用参数,linq,c#-4.0,Linq,C# 4.0,净。我有一个疑问。如何在LINQ查询的where子句中引入用户定义的变量作为参数。我正在查询一个XML文件。这是我的密码 XElement books = XElement.Load(@"Friends.xml"); var titles = from book in books.Elements("Friend") where (string)book.Element("Date") == "27" && (string)book.Element("Mon

净。我有一个疑问。如何在LINQ查询的where子句中引入用户定义的变量作为参数。我正在查询一个XML文件。这是我的密码

    XElement books = XElement.Load(@"Friends.xml");

var titles =
   from book in books.Elements("Friend")
   where (string)book.Element("Date") == "27" && (string)book.Element("Month") == "05"
   select book.Element("Name");

foreach (var title in titles)
   Console.WriteLine(title.Value);
我不想对值
27
05
进行编码,而是想使用变量。如何使用它们

对不起,这个愚蠢的问题,我误解了这个问题。实际上,我在日历中屏蔽某些日期。现在使用

private void calendar1_SelectedDatesChanged(object sender, SelectionChangedEventArgs e)
        {....}
仅适用于非阻止日期。因为我尝试使用变量的某一天是阻塞的,所以它不起作用。现在请给我一个解决方案。我只需要点击一个日期(被阻止或未被阻止),我就必须运行一个事件。我应该使用哪个事件???

使用简单变量:

 XElement books = XElement.Load(@"Friends.xml");
string yourDate = "27";
string yourMonth = "05";

var titles =
   from book in books.Elements("Friend")
   where (string)book.Element("Date") == yourDate  && (string)book.Element("Month") == yourMonth
   select book.Element("Name");

foreach (var title in titles)
   Console.WriteLine(title.Value);

等等。当然,根据您的代码和系统使用可读的好名称。此外,我认为您可以将一类具有适当属性的书籍定义为XML标记。例如:

class Book {
  string Date {...} //
}

读取XML文件时可能会非常简单。此外,如果您构建自己的执行XML文件的树数据结构,这会很好。

真的吗?你试过使用变量吗?你的编辑是一个完全不同的问题;你应该就此提出另一个问题(并将原件留在这里)