我有一个从设备中读取串行信息的程序,并且工作正常,但我想做一个类似的声明; 如果(第一个字符= 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