发布新日志

  • C#字符串函数

    2008-03-30 15:53:36

    转自:http://blog.csdn.net/jomakzhao/archive/2007/05/24/1623815.aspx

    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位数字型 

    3、 变量.ToString() 
    字符型转换 转为字符串 
    12345.ToString("n"); //生成 12,345.00 
    12345.ToString("C"); //生成 ¥12,345.00 
    12345.ToString("e"); //生成 1.234500e+004 
    12345.ToString("f4"); //生成 12345.0000 
    12345.ToString("x"); //生成 3039 (16进制) 
    12345.ToString("p"); //生成 1,234,500.00% 


    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.Append(
    "人民"); 
    sb.Append(
    "共和国"); 

    7、变量.Substring(参数1,参数2); 
    截取字串的一部分,参数1为左起始位数,参数2为截取几位。 
    如:
    string s1 = str.Substring(0,2); 

    8、String user_IP=Request.ServerVariables["REMOTE_ADDR"].ToString(); 
    取远程用户IP地址 

    9、穿过代理服务器取远程用户真实IP地址: 
    if(Request.ServerVariables["HTTP_VIA"]!=null)
    string user_IP=Request.ServerVariables["HTTP_X_FORWARDED_FOR"].ToString(); 
    }
    else
    string user_IP=Request.ServerVariables["REMOTE_ADDR"].ToString(); 
    }
     

    10、 Session["变量"]; 
    存取Session值; 
    如,赋值: Session[
    "username"]="小布什"

    取值: Object objName
    =Session["username"]; 
    String strName
    =objName.ToString(); 
    清空: Session.RemoveAll(); 

    11、String str=Request.QueryString["变量"]; 
    用超链接传送变量。 
    如在任一页中建超链接:
    <a href=Edit.aspx?fbid=23>点击</a> 
    在Edit.aspx页中取值:String str
    =Request.QueryString["fdid"]; 

    12、DOC对象.CreateElement("新建节点名"); 
    创建XML文档新节点 

    13、父节点.AppendChild(子节点); 
    将新建的子节点加到XML文档父节点下 

    14、 父节点.RemoveChild(节点); 
    删除节点 

    15、Response 
    Response.Write(
    "字串"); 
    Response.Write(变量); 
    向页面输出。 

    Response.Redirect(
    "URL地址"); 
    跳转到URL指定的页面 

    16char.IsWhiteSpce(字串变量,位数)——逻辑型 
    查指定位置是否空字符; 
    如: 
    string str="中国 人民"
    Response.Write(
    char.IsWhiteSpace(str,2)); //结果为:True, 第一个字符是0位,2是第三个字符。 

    17char.IsPunctuation('字符'--逻辑型 
    查字符是否是标点符号 
    如:Response.Write(
    char.IsPunctuation('A')); //返回:False 

    18、(int)'字符' 
    把字符转为数字,查代码点,注意是单引号。 
    如: 
    Response.Write((
    int)''); //结果为中字的代码:20013 

    19、(char)代码 
    把数字转为字符,查代码代表的字符。 
    如: 
    Response.Write((
    char)22269); //返回“国”字。 

    20、 Trim() 
    清除字串前后空格 

    21 、字串变量.Replace("子字串","替换为"
    字串替换 
    如: 
    string str="中国"
    str
    =str.Replace("",""); //将国字换为央字 
    Response.Write(str); //输出结果为“中央” 

    再如:(这个非常实用) 

    string str="这是<scrīpt>脚本"
    str
    =str.Replace("<","<font><</font>"); //将左尖括号替换为<font> 与 < 与 </font> (或换为<,但估计经XML存诸后,再提出仍会还原) 
    Response.Write(str); //显示为:“这是<scrīpt>脚本” 

    如果不替换,
    <scrīpt>将不显示,如果是一段脚本,将运行;而替换后,脚本将不运行。 
    这段代码的价值在于:你可以让一个文本中的所有HTML标签失效,全部显示出来,保护你的具有交互性的站点。 
    具体实现:将你的表单提交按钮脚本加上下面代码: 
    string strSubmit=label1.Text; //label1是你让用户提交数据的控件ID。 
    strSubmit=strSubmit.Replace("<","<font><</font>"); 
    然后保存或输出strSubmit。 
    用此方法还可以简单实现UBB代码。 

    22、Math.Max(i,j) 
    取i与j中的最大值 
    如 
    int x=Math.Max(5,10); // x将取值 10 

    加一点吧 
    23、字串对比 
    加一点吧 

    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() 
    查找字串中指定字符或字串首次(最后一次)出现的位置,返回索引值,如: 
    str1.IndexOf(
    ""); //查找“字”在str1中的索引值(位置) 
    str1.IndexOf("字串");//查找“字串”的第一个字符在str1中的索引值(位置) 
    str1.IndexOf("字串",3,2);//从str1第4个字符起,查找2个字符,查找“字串”的第一个字符在str1中的索引值(位置) 

    25、Insert() 
    在字串中指定索引位插入指定字符。如: 
    str1.Insert(
    1,"");在str1的第二个字符处插入“字”,如果str1="中国",插入后为“中字国”; 

    26、PadLeft()、PadRight() 
    在字串左(或右)加空格或指定char字符,使字串达到指定长度,如: 
    <% 
    string str1="中国人"
    str1
    =str1.PadLeft(10,'1'); //无第二参数为加空格 
    Response.Write(str1); //结果为“1111111中国人” , 字串长为10 
    %> 

    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() 
    查找字串中指定字符或字串首次出现的位置,返首索引值,如: 
    str1.IndexOf(
    ""); //查找“字”在str1中的索引值(位置) 
    str1.IndexOf("字串");//查找“字串”的第一个字符在str1中的索引值(位置) 
    str1.IndexOf("字串",3,2);//从str1第4个字符起,查找2个字符,查找“字串”的第一个字符在str1中的索引值(位置) 

    1.9 取中文日期显示——年月日时分 
    string strY=currentTime.ToString("f"); //不显示秒 

    1.10 取中文日期显示_年月 
    string strYM=currentTime.ToString("y"); 

    1.11 取中文日期显示_月日 
    string strMD=currentTime.ToString("m"); 

    1.12 取当前年月日,格式为:2003-9-23 
    string strYMD=currentTime.ToString("d"); 

    1.13 取当前时分,格式为:1424 
    string strT=currentTime.ToString("t"); 
    更新一下, 上面不能编辑: 

    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; 
    (变量可用中文) 

    1.9 取中文日期显示——年月日时分 
    string strY=currentTime.ToString("f"); //不显示秒 

    1.10 取中文日期显示_年月 
    string strYM=currentTime.ToString("y"); 

    1.11 取中文日期显示_月日 
    string strMD=currentTime.ToString("m"); 

    查看(765) 评论(0) 收藏 分享 管理

  • 源代码0001(随机数据的产生-C#与xml)

    2008-03-28 22:25:49

    using System;
    using System.Collections.Generic;
    using System.Text;
    using System.Xml;
    using System.Windows.Forms;

    public enum stringtype  //产生随机字符串的数据类型
    {
        allstring = 1,//大小写字母
        allnumic = 2,//数字
        str_num = 3,//大小写字母+数字
        str_upper = 4,//大写字母
        str_lower = 5, //小写字母
        str_tf = 6,//0和1
    }

    namespace e2
    {       
        class Program
        {
            public static int GenForInt(Random ran)  //自动生成int型的测试数据
            {
                int RandKey = ran.Next();
                return RandKey;
            }

            public static float GenForFloat(Random ran)  //自动生成float型的测试数据
            {
                float RandKey = (float)ran.NextDouble();
                return RandKey;
            }

            public static double GenForDouble(Random ran)  //自动生成double型的测试数据
            {
                double RandKey = ran.NextDouble();
                return RandKey;
            }

            public static string GenerateRandom(Random ran,int Length, stringtype s)  //自动生成长度为length的字符串型的测试数据
            {
                string strtemp = "";
                string[] constant = null;
                switch (s)
                {
                    case stringtype.allnumic:
                        strtemp = "0,1,2,3,4,5,6,7,8,9";
                        constant = strtemp.Split(',');  //返回strtemp的子字符串
                        break;
                    case stringtype.allstring:
                        strtemp = "a,b,c,d,e,f,g,h,i,j,k,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,D,G,H,I,J,K,L,M,N,P,Q,R,S,T,U,V,W,X,X,Y,Z";
                        constant = strtemp.Split(',');
                        break;
                    case stringtype.str_lower:
                        strtemp = "a,b,c,d,e,f,g,h,i,j,k,m,n,o,p,q,r,s,t,u,v,w,x,y,z";
                        constant = strtemp.Split(',');
                        break;
                    case stringtype.str_num:
                        strtemp = "a,b,c,d,e,f,g,h,i,j,k,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,D,G,H,I,J,K,L,M,N,P,Q,R,S,T,U,V,W,X,X,Y,Z,0,1,2,3,4,5,6,7,8,9";
                        constant = strtemp.Split(',');
                        break;
                    case stringtype.str_upper:
                        strtemp = "A,B,C,E,F,D,G,H,I,J,K,L,M,N,P,Q,R,S,T,U,V,W,X,Y,Z";
                        constant = strtemp.Split(',');
                        break;
                    case stringtype.str_tf:
                        strtemp="0,1";
                        constant = strtemp.Split(',');
                        break;
                }

                System.Text.StringBuilder newRandom = new System.Text.StringBuilder(Length);
                for (int i = 0; i < Length; i++)
                {
                    newRandom.Append(constant[ran.Next(constant.Length - 1)]);  //追加字符
                }
                return newRandom.ToString();
            }

            static void Main(string[] args)  //主函数
            {
                XmlDocument xmlDoc = new XmlDocument();
                xmlDoc.Load(@"E:\experiment\e2\simplegoogle.xml");//导入物理路径下的xml文档
                XmlNodeList nodeList = xmlDoc.SelectSingleNode("types").ChildNodes;//获取“types”节点的所有子节点

                string elementname;

                XmlDocument tcxmldoc;
                XmlNode tcxmlnode;
                XmlElement tcxmlelem;

                tcxmldoc = new XmlDocument();
                //加入XML的声明段落
                tcxmlnode = tcxmldoc.CreateNode(XmlNodeType.XmlDeclaration, "", "");
                tcxmldoc.AppendChild(tcxmlnode);

                //加入一个根元素
                tcxmlelem = tcxmldoc.CreateElement("", "testcases", "");
                tcxmldoc.AppendChild(tcxmlelem);

                foreach (XmlNode xn in nodeList)//遍历types的所有子节点
                {
                    XmlElement xe = (XmlElement)xn;//将子节点类型转换为XmlElement类型
                    elementname = xe.GetAttribute("name");//获得element的name
         
                    //加入另外的元素
                    XmlNode root = tcxmldoc.SelectSingleNode("testcases");      //查找<test cases> 
                   
                    XmlElement xe1 = tcxmldoc.CreateElement(elementname);       //创建一个元素节点 

                    int n = 5;
                    string aa=xe.GetAttribute("type");
                    string value;
                    string tcname;
                    XmlElement xesub;

                    Random ran = new Random(unchecked((int)DateTime.Now.Ticks));        //生成不重复的随机值,一定要声明在调用函数之外

                    if (aa.ToString() == "int")    //如为int型,则调用GenForInt
                    {
                        for (int i = 1; i <= n; i++)
                        {
                            tcname = "TC" + i.ToString();
                            xesub = tcxmldoc.CreateElement(tcname);
                            value = GenForInt(ran).ToString();
                            xesub.InnerText = value;     //设置文本节点 
                            xe1.AppendChild(xesub);     //添加到TCi节点中 
                            root.AppendChild(xe1);      //添加到<test cases>节点中 
                        }
                    }

                    else if (aa.ToString() == "string")    //如为string型,则调用GenerateRandom
                    {
                        for (int i = 1; i <= n; i++)
                        {
                            tcname = "TC" + i.ToString();
                            xesub = tcxmldoc.CreateElement(tcname);
                            value = GenerateRandom(ran,5, stringtype.str_num);
                            xesub.InnerText = value;     //设置文本节点 
                            xe1.AppendChild(xesub);     //添加到TCi节点中 
                            root.AppendChild(xe1);      //添加到<test cases>节点中 
                        }
                    }

                    else if (aa.ToString() == "boolean")    //如为boolen型,产生0和1
                    {
                        for (int i = 0; i <= 1; i++)
                        {
                            tcname = "TC" + i.ToString();
                            xesub = tcxmldoc.CreateElement(tcname);
                            xesub.InnerText = i.ToString();     //设置文本节点 
                            xe1.AppendChild(xesub);     //添加到TCi节点中 
                            root.AppendChild(xe1);      //添加到<test cases>节点中 
                        }
                    }

                    else if (aa.ToString() == "float")    //如为float,调用GenForFloat
                    {
                        for (int i = 0; i <= n; i++)
                        {
                            tcname = "TC" + i.ToString();
                            xesub = tcxmldoc.CreateElement(tcname);
                            xesub.InnerText = GenForFloat(ran).ToString();     //设置文本节点 
                            xe1.AppendChild(xesub);     //添加到TCi节点中 
                            root.AppendChild(xe1);      //添加到<test cases>节点中 
                        }
                    }

                    else if (aa.ToString() == "double")    //如为double,调用GenForDouble

                    {
                        for (int i = 0; i <= n; i++)
                        {
                            tcname = "TC" + i.ToString();
                            xesub = tcxmldoc.CreateElement(tcname);
                            xesub.InnerText = GenForDouble(ran).ToString();  //设置文本节点 
                            xe1.AppendChild(xesub);     //添加到TCi节点中 
                            root.AppendChild(xe1);      //添加到<test cases>节点中 
                        }
                    }
     
                    tcxmldoc.Save(@"E:\experiment\e2\test cases.xml");
                }         
            }
         }
    }

数据统计

  • 访问量: 7555
  • 日志数: 15
  • 建立时间: 2008-03-09
  • 更新时间: 2008-10-29

RSS订阅

Open Toolbar