C#预处理器指令和字符串处理
在C#编程过程中,如果文件中的代码太长那么就不便于阅读,为此,采用C# 预处理器指令#region来处理代码。#region 是 C# 预处理器指令。#region 是一个分块预处理命令,它主要是用于编辑器代码的分块,在编译时会被自动删除。
#region 使程序员可以在使用 Visual Studio 代码编辑器的大纲显示功能时指定可展开或折叠的代码。使用#region和#endregion,将代码写在两者之间就可以了。
public void Insert(string InsertStr) { MySqlConnection conn = new MySqlConnection(); conn.ConnectionString = mysqlconstr; MySqlCommand comm = new MySqlCommand(InsertStr, conn); OpenConnection(conn); #endregion 单击#region后展开后就可以看到以上代码,这样做便于阅读代码 |
二、C#的字符串处理-String和StringBuilder
先说说String类,这个就是字符处理类,它提供很多的方法来处理字符串。
使用方法:string sqlconnstr=” bianceng”;如果在这里试图用new那么会出现错误,原因等下再说。String类提供的方法请看下面表中的程序并对照右边的结果就可以判断出方法的作用。
Console.WriteLine("string类的方法"); String strText = "Larger than me"; Console.WriteLine(strText.Clone());//克隆,返回实例的引用 Console.WriteLine(strText.CompareTo("Larger than me"));//比较两个对象是否一样 Console.WriteLine(strText.Contains("than"));//判断对象是否包含"than"有就返回true Console.WriteLine(strText.EndsWith("me"));//判断对象末尾是否与"me"匹配,是返回true Console.WriteLine(strText.Equals("Larger"));//判断对象与参数对象有相同的值 Console.WriteLine(strText.GetEnumerator()); Console.WriteLine(strText.GetHashCode());//哈希码 Console.WriteLine(strText.GetType());//类型 Console.WriteLine(strText.IndexOf("L"));//参数L在对象中的位置 Console.WriteLine(strText.Insert(1, "you"));//在处插入"you" Console.WriteLine(strText.IsNormalized());//对象是否符合Unicode范式 Console.WriteLine(strText.LastIndexOf('m'));//参数m最后出现的位置 Console.WriteLine(strText.Length);// 对象的长度 Console.WriteLine(strText.Normalize()); Console.WriteLine(strText.PadLeft(20, 'y'));//用y左填充对象使其长度满足 Console.WriteLine(strText.PadRight(20, 'x'));//用x右填充对象使其长度满足 Console.WriteLine(strText.Remove(5));//移出从指定位置开始以后的所有字符 Console.WriteLine(strText.Replace('a', 'y'));//替换 Console.WriteLine(strText.Split('y')); Console.WriteLine(strText.StartsWith("Lar"));//判断是否以"Lar"开始 Console.WriteLine(strText.Substring(2,6));//从开始的长度为的子字符串 Console.WriteLine(strText.ToCharArray());//将对象转化为字符数组 Console.WriteLine(strText.ToLower());//转换为小写形式的副本 Console.WriteLine(strText.ToLowerInvariant()); Console.WriteLine(strText.ToString()); Console.WriteLine(strText.ToUpper());//大写形式 Console.WriteLine(strText.ToUpperInvariant()); Console.WriteLine(strText.Trim());//出去对象中的空白后的对象 Console.WriteLine(strText.TrimEnd('m','e'));//移出'm','e'后的对象 |
有些方法过于简单不再介绍,当然要读者自己编程去体会,掌握各种方法.
三、利用StringBuiler类的方法处理字符串。
StringBuilder类是动态字符串,StringBuilder的对象创建以后可以对其进行删除和增加,而且是在同一个对象上进行的,mystr.Append(" new")执行以后并没有创建新的对象,它的结果还是保存才原来的地方。这点与string类不一样。StringBuilder类的构造方法有:
StringBuilder obj=new StringBuilder(“biancdheng”);默认大小为16字节;StringBuilder obj2=new StringBuilder(“biancheng”,18);//指定为18字节。看看StringBuilder提供方法:
StringBuilder mystr =new StringBuilder("Larger than me"); Console.WriteLine(mystr.Append(" new"));//mystr后面增加"new" Console.WriteLine(mystr.AppendLine(" loveme")); //将默认的行终止符追加到当前StringBuilder 对象的末尾 Console.WriteLine(mystr.Capacity);//对象的最大字符数 Console.WriteLine(mystr.EnsureCapacity(20));//实例对象确保至少指定值 Console.WriteLine(mystr.Equals(new StringBuilder("Larger")));//判断两个对象是否相等 Console.WriteLine(mystr.GetHashCode());//获取哈希码 Console.WriteLine(mystr.GetType());//获取对象的类型 Console.WriteLine(mystr.Insert(0, "insert")); //在指定的位置插入小字符 Console.WriteLine(mystr.Length);//获取实例对象的长度 Console.WriteLine(mystr.MaxCapacity);//实例对象的最大容量 Console.WriteLine(mystr.Remove(1, 2));//Remove(startindex,length )位置和长度两个参数移出 Console.WriteLine(mystr.Replace('e', 'y'));//用第二个参数代替第一个参数 Console.WriteLine(mystr.ToString());//转换成字符 |
以上程序运行的结果是:
作者“L小凤”为编程入门网.NET专栏作家,转载请保留这句话。