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或者数组,需要组装为能提交的字符串的时候,难道就没有冲动用用这两个方法?

  • 相关阅读:
    杭电 Problem
    杭电Problem 5053 the sum of cube 【数学公式】
    杭电 Problem 2089 不要62 【打表】
    杭电 Problem 4548 美素数【打表】
    杭电 Problem 2008 分拆素数和 【打表】
    杭电 Problem 1722 Cake 【gcd】
    杭电 Problem 2187 悼念512汶川大地震遇难同胞——老人是真饿了【贪心】
    杭电Problem 1872 稳定排序
    杭电 Problem 1753 大明A+B
    东北林业大 564 汉诺塔
  • 原文地址:https://www.cnblogs.com/WangJerry/p/5130649.html
Copyright © 2011-2022 走看看