文字列解析で、文字列が数値とアルファベットのみか判定することがあったので、判定メソッドを作りました。
数字はint.TryParseで使えば簡単にbool値を取得して判定できますが、
C#7以前だとoutパラメータで変数の宣言ができず記述が冗長になるので簡単ですがこんな感じにしました。
コメントでごchar.IsDigitメソッドがあること、またLINQもAllで判定した方が簡潔で良いとご指摘頂きました、ありがとうございます!
#1.文字列が数値か判定
static void Main(string[] args) {
// true
var str1 = "12312";
var f1 = src1.All(char.IsDigit);
// false
var str2 = "12a12";
var f2 = src2.All(char.IsDigit);
}
#2.文字列がアルファベットか判定
static void Main(string[] args) {
// true
var str1 = "abcDeZ";
var f1 = src1.All(IsAlphabet);
// false
var str2 = "abcD3Z";
var f2 = src2.All(IsAlphabet);
}
public static bool IsAlphabet(char c) {
return (c >= 'A' && c <= 'z') ? true : false;
}
#まとめ
バグなどあればご指摘いただけると幸いです。