我有一个程序从设备读取串行信息,并且工作正常,但我想做一个类似的声明; if(第一个字符= R) 做一点事 if(第一个字符= T) 做别的事
我希望这是有道理的。基本上我需要做的就是有办法从变量中检测第一个字符,然后从变量中删除该字符。
由于
答案 0 :(得分: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;
}
}
答案 1 :(得分:2)
是字符串变量吗?然后你可以轻松访问它的第一个角色:
string mystring = ...
if (!String.IsNullOrEmpty(mystring))
{
char first = mystring[0];
// ...
string withoutFirst = mystring.Substring(1);
// ...
}
答案 2 :(得分:0)
String.StartsWith()
:确定此字符串实例的开头是否与指定的字符串匹配
String.Substring()
:从此实例中检索子字符串。子字符串从指定的字符位置开始。
答案 3 :(得分:0)
如果您需要阅读char并将其丢弃,那么我建议您使用Queue更好。
首先,将字符串拆分为字符并将其排入队列。然后将队列中的每个项目出列并根据需要进行处理。