2011-03-28 28 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

如果您需要读取字符并将其丢弃,那么我建议,这是更好地为您使用队列。

首先,将字符串拆分为字符并将其排入队列。然后将队列中的每个项目出列并根据需要进行处理。

相关问题