2016-03-28 4 views
2

Ich habe einen DataTable dtSuche Anzahl der "false" aus einer Datentabelle mit Linq C#

-------------------------------- 
col1 | col2 | col3 | col4 | col5 
-------------------------------- 
true | false|false|true |false 
false| true |false|false|false 
true | false|false|true |false 
false| false|false|true |false 

Ich möchte Linq verwenden und holen Anzahl der "false" in col1.

**** Wo falsch ist Zeichenfolge ***

+1

@Plutonix Noch schlimmer ist, dass die doppelte Frage vom selben Benutzer stammt. Ich habe auf die Aufmerksamkeit des Moderators hingewiesen. – krillgar

+0

Ich weiß das. Es ist nicht wirklich ein Moderatorproblem. Jemand mit einem goldenen C# -Abzeichen wird es sehen und es bald schließen. @ Krillgar – Plutonix

+0

Hallo @ Krillgar und Plutonix diese Frage ist anders als dieses Mal habe ich Linq verwenden, auch lesen Sie bitte meine letzte Frage, es war sehr unterschiedlich von diesem. Hoffe, ich habe meine Frage erklärt, wenn Sie es nicht klar finden, bitte bearbeiten Sie dies. –

Antwort

1

Sie können auch diese mit Linq tun:

int count = from myRow in dt.AsEnumerable() 
    .Where(r => r.Field<string>("col1") == "false") 
    .Count(); 

Oder auch:

int count = from myRow in dt.AsEnumerable() 
    .Count(r => r.Field<string>("col1") == "false"); 
+0

Danke @octavioccI –

+0

du bist willkommen mein Freund, froh, ich könnte helfen;) – octavioccl

+0

ich bekomme null Zeiger Ausnahme, wenn eine Spalte leer ist, ich meine, es gibt keinen Wert. Wie setzt man den Null-Check? –

1

Try this:

int count = dt.Rows.Cast<DataRow>().Count(r => !bool.Parse(r["col1"] as string)); 

Wenn Sie nicht wollen, die Saiten analysieren:

int count = dt.Rows.Cast<DataRow>().Count(r => r["col1"] == "false"); 
0

Versuch:

int count = dt.AsEnumerable().Count(c => c["col1"].ToString() == "false"); 

stellen Sie sicher, dass Sieverwenden

0

Sie dieses

var count = dt.AsEnumerable() 
    .Select(row => row.Field<bool>("col1"))   
    .Count(c => !c); 

oder (wenn Spaltentyp ist string)

tun könnte
var count = dt.AsEnumerable() 
    .Select(row => row.Field<string>("col1"))   
    .Count(c => c == "false"); 

Arbeiten Code

Verwandte Themen