C#预处理器指令和字符串处理

一、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());//转换成字符

以上程序运行的结果是:

   
时间: 2024-11-09 00:17:41

C#预处理器指令和字符串处理的相关文章

C#预处理器指令

C#有许多名为预处理器指令的命令.这些命令从来不会被翻译为可执行代码中的命令,但会影响编译过程的各个方面.例如,预处理器可禁止编译器编译代码的某一部分.如果计划发布两个版本的代码,比如基本版本和企业版本,或者针对不同的.NET Framework版本进行编码,就可以使用这些指令.在Anthem.NET的代码中我们经常可以看到这种用法. 预处理器指令的开头都有符号#. 注意: C#中并没有一个像C++那样的独立预处理器,所谓的预处理器指令仍由编译器处理. 下面将对这些指令逐一介绍. 1. #def

using-asp.net 错误 CS1028: 意外的预处理器指令

问题描述 asp.net 错误 CS1028: 意外的预处理器指令 using System;using System.Collections;using System.Configuration;using System.Data;using System.Linq;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.HtmlControls;using System.Web.UI

错误 111 预处理器指令必须作为一行的第一个非空白字符出现

问题描述 functionGetValues(pollutantType){varurl='<%=ResolveUrl("~/Material/Formula/MaterialPara.aspx?PSCode='+pscode+'&Month='+$("#WorkMonth").val()+'&PollutantType=2&OutputCode='+$("#SerialId").val()+'&DataType=2&

详解C语言编程中预处理器的用法_C 语言

预处理最大的标志便是大写,虽然这不是标准,但请你在使用的时候大写,为了自己,也为了后人. 预处理器在一般看来,用得最多的还是宏,这里总结一下预处理器的用法. #include <stdio.h> #define MACRO_OF_MINE #ifdef MACRO_OF_MINE #else #endif 上述五个预处理是最常看见的,第一个代表着包含一个头文件,可以理解为没有它很多功能都无法使用,例如C语言并没有把输入输入纳入标准当中,而是使用库函数来提供,所以只有包含了stdio.h这个头文

详解C/C++预处理器 .

C/C++编译系统编译程序的过程为预处理.编译.链接.预处理器是在程序源文件被编译之前根据预处理指令对程序源文件进行处理的程序.预处理器指令以#号开头标识,末尾不包含分号.预处理命令不是C/C++语言本身的组成部分,不能直接对它们进行编译和链接.C/C++语言的一个重要功能是可以使用预处理指令和具有预处理的功能.C/C++提供的预处理功能主要有文件包含.宏替换.条件编译等.        1.文件包含       预处理指令#include用于包含头文件,有两种形式:#include <xxx.

简介C/C++预处理器的一些工作_C 语言

多么令人愉快的一个问题啊 就在被带到编译器那里之前,预处理器都会对你的源代码瞧上一瞧, 做一些格式化的工作,并执行任何你在源代码里面留给它来执行的指令. 像什么? 好吧,预处理器的指令就被叫做预处理器指令,而他们都以一个#开头. 像 #include 这样? 正确. 每一个被预处理器遇到的 # 命令都会导致在某种方式上对源代码的修改. 让我们来简单的研究研究它们,然后我们就会之后这背后都是怎么运转的了. #include 包含其他库.类.接口等的头文件.预处理器实际上就只是把整个头文件复制到你的

深入理解C预处理器_C 语言

C 预处理器不是编译器的组成部分,是编译过程中一个单独的步骤.C预处理器只是一个文本替换工具,它会指示编译器在实际编译之前完成所需的预处理. 所有的预处理器命令都是以井号(#)开头.它必须是第一个非空字符,为了增强可读性,预处理器指令应从第一列开始. 下表包含所有重要的预处理器指令: 指令 描述 #define 定义宏 #include 包含一个源代码文件 #undef 取消已定义的宏 #ifdef 如果宏已经定义,则返回真 #ifndef 如果宏没有定义,则返回真 #if 如果给定条件为真,则

nasm预处理器(3)

nasm提供一个限定符.nolist,可以包含它到一个宏定义中,这样该宏就不会在列表文件中被展开:限定符 .nolist直接放到参数后面: %macro foo 1.nolist 条件汇编 和C预处理器类似,nasm允许对一段源代码只在某特定条件满足时进行汇编: %if<condition> %elif<condition2> %else %endif %ifdef和 %ifndef 测试单行宏是否存在,在分支测试中也有类似的%elifdef和%elifndef %ifmacro测

Delphi 中的预编译指令

  Delphi 中的预编译指令 在Delphi中,也有与C相似的预编译指令,虽然该类指令只在当前的单个文件有效(也有可能是笔者未全面了解该类指令的真正用法),但是这一类指令对于进行多版本的制作工作(如从标准版中出学习版),确实有着相当不错的用途.  一.指令介绍:  1.DEFINE指令:  格式:{$DEFINE 名称}  说明 :用于定义一个在当前单元有效的符号(Symbol).定义了之后可以使用IF DEF和IFNDEF指令来判断该符号是否存在.  2.UNDEF指令:  格式:{$UN