zoukankan      html  css  js  c++  java
  • C#入门——字符串处理方法(连接)

            每当看到很多项目中,多条件查询中,一些人为了拼接SQL脚本,直接来一个"SELECT [Column] FROM [Table] WHERE 1 = 1"我就来气,这么做的目的,仅仅是为了后面直接可以拼接类似" AND [Column] = value"这种格式,而且不会出错哦。

            实际上C#语言中有很多方法可以保障字符串拼接。

            1. string.Concat

            string.Concat 方法是用来做字符串拼接的,如果字符串拼接的数量不多,建议可以使用此方法。例如:

    string name = Console.ReadLine();
    string welcome = "welcome to C#";
    string result = string.Concat("Hello ", name, ", ", welcome);
    Console.WriteLine(result);

            输入:Jerry

            输出:Hello Jerry,welcome to C#

            此方法相当简单,仅仅是将字符串连起来,不再多讲。

            2.string.Join

            string.Join方法用处还是比较多的,这个方法是做什么的呢?我们还是先看例子:

    string[] strs = new string[] { "Hello Jerry", "welcome to C#" };
    string result = string.Join(", ", strs);
    Console.WriteLine(result);

            输出:Hello Jerry,welcome to C#

            此方法意思,将数组中的每个元素都连接起来,Join的第一个参数,是表示此次分割的分割标识符,是一个字符串。我们不妨再回头看看前面提到的"SELECT [Column] FROM [Table] WHERE 1 = 1"。

            我现在将SQL定义为"SELECT [Column] FROM [Table]",看代码:

    List<string> conditions = new List<string>();
    char[] likeFlag = new char[] { '%', '%'};
    string strSQL = "SELECT [Column] FROM [Table]";
    if (!string.IsNullOrEmpty(name))
    {
        conditions.Add("Name = @Name");
        parameters.Add(new SqlParameter("@Name", name));
    }
    if (!string.IsNullOrEmpty(content))
    {
        conditions.Add("Content LIKE @Content");
        parameters.Add(new SqlParameter("@Content", string.Concat("%", content, "%")));
    }
    if (!string.IsNullOrEmpty(address))
    {
        conditions.Add("Address LIKE @Address");
        parameters.Add(new SqlParameter("@Address", string.Join(address, likeFlag)));
    }
    if (conditions.Count > 0)
    {
        string condition = string.Join(" AND ", conditions);
        strSQL = string.Concat(strSQL, " WHERE ", condition);
    }

            当然这段代码并不是很完美,也不需要完美,毕竟只是以此来抛砖引玉,看懂即可。声明的char数组来组装模糊查询百分号的方法,也不建议模仿,仅仅是说这样用也可以罢了。用到了string.IsNullOrEmpty方法就不多解释了,实在不懂就劳烦您查一下。

           

           那么仅仅在此有用吗?非也,其实Join方法用途相当广泛,如果你是做Web开发的,大量地方因为Join方法都可以变得简单的,特别需要说明的是,JavaScript的字符串操作也支持Join和Concat方法,屡试不爽,相信你JSON或者数组,需要组装为能提交的字符串的时候,难道就没有冲动用用这两个方法?

  • 相关阅读:
    笨蛋的厄运
    模仿写了一个摸鱼应用解决原作者的问题
    retain和copy还有assign的区别
    分析与理解通知消息WM_NOTIFY
    备忘录
    数据结构C++模板实现之单向链表
    服务器(VPS合租)
    复制构造,赋值操作符,const重要性
    Windows 注册表操作简介
    窗口类封装之窗口对象消息处理的映射方法(1)
  • 原文地址:https://www.cnblogs.com/WangJerry/p/5130649.html
Copyright © 2011-2022 走看看