2017-03-28 3 views
2

Ich brauche Bool Typ aus einem Feld zurückzugeben, die 1 oder 0C# XElement Linq, return bool

<auto>1</auto> 

-Code

public bool GetBooksAuto() 
    { 
     return (bool)xd.Elements("root").Elements("books").Elements("auto") 
      .Select(x => x) 
      .Any(); 
    } 

enthält in einer Rücklaufleitung geschrieben Kann oder soll ich Strings testen für 1 und 0. Danke!

+0

Dies ist bereits ein oneliner .. Ich verstehe deine Frage nicht –

Antwort

4

Wenn Sie möchten, um zu überprüfen, ob ein auto Elemente Wert hat 1:

xd.Elements("root").Elements("books").Elements("auto") 
    .Select(a => (int)a == 1) // here you get true if value is 1 and false if 0 
    .Any() 

Sie können direkt gestellt Zustand in Any Betreiber:

xd.Elements("root").Elements("books").Elements("auto").Any(a => (int)a == 1) 
+1

danke! Das ist genau, nach dem ich gesucht habe. – orfruit

1
return xd.Elements("root").Elements("books").Elements("auto") 
         .FirstOrDefault() != null;