2011-03-28 45 views
1

我有一個從設備中讀取串行信息的程序,並且工作正常,但我想做一個類似的聲明; 如果(第一個字符= R) 做點什麼 如果(第一個字符= T) 做別的事情檢測變量中的第一個字符c#

我希望這是有道理的。基本上我需要做的是有一種方法來檢測變量中的第一個字符,然後從變量中刪除該字符。

謝謝

+0

使用switch語句 – 2011-03-28 11:07:06

+0

這也看起來像一個家庭作業問題。說實話,它很簡單,你的問題似乎是「我不知道該怎麼做」類型的問題。 – 2011-03-28 13:03:18

回答

3

假設我們是在談論一個字符串:

string input = GetInput(); 
string remainingPart = input.Substring(1); // get string without first character 
switch (input[0]) 
{ 
    case 'R': 
     { 
      DoSomething(remainingPart); 
      break; 
     } 
    case 'T': 
     { 
      DoSomethingElse(remainingPart); 
      break; 
     } 
    // more case clauses follow here 
    default: 
     { 
      break; 
     } 
} 
2

它是一個字符串變量嗎?然後,你可以很容易地訪問它的第一個字符:

string mystring = ... 
if (!String.IsNullOrEmpty(mystring)) 
{ 
    char first = mystring[0]; 
    // ... 

    string withoutFirst = mystring.Substring(1); 
    // ... 
} 
+0

這將是完美的。那麼我將如何在沒有第一個字符的情況下保存該變量? – 2011-03-28 11:09:50

+0

擴展我的答案,另請參閱[在MSDN中](http://msdn.microsoft.com/en-us/library/system.string.substring.aspx) – 2011-03-28 11:39:24

0

如果您需要讀取字符並將其丟棄,那麼我建議,這是更好地爲您使用隊列。

首先,將字符串拆分爲字符並將其排入隊列。然後將隊列中的每個項目出列並根據需要進行處理。

相關問題