2016-04-01 6 views
4

Ich ziehe Daten aus einer SQL-Datenbank, ich fülle fehlende Daten, die leer oder fehlt mit der folgenden Anweisung.Wie vergleiche ich einen Zeichenfolgewert in C#

string.Join(
    ",", 
    from 
     r in siteData.Rows.OfType<DataRow>() 
    select 
     r[28] == DBNull.Value ? "null" : r[28]); 

Ich möchte auch einen Wert von -9999 durch einen leeren Wert ersetzen.

+0

Check-out MSDN https: //msdn.microsoft.com/en-us/library/fk49wtc1(v=vs.110).aspx – wudzik

Antwort

6

In SQL verwenden CASE WHEN:

SELECT 
    CASE WHEN someValue = -9999 THEN '' ELSE someValue END AS colName 

In Linq einfach Ihre ternären ändern:

siteData.Rows.OfType<DataRow>().Select(r => r[28] == DBNull.Value || r[28] == -9999 ? "" : r[28]) 
0

Sie können es auf diese Weise tun:

string.Join(
    ",", 
    from 
     r in siteData.Rows.OfType<DataRow>() 
    select 
     string.IsNullOrEmpty((string)r[28]) ? "null" : r[28]);