分享

C# Tips

 amine 2010-12-21
c#中如何将"65"这个字符串转换成整数65,或者是将整数65转换成字符串"65"
System.Convert.ToInt32( "65 ")
System.Convert.ToString(65)
 

C# readonly常量描述
 

C#语言还是比较常见的东西,这里我们主要介绍C# readonly常量,包括介绍readonly和const都是用来标识常量等方面。

readonly和const都是用来标识常量的。

const可用于修饰class的field或者一个局部变量(local variable);而readonly仅仅用于修饰class的field。

const常量的值必定在编译时就已明确并且恒定的;而C# readonly常量却有一点不同,那就是其值可以在运行时编译,当然,它也必须遵守作为常量的约束,那就是值必须恒定不变。

const常量必须在声明的同时对其进行赋值,并且确保该值在编译时可确定并恒定;而C# readonly常量则可以根据情况选择在声明的同时对其赋予一个编译时确定并恒定的值,或者将其值的初始化工作交给实例构造函数(instant constructor)完成。如:public readonly string m_Now = DateTime.Now.ToString();,m_Now会随着运行时实际情况变化而变化。

const常量属于类级别(class level)而不是实例对象级别(instant object level),并且它不能跟static结合一起使用,该常量的值将由整个类的所有实例对象共同分享(详细论述参见后面的Remark区域)。

C# readonly常量既可以是类级别也可以是实例对象级别的,这取决于它的声明以及初始化工作怎么实施。readonly可以与static结合使用,用于指定该常量属于类级别,并且把初始化工作交由静态构造函数(static constructor)完成(有关如何把C# readonly常量声明为类级别或实例对象级别的论述清参见后面的Remark区域) 。

能被const修饰声明为常量的类型必须是以下的基元类型(primitive type):sbyte, byte, short, ushort, int, uint, long, ulong, char, float, double, float, bool, decimal, string。

object, 数组(Array)和结构(struct)不能被声明为const常量。

一般情况下,引用类型是不能被声明为const常量的,不过有一个例外:string。该引用类型const常量的值可以有两种情况,string或null。其实,string虽然是引用类型,但是.NET却对它特别处理,这种处理叫做字符串恒定性(immutable),使得string的值具有只读特性。

  1. using System;  
  2. public class Order  
  3. {  
  4. public Order()  
  5. {  
  6. Guid guid = Guid.NewGuid();  
  7. ID = guid.ToString("D");  
  8. }  
  9.  
  10. // 对于每一份订单,其订单序号都是实时确定的常量。 style="color: #008000;"> 
  11. public readonly string ID;  
  12.  
  13. public override string ToString()  
  14. {  
  15. return "Order ID: " + ID;  
  16. }  

C#函数参数的注释
 
在写好一个类或一个方法的时候  在上面打3个斜杠 就会出来了

请问在C#的过程当中如何使用局部的静态变量?
 
局部中只能声明局部变量,静态变量是在类级声明的。
如果要在一个方法中使用一个静态变量,那么这个
方法也必须是类级的即必须是静态方法。

C#中取整数的高字节和低字节
取字节应该用byte吧

C# code
int intval  = 1234;
byte[] arr = BitConverter.GetBytes( intval );


        /// <summary>
        /// Method to validate an IP address
        /// using regular expressions. The pattern
        /// being used will validate an ip address
        /// with the range of 1.0.0.0 to 255.255.255.255
        /// </summary>
        /// <param name="addr">Address to validate</param>
        /// <returns></returns>

        public bool IsValidIP(string addr)
        {
            //create our match pattern
           
string pattern =
@"\b(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b";
            //create our Regular Expression object
            Regex check = new Regex(pattern);
            //boolean variable to hold the status
            bool valid = false;
            //check to make sure an ip address was provided
            if (addr == "")
            {
                //no address provided so return false
                valid = false;
            }
            else
            {
                //address provided so use the IsMatch Method
                //of the Regular Expression object
                valid = check.IsMatch(addr, 0);
            }
            //return the results
            return valid;
        }



    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多