我有一個從設備中讀取串行信息的程序,並且工作正常,但我想做一個類似的聲明; 如果(第一個字符= R) 做點什麼 如果(第一個字符= T) 做別的事情檢測變量中的第一個字符c#
我希望這是有道理的。基本上我需要做的是有一種方法來檢測變量中的第一個字符,然後從變量中刪除該字符。
謝謝
我有一個從設備中讀取串行信息的程序,並且工作正常,但我想做一個類似的聲明; 如果(第一個字符= R) 做點什麼 如果(第一個字符= T) 做別的事情檢測變量中的第一個字符c#
我希望這是有道理的。基本上我需要做的是有一種方法來檢測變量中的第一個字符,然後從變量中刪除該字符。
謝謝
假設我們是在談論一個字符串:
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;
}
}
它是一個字符串變量嗎?然後,你可以很容易地訪問它的第一個字符:
string mystring = ...
if (!String.IsNullOrEmpty(mystring))
{
char first = mystring[0];
// ...
string withoutFirst = mystring.Substring(1);
// ...
}
這將是完美的。那麼我將如何在沒有第一個字符的情況下保存該變量? – 2011-03-28 11:09:50
擴展我的答案,另請參閱[在MSDN中](http://msdn.microsoft.com/en-us/library/system.string.substring.aspx) – 2011-03-28 11:39:24
String.StartsWith()
:確定此字符串實例的開頭是否與指定的字符串匹配。
String.Substring()
:從此實例中檢索一個子字符串。子字符串從指定的字符位置開始。
如果您需要讀取字符並將其丟棄,那麼我建議,這是更好地爲您使用隊列。
首先,將字符串拆分爲字符並將其排入隊列。然後將隊列中的每個項目出列並根據需要進行處理。
使用switch語句 – 2011-03-28 11:07:06
這也看起來像一個家庭作業問題。說實話,它很簡單,你的問題似乎是「我不知道該怎麼做」類型的問題。 – 2011-03-28 13:03:18