2011-03-28 8 views
1

장치에서 직렬 정보를 읽는 프로그램이 있는데 제대로 작동하지만 명령문을 만들고 싶습니다. 경우 (첫 번째 문자 = R) 무언가 (첫 번째 문자 = T) 다른 것을변수 C의 첫 번째 문자를 감지합니다 #

나는이 말이 희망 할 경우. 기본적으로 변수에서 첫 번째 문자를 감지 한 다음 해당 문자를 변수에서 제거하는 방법 만 있으면됩니다.

감사합니다.

+0

switch 문 사용 –

+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; 
     } 
} 
2

문자열 변수입니까?

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

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

그것은 완벽 할 것입니다. 첫 문자없이 변수를 저장하는 방법은 무엇입니까? –

+0

확장 내 대답, 또한 [여기 MSDN에서] 참조 (http://msdn.microsoft.com/en-us/library/system.string.substring.aspx) –

0

String.StartsWith() : 그럼 당신은 쉽게 액세스 할 수 있습니다 그것은 첫 번째 문자의 문자열 인스턴스의 시작이 지정된 문자열과 일치하는지 여부를 결정합니다.
String.Substring() :이 인스턴스에서 부분 문자열을 검색합니다. 부분 문자열은 지정된 문자 위치에서 시작합니다.

0

을 당신이 그것을 문자를 읽고 폐기해야하는 경우에, 나는 당신이 대기열을 사용하는 것이 낫다는 것을 시사한다.

먼저 문자열을 문자로 분할하고 큐에 대기열에 넣습니다. 그런 다음 큐의 각 항목을 큐에서 제거하고 필요에 따라 처리합니다.

관련 문제