日期:2014-05-18  浏览次数:20972 次

如何判断字符是否为C#合法字符,急!!!
java中Character类有下面两个判断方法,C#中有没有相应的方法???
isUnicodeIdentifierPart(char) 
判定指定字符是否为 Unicode 标识符中除首字符外的字符。 
isUnicodeIdentifierStart(char) 
判定指定字符是否可作为 Unicode 标识符首字符。 

在写一个脚本解释器,初次用C#,谁有好的解决方法贴一下了,谢谢!!!

------解决方案--------------------
http://www.cnblogs.com/HQT/archive/2005/09/21/240896.html
------解决方案--------------------
C# code

        /**//// <summary>
        /// 判断一个字符串是否为合法整数(不限制长度)
        /// </summary>
        /// <param name="s">字符串</param>
        /// <returns></returns>
        public static bool IsInteger(string s)
        {
            string pattern = @"^\d*$";
            return Regex.IsMatch(s,pattern);
        }
        /**//// <summary>
        /// 判断一个字符串是否为合法数字(0-32整数)
        /// </summary>
        /// <param name="s">字符串</param>
        /// <returns></returns>
        public static bool IsNumber(string s)
        {
            return IsNumber(s,32,0);
        }
        /**//// <summary>
        /// 判断一个字符串是否为合法数字(指定整数位数和小数位数)
        /// </summary>
        /// <param name="s">字符串</param>
        /// <param name="precision">整数位数</param>
        /// <param name="scale">小数位数</param>
        /// <returns></returns>
        public static bool IsNumber(string s,int precision,int scale)
        {
            if((precision == 0)&&(scale == 0))
            {
                return false;
            }
            string pattern = @"(^\d{1,"+precision+"}";
            if(scale>0)
            {
                pattern += @"\.\d{0,"+scale+"}$)|"+pattern;
            }
            pattern += "$)";
            return Regex.IsMatch(s,pattern);
        }

------解决方案--------------------
C# code

System.Text.Encoding.UTF8.GetString(要解码的字节数组);   
System.Text.Encoding.UTF8.GetBytes(string)