zoukankan      html  css  js  c++  java
  • 字符串非空判断的效率问题

       static void TestString()
            {
                string[] allstring = File.ReadAllLines(Path.Combine(AppContext.BaseDirectory, "text.txt"));
                int i=0,j = 0;
                Stopwatch sw = new Stopwatch();
                sw.Start();
                foreach (var item in allstring)
                {
                    if (!string.IsNullOrWhiteSpace(item))
                    {
                        i++;
                    }
                    else
                    {
                        j++;
                    }
                }
                sw.Stop();
                Console.WriteLine($"IsNullOrWhiteSpace方法  总共{allstring.Length}数据,非空 {i++} 条,空 {j},耗时:{sw.ElapsedMilliseconds}");
            }
            static void TestString2()
            {
                string[] allstring = File.ReadAllLines(Path.Combine(AppContext.BaseDirectory, "text.txt"));
                int i = 0, j = 0;
                Stopwatch sw = new Stopwatch();
                sw.Start();
                foreach (var item in allstring)
                {
                    if (!string.IsNullOrEmpty(item))
                    {
                        i++;
                    }
                    else
                    {
                        j++;
                    }
                }
                sw.Stop();
                Console.WriteLine($"IsNullOrEmpty方法  总共{allstring.Length}数据,非空 {i++} 条,空 {j},耗时:{sw.ElapsedMilliseconds}");
            }
    
            static void TestString1()
            {
                string[] allstring = File.ReadAllLines(Path.Combine(AppContext.BaseDirectory, "text.txt"));
                int i = 0, j = 0;
                Stopwatch sw = new Stopwatch();
                sw.Start();
                foreach (var item in allstring)
                {
                    if (item!=null&&item.Length>0)
                    {
                        i++;
                    }
                    else
                    {
                        j++;
                    }
                }
                sw.Stop();
                Console.WriteLine($"==null length>0 方法  总共{allstring.Length}数据,非空 {i} 条,空 {j},耗时:{sw.ElapsedMilliseconds}");
            }
    

      本文主要测试三种判断字符串非空的方法。

    1.IsNullOrWhiteSpace  是否为null或空格字符。

    2.用==null && Length>0判断字符串是否为空。

    3.IsNullOrEmpty 判断字符是否为null或Empty。

    数据量

    100条内。

     万条内

     一万条

     10万条

     100万条

     500万条 带空格字符

     500万条 不带空格字符

     1500万条 带有空格字符。

    结论:

    1.数量少的时候你不需要纠结。三个哪个顺手就用哪个。

    2.数据量大的时候很明显 IsNullOrEmpty 是比较优秀的。

    3.如果要排除空格字符的话 还是要用 IsNullOrWhiteSpace。

  • 相关阅读:
    中国建设银行接口使用详细说明
    Web Service入门
    支付宝及时到帐接口使用详解深入版
    C#仿QQ皮肤-ComboBox 控件实现
    SQl 2005 For XMl 简单查询(Raw,Auto,Path模式)(2)
    GridView 使用方法总结 (二)
    小谈c#数据库存取图片的方式
    SQl 2005 For XMl 简单查询(Raw,Auto,Path模式)(1)
    GridView 使用方法总结 (一)
    C# UDP 入门
  • 原文地址:https://www.cnblogs.com/lecone/p/12516424.html
Copyright © 2011-2022 走看看