.NET FISHER

专注.NET, Sharepoint, MCMS, WinFX, Ajax....

导航

判断空字符串

Posted on 2006-03-08 12:15  FISHER  阅读(2850)  评论(10编辑  收藏  举报

有许多种办法可以判断一个字符串是否为空,如 s == ""; s.Length == 0; s.IsNullOrEmpty(); 等等。那种最好呢?自己试一下吧 (C# 2.0).

using System.Diagnostics;
namespace POC
{
        class Pragram
        {
        static void Main(string[] args)
        {
            for (int i = 0; i < 10; i++)
            {
                TestStringLength();
                Console.WriteLine("------------------");
            }

              Console.Write("Press any key to exit...");
              Console.Read();
        }
        private static void TestStringLength()
        {

            string s = "abc";
            Stopwatch sw = new Stopwatch();
            sw.Start();
            for (int i = 0; i < 1000000; i++)
            {
                if (s.Equals("")) ;
            }
            sw.Stop();
            Console.WriteLine(sw.ElapsedMilliseconds);


            sw.Reset();
            sw.Start();
            for (int i = 0; i < 1000000; i++)
            {
                if (s == "") ;
            }
            sw.Stop();
            Console.WriteLine(sw.ElapsedMilliseconds);

            sw.Reset();
            sw.Start();
            for (int i = 0; i < 1000000; i++)
            {
                if (s.Length > 0) ;
            }
            sw.Stop();
            Console.WriteLine(sw.ElapsedMilliseconds);

            sw.Reset();
            sw.Start();
            for (int i = 0; i < 1000000; i++)
            {
                if (s!=null && s.Length > 0) ;
            }
            sw.Stop();
            Console.WriteLine(sw.ElapsedMilliseconds);

            sw.Reset();
            sw.Start();
            for (int i = 0; i < 1000000; i++)
            {
                if (!string.IsNullOrEmpty(s)) ;
            }
            sw.Stop();
            Console.WriteLine(sw.ElapsedMilliseconds);
        }
        }
}