using System.Text.RegularExpressions;publicstaticclassKata{publicstaticboolSignedEightBitNumber(thisstring s){return Regex.IsMatch(s,@"\A(12[0-7]|1[01][0-9]|[1-9]?[0-9]|-(12[0-8]|1[01][0-9]|[1-9][0-9]|[1-9]))\z");}}
答案2:
using System;using System.Text.RegularExpressions;publicstaticclassKata{publicstaticBooleanSignedEightBitNumber(thisString Input){return Regex.IsMatch(Input,"^(0|(\\-128)|(\\-?((12[0-7])|(1[0-1][0-9])|([1-9][0-9]{0,1}))))\\z");}}
publicstaticclassKata{publicstaticboolSignedEightBitNumber(thisstring s){for(int i =-128; i<128; i++)if(s ==""+ i)returntrue;returnfalse;}}
答案5:
publicstaticclassKata{publicstaticboolSignedEightBitNumber(thisstring s){sbyte v =0;returnsbyte.TryParse(s,out v)? v.ToString()== s :false;}}
答案6:
using System;using System.Text.RegularExpressions;publicstaticclassKata{publicstaticboolSignedEightBitNumber(thisstring s){try{if(!Regex.IsMatch(s,@"\A(0|-?[1-9]\d*)\z"))returnfalse;int n =int.Parse(s);return n >-129&& n <128?true:false;}catch(FormatException){returnfalse;}}}
答案7:
using System.Text.RegularExpressions;publicstaticclassKata{publicstaticboolSignedEightBitNumber(thisstring s ){return Regex.IsMatch( s,@"\A(([0-9])|([1-9][0-9])|([1][0-1][0-9])|(12[0-7])|(-[1-9][0-9]?)|(-12[0-8])|(-[1][0-1][0-9]))\z");}}
答案8:
using System;using System.Text;using System.Text.RegularExpressions;publicstaticclassKata{publicstaticboolSignedEightBitNumber(thisstring s)=> Regex.IsMatch(s,@"\A(-12[0-8]|-1[0-1][0-9]|-[1-9][0-9]?|12[0-7]|1[0-1][0-9]|[1-9][0-9]?|0)\z");}
答案9:
using System.Text.RegularExpressions;publicstaticclassKata{publicstaticboolSignedEightBitNumber(thisstring s){int num;return!s.Contains("\n")&&RegexValidate(s)&&int.TryParse(s,out num)&& num >=-128&& num <=127;}staticboolRegexValidate(string s){return!Regex.IsMatch(s,@"^0\d|\-0| |\+");}}
答案10:
using System;using System.Text;using System.Text.RegularExpressions;publicstaticclassKata{publicstaticboolSignedEightBitNumber(thisstring s){if(s.Contains(" ")|| s.Contains("\n")|| s.Contains("+"))returnfalse;if(s =="0")returntrue;int k =129;if(s.Length >0&& s[0]=='0')returnfalse;if(s.Length >1&& s[0]=='-'&& s[1]=='0')returnfalse;if(int.TryParse(s,out k))return k!=0&& k >-129&& k <128;returnfalse;}}