-3

ネット。私は疑問を持っています。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)
        {....}

ブロックされていない日付に対してのみ機能します。変数で試した特定の日はブロックされていたため、機能していませんでした。今、これに対する解決策を提案してください。必要なのは、日付 (ブロックされているかブロックされていないか) をクリックすることだけで、イベントを実行する必要があります。どのイベントを使用すればよいですか??

4

2 に答える 2

2

単純な変数を使用します。

 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);

等々。もちろん、コードとシステムに応じて読みやすい適切な名前を使用してください

于 2012-08-10T17:11:58.887 に答える
0

さらに、適切なプロパティを持つ書籍のクラスを XML タグとして定義できると思います。例えば ​​:

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

XMLファイルを読むときはとても簡単です。さらに、XML ファイルを実行して独自のツリー データ構造を構築すると便利です。

于 2012-08-10T17:17:30.997 に答える