• 字符串非空判断的效率问题


       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。

  • 相关阅读:
    python处理csv数据
    python数据持久存储:pickle模块的基本使用
    使用SVD方法实现电影推荐系统
    使用矩阵分解(SVD)实现推荐系统
    多维数组分解----SVD在推荐系统中的应用-
    Logistic Regression--逻辑回归算法汇总**
    Netflix推荐系统:从评分预测到消费者法则
    从决策树学习谈到贝叶斯分类算法、EM、HMM
    数据挖掘中 决策树算法实现——Bash
    决策树算法
  • 原文地址:https://www.cnblogs.com/lecone/p/12516424.html
Copyright © 2020-2023  润新知