2015-12-21 120 views
-3

在我們的模板之一報表打印有如下代碼:測試值拳頭字符 - C#

if (!string.IsNullOrEmpty(assetModel.Belongings)) 
{ 
    description = string.Format("{0}{1}{2}", 
     description, 
     string.IsNullOrEmpty(description) ? "" : ", ", 
     assetModel.Belongings); 
} 

我想測試財物場的第一個字符。如果它不是一個「」那麼上面的代碼應該使用,但如果它是一個「」代碼應該是這樣的:

if (!string.IsNullOrEmpty(assetModel.Belongings)) 
{ 
    description = string.Format("{0}{1}{2}", 
     description, 
     string.IsNullOrEmpty(description) ? "" : "", 
     assetModel.Belongings); 
} 

請幫幫忙,我如何測試的第一個字符的這個值?

+3

可以使用[String.StartsWith](https://msdn.microsoft.com/en-us/library/baketfxw(V = VS .110).aspx) – bansi

回答

3

StartsWith方法是自我解釋:

if (description.StarstWith(",")) 
{ 
    //... 
} 
+0

謝謝,這是我正在尋找的解決方案,這是結果。對不起,無法以正確的方式顯示代碼。 如果(!string.IsNullOrEmpty(assetModel.Belongings)) {如果(assetModel.Belongings.StartsWith( 「 」)) { 描述=的String.Format(「{0} {1} {2}」, description, string.IsNullOrEmpty(description)?「」:「」, assetModel.Belongings); } 別的 { 描述=的String.Format( 「{0} {1} {2}」, 描述, string.IsNullOrEmpty(介紹) 「」: 「」, assetModel.Belongings); } } – Fred

0

使用IndexOf來檢查,字符的索引是否爲0,表示它位於字符串的開頭。

if (description.IndexOf(',') == 0) 
{ 
    // description starts with a , 
} 
+1

它應該可以工作,但IndexOf不是爲此目的而構建的。在我的選擇中,StartsWith()在這種情況下會更好。 – Jannik

+0

搜索整個字符串,而不是僅僅檢查'description [0] ==',''? –

+0

@Jannik真的,直到我發佈之後纔想到'StartsWith'。 – Steve