c#.net常用函数和方法集之六(转)
27、Remove() 从指定位置开始删除指定数的字符 字串对比一般都用: if(str1==str2){ } , 但还有别的方法: 1、 string str1; str2 //语法: str1.EndsWith(str2); __检测字串str1是否以字串str2结尾,返回布尔值.如: if(str1.EndsWith(str2)){ Response.Write("字串str1是以"+str2+"结束的"); } 2、 //语法:str1.Equals(str2); __检测字串str1是否与字串str2相等,返回布尔值,用法同上. 3、 //语法 Equals(str1,str2); __检测字串str1是否与字串str2相等,返回布尔值,用法同上. IndexOf() 查找字串中指定字符或字串首次出现
c#.net常用函数和方法集之四(转)
19、(char)代码 把数字转为字符,查代码代表的字符。 如: Response.Write((char)22269); //返回“国”字。 20、 Trim() 清除字串前后空格 21 、字串变量.Replace("子字串","替换为") 字串替换 如: string str="中国"; str=str.Replace("国","央"); //将国字换为央字 Response.Write(str); //输出结果为“中央” 再如:(这个非常实用) string str="这是<script>脚本"; str=str.Replace("<","<font><</font>"); //将左尖括号
c#.net常用函数和方法集之五(转)
23、字串对比一般都用: if(str1==str2){ } , 但还有别的方法: (1)、 string str1; str2 //语法: str1.EndsWith(str2); __检测字串str1是否以字串str2结尾,返回布尔值.如: if(str1.EndsWith(str2)){ Response.Write("字串str1是以"+str2+"结束的"); } (2)、 //语法:str1.Equals(str2); __检测字串str1是否与字串str2相等,返回布尔值,用法同上. (3)、 //语法 Equals(str1,str2); __检测字串str1是否与字串str2相等,返回布尔值,用法同上. 24、IndexOf() 、LastIndexOf() 查找字串中指定字符或字串首次(最后一次)出现的
c#.net常用函数和方法集之二(转)
4、变量.Length 数字型 取字串长度: 如: string str="中国"; int Len = str.Length ; //Len是自定义变量, str是求测的字串的变量名 5、System.Text.Encoding.Default.GetBytes(变量) 字码转换 转为比特码 如:byte[] bytStr = System.Text.Encoding.Default.GetBytes(str); 然后可得到比特长度: len = bytStr.Length; 6、System.Text.StringBuilder("") 字符串相加,(+号是不是也一样?) 如:System.Text.StringBuilder sb = new System.Text.StringBuilder(""); sb.Append("中华"); sb.Ap
C#调用父类的父类的方法(转)
override一个C#函数时,如果想调用这个函数在父类的父类中相应的方法,可以将override关键字变成new,调用时将Object转义成父类的父类class A{ public virtual void Func() { Console.WriteLine("A"); }}class B:A{ public new void Func() { Console.WriteLine("B"); }}class C:B{ public void Func() { A a = this as C; a.Func(); }}[@more@]
c#.net常用函数和方法集之一(转)
1、DateTime 数字型 System.DateTime currentTime=new System.DateTime(); 1.1 取当前年月日时分秒 currentTime=System.DateTime.Now; 1.2 取当前年 int 年=currentTime.Year; 1.3 取当前月 int 月=currentTime.Month; 1.4 取当前日 int 日=currentTime.Day; 1.5 取当前时 int 时=currentTime.Hour; 1.6 取当前分 int 分=currentTime.Minute; 1.7 取当前秒 int 秒=currentTime.Second; 1.8 取当前毫秒 int 毫秒=currentTime.Millisecond; (变量可用中文) 2、Int32.Parse(变量) Int32.Parse("常量") 字符型转换 转为32位数字型
利用C#线程机制实现应用程序的单实例运行(转)
只要你的程序中Main入口是如下的,则你的程序在运行时,在一个时刻只能有一个程序实例,比如Winamp就是这种,当它在运行时,再又击这个程序,是不会再运行一个实例的.代码很简单[STAThread] static void Main(string[] args) { bool isExist; System.Threading.Mutex mutex=new System.Threading.Mutex(true,"myApp",out isExist); //这里的myApp是程序的标识,建议换成你的程序的物理路径,这样的话如果在一个操作系统中这个标志不会和其它程序冲突 if(isExist)Environment.Exit(1);
C#中使用反射显示程序集的所有类型和属性(转)
/// <summary> /// /// loads a *.dll file from txtMethods and invokes all methods int it. /// lists all types in the assembly /// /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnList_Click(object sender, System.EventArgs e) { string fileName=labelFile.Text.Trim(); string result=""; txtMethods.Text=""; txtTypes.Text=""; if(File.Exists(fileName)
C#中使用反射的性能分析(转)
最近在研究一个可配置系统的框架,在代码中大量使用了反射的方法,虽然借鉴到其他的语言,如java中反射性能都比较差,但是想到c#既然是一种强类型的语言,对于AppDomain中的类的调用应该性能不会差很多。 今天在mvp站点上看到有人说反射的性能很差,要避免使用,就写了一个简单的例子测试了一下 测试类如下: namespace ReflectionTest.Test { public class CTester { public CTester() { a = 10; } public void test1() { a = (a - 0.0001) * 1.0001; } private double a; public double geta() { return
C# 农历之二(转)
private DateTime m_Date; public DateTime Date { get{ return m_Date;} set{ m_Date = value;} } public CNDate() { Date = DateTime.Today; } public CNDate(DateTime dt) { Date = dt.Date; } //计算指定日期的星座序号 public int GetConstellation() { int Y, M, D; Y = m_Date.Year; M = m_Date.Month; D = m_Date.Day; Y = M * 100 + D; if (((Y >= 321) && (Y <= 419))) { return 0;} else if ((Y >= 420) && (Y <= 520)) { return 1;} else if
在C#中加载自己编写的动态链接库(转)
一、发生的背景 在开发新项目中使用了新的语言开发 C# 和新的技术方案 WEB Service,但是在新项目中,一些旧的模块需要继续使用,一般是采用 C 或 C++ 或 Delphi 编写的,如何利用旧模块对于开发人员来说,有三种可用方法供选择:第一、将 C 或 C++ 函数用 C# 彻底改写一遍,这样整个项目代码比较统一,维护也方便一些。但是尽管微软以及某些书籍说,C# 和 C++ 如何接近,但是改写起来还是很痛苦的事情,特别是 C++ 里的指针和内存操作;第二、将 C 或 C++ 函数封装成 COM,在 C# 中调用COM 比较方便,只是在封装时需要处理 C 或 C++
C# 农历之一(转)
using System; namespace CNCalendar { public class CNDate { private const ushort START_YEAR = 1901; private const ushort END_YEAR = 2050; private string[] ConstellationName = { "白羊座", "金牛座", "双子座", "巨蟹座", "狮子座", "处女座", "天秤座", "天蝎座", "射手座", "摩羯座", "水瓶座", "双鱼座"}; private string[] LunarHolDayName = { "小寒&quo
C#的多线程能力(转)
线程是允许进行并行计算的一个抽象概念:在另一个线程完成计算任务的同时,一个线程可以对图像进行更新,二个线程可以同时处理同一个进程发出的二个网络请求。我们在这篇文章中将重点讨论Java和C#在线程方面的不同之处,并将一些Java中线程的常用模式转换为C#。 从概念上讲,线程提供了一种在一个软件中并行执行代码的方式━━每个线程都“同时”在一个共享的内存空间中执行指令,(当然是在一个处理器上,这是通过处于运行状态的线程的交替执行完成的。),因此,每个线程都可以访问一个程序内的数据结构。由于这种原因,多线程编程的难
使用 C#: 打开包装(转)
请访问 MSDN 源代码中心,下载本专栏文章中示例的源代码(英文)http://msdn.microsoft.com/code/default.asp?URL=/code/sample.asp?url=/MSDN-FILES/026/002/254/msdncompositedoc.xml。 上个月,我们介绍了装箱和取消装箱的方法,以及什么时候会用到它们。这个月,我们将研究装箱对性能的影响,以及我们应当怎样将这种影响减少到最小。 装箱和性能 由于进行了装箱,所以 C# 中的对象模型非常简单明了。但是采用经过装箱的数值类型会导致性能的降低。在大多数情况下,对象模型的简化比性能的降低更为重要。对于一般的软件而言的确
c#重点知识详解(六:线程)(转)
如同java一样,在c#中写一个多线程应用是非常简单的,本章将介绍如何在c#种开发多线程程序。在.net中线程是由System.Threading 名字空间所定义的。所以你必须包含这个名字空间。 using System.Threading; 开始一个线程 System.Threading 名字空间的线程类描述了一个线程对象,通过使用类对象,你可以创建、删除、停止及恢复一个线程。创建一个新线程通过new 操作,并可以通过start()方法启动线程 thread = new Thread(new ThreadStart(HelloWorld)); thread.Start(); 注意:和java程序不同,创建新线程并调用sta
c#语言重点知识详解(四:加框与解框)(转)
第四章:C# 中的加框与去框 C# 运行时中有两种类型:引用类型(reference)(在 C# 中用类声明)和值类型(value)(在 C# 中用结构声明)。引用和值类型在几个重要方面有所不同。值类型“感觉上”象一个数据。它包括预定义数值类型(如int、bool)以及用户定义的类型(circle、Point等)。如上文所述,值类型的变量是实际的值,所以在您使用变量时,通常处理的是实际的值。 1>:首先,让我们来看一看值类型(value)(在 C# 中用结构声明)。 对于任何类型的非框机构都又如下的形。 //------------------------------------- st
c#重点知识详解(三)(转)
第三章: 类属性 使用过RAD开发工具的一定inspector很熟悉,程序员通过它可以操作对象的属性,DELPHI中引入了PUBLISH关键字来公布对象属性受到程序员的普遍欢迎.通过存取标志来访问private成员,在c#中有两种途径揭示类的命名属性——通过域成员或者通过属性。前者是作为具有公共访问性的成员变量而被实现的;后者并不直接回应存储位置,只是通过存取标志(accessors)被访问。当你想读出或写入属性的值时,存取标志限定了被实现的语句。用于读出属性的值的存取标志记为关键字get,而要修改属性的值的读写符标志记为set。 类属性 只能
C#重点知识详解(二)(转)
第二章 内存管理 c#内存管理提供了与java一样的自动内存管理功能,让程序员从繁重的内存管理中摆脱出来,内存管理提高了代码的质量和提高了开发效率。 c#限制了着指针的使用,免除了程序员对内存泄漏的烦恼,但是不是意味着向java程序员一样c#程序员在也不能使用指针代来的好处。微软在设计C#语言时考虑到这个问题,在一方面抛弃指针的同时,另一方面采用折衷的办法,通过一个标志来时程序引入指针。 首先我们来了解自动内存管理 public class Stack { private Node first = null; public bool Empty { get { return (
C#重点知识详解(一)(转)
前沿 在微软的.NET推出后,关于C#的有关文章也相继出现,作为微软的重要的与JAVA抗衡的语言,C#具有很多优点。本文将选一些C#语言中的重要知识详细介绍, 第一章:参数 1。1 IN 参数 c#种的四种参数形式: 一般参数 in参数 out参数 参数数列 本章将介绍后三种的使用。 在C语言你可以通传递地址(即实参)或是DELPHI语言中通过VAR指示符传递地址参数来进行数据排序等操作,在C#语言中,是如何做的呢?"in"关键字可以帮助你。这个关键字可以通过参数传递你想返回的值。 namespace TestRefP { using
利齿C sharp代替C++(转)
现在,对于一个正在进行项目开发的公司来说,选择一门Windows下的开发语言已经不再像以前那么容易。C++曾经是商业开发最好的选择,但是现在,开发者们已经没有时间,也没有耐心一遍遍重复“编写代码——编译——排错”这样一个无休止的循环,也不再想去一次次地修补多年前编制的程序里的漏洞,他们已经厌倦了这一切。虽然Windows下的C++编程相对来说比较容易,但网络时代的飞快节奏已经不允许他们慢条斯理地跟自己的开发工具较劲。他们需要一个高效的、安全的开发工具。 相对于C++而言,Java的优势是开发周期短、代码安全(因为没有指