장치에서 직렬 정보를 읽는 프로그램이 있는데 제대로 작동하지만 명령문을 만들고 싶습니다. 경우 (첫 번째 문자 = 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);
// ...
}
그것은 완벽 할 것입니다. 첫 문자없이 변수를 저장하는 방법은 무엇입니까? –
확장 내 대답, 또한 [여기 MSDN에서] 참조 (http://msdn.microsoft.com/en-us/library/system.string.substring.aspx) –
String.StartsWith()
: 그럼 당신은 쉽게 액세스 할 수 있습니다 그것은 첫 번째 문자의 문자열 인스턴스의 시작이 지정된 문자열과 일치하는지 여부를 결정합니다.
String.Substring()
:이 인스턴스에서 부분 문자열을 검색합니다. 부분 문자열은 지정된 문자 위치에서 시작합니다.
을 당신이 그것을 문자를 읽고 폐기해야하는 경우에, 나는 당신이 대기열을 사용하는 것이 낫다는 것을 시사한다.
먼저 문자열을 문자로 분할하고 큐에 대기열에 넣습니다. 그런 다음 큐의 각 항목을 큐에서 제거하고 필요에 따라 처리합니다.
switch 문 사용 –
이것은 숙제 문제처럼 보입니다. 솔직히 간단하고, 당신의 질문은 "어떻게 해야할지 모르겠다"라는 질문을 입력하는 것 같습니다. –