知识点:1.char.IsControl
2.char.IsPunctuation
3.char.IsSurrogate
4.char.IsWhitespace
5.char.IsDigit
6.char.IsNumber
7.char.IsSeparation
8.char.IsSymbol
问题:有一个char类型的变量,希望确定其中包含的字符是字母、一位数、数字、标点符号、控制字符、分隔符号、空白符还是替代字符。类似地,可能有一个string变量,想确定这个串中某个或多个位置上是何种字符。
解决方案要确定一个char的值,可以使用System.Char结构的内置静态方法,如下所示:
1.char.IsControl
2.char.IsPunctuation
3.char.IsSurrogate
4.char.IsWhitespace
5.char.IsDigit
6.char.IsNumber
7.char.IsSeparation
8.char.IsSymbol
usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;namespace_02确定一个Char包含何种字符
{classPRogram
{staticvoidMain(string[] args)
{
Console.WriteLine("请输入一个字符:");stringsymbol =Console.ReadLine();
CharKind ck=GetCharKind(Convert.ToChar(symbol));
Console.WriteLine(ck);stringsymbol1=Console.ReadLine();intposition=Convert.ToInt32(Console.ReadLine());
CharKind ck1=GetCharKindInString(symbol1, position);
Console.WriteLine(ck1);
Console.ReadKey();
}publicstaticCharKind GetCharKind(chartheChar)
{if(char.IsLetter(theChar))
{returnCharKind.Letter;
}elseif(char.IsNumber(theChar))
{returnCharKind.Number;
}elseif(char.IsPunctuation(theChar))
{returnCharKind.Punctuation;
}else{returnCharKind.Unknown;
}
}//判断字符串中某个位置的字符类型publicstaticCharKind GetCharKindInString(stringtheString,intCharPosition)
{if(char.IsLetter(theString, CharPosition))
{returnCharKind.Letter;
}elseif(char.IsNumber(theString, CharPosition))
{returnCharKind.Number;
}elseif(char.IsPunctuation(theString, CharPosition))
{returnCharKind.Punctuation;
}else{returnCharKind.Unknown;
}
}
}publicenumCharKind
{
Letter,
Number,
Punctuation,
Unknown
}
}
View Code
验证结果1 8 Number