C#判断字符串不等于空的方法小结

来自:网络
时间:2024-09-10
阅读:

方法1

使用逻辑运算符和string.IsNullOrEmpty方法

string myString = "123"; // 假设要检查的字符串  
if (!string.IsNullOrEmpty(myString))  
{  
    // 字符串不是null,也不是空字符串  
}

方法2

使用逻辑运算符和string.IsNullOrWhiteSpace方法(如果还要检查空白字符串,如只包含空格、制表符或换行符的字符串)

string myString ="123"; // 假设这是要检查的字符串  
if (!string.IsNullOrWhiteSpace(myString))  
{  
    // 字符串不是null,也不是空字符串或仅包含空白字符  
}

方法3

使用逻辑运算符和直接比较(只检查空字符串,不检查null)

string myString = "123"; // 假设这是要检查的字符串  
if (myString != null && myString != "")  
{  
    // 字符串不是null,也不是空字符串  
}

方法4

使用C# 8.0及更高版本的空合并运算符(null-conditional operator)和逻辑运算符(仅当需要提供一个默认值时使用)

string myString ="123"; // 假设这是要检查的字符串  
string nonNullOrEmptyString = myString ?? ""; // 如果myString是null,则nonNullOrEmptyString将被设置为""  
if (nonNullOrEmptyString != "")  
{  
    // 字符串不是空字符串(但可能是null,但在这个例子中已经被转换成了"")  
}

但是,请注意,上面的方法4只检查了空字符串,并没有检查原始字符串是否为null。如果需要同时检查null和空字符串,最好使用第一种或第二种方法。

测试代码

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void strFun1()
        {
            string myString ="123"; // 假设要检查的字符串  
            if (!string.IsNullOrEmpty(myString))
            {
                // 字符串不是null,也不是空字符串  
                MessageBox.Show("字符串不是null,也不是空字符串");
            }
            myString = null;
            if (string.IsNullOrEmpty(myString))
            {
                // 字符串不是null,也不是空字符串  
                MessageBox.Show("字符串是null或是空字符串");
            }
            myString = "";
            if (string.IsNullOrEmpty(myString))
            {
                // 字符串不是null,也不是空字符串  
                MessageBox.Show("字符串是null或是空字符串");
            }
        }

        private void strFun2()
        {
            string myString ="123"; // 假设这是要检查的字符串  
            if (!string.IsNullOrWhiteSpace(myString))
            {
                // 字符串不是null,也不是空字符串或仅包含空白字符  
                MessageBox.Show("字符串不是null,也不是空字符串或仅包含空白字符");
            }
            myString = null;
            if (string.IsNullOrWhiteSpace(myString))
            {
                // 字符串不是null,也不是空字符串  
                MessageBox.Show("字符串是null或是空字符串或仅包含空白字符");
            }
            myString = "";
            if (string.IsNullOrWhiteSpace(myString))
            {
                // 字符串不是null,也不是空字符串  
                MessageBox.Show("字符串是null或是空字符串或仅包含空白字符");
            }
            myString = "  ";
            if (string.IsNullOrWhiteSpace(myString))
            {
                // 字符串不是null,也不是空字符串  
                MessageBox.Show("字符串是null或是空字符串或仅包含空白字符");
            }
        }
        private void strFun3()
        {
            string myString = "123"; // 假设要检查的字符串  
            if (myString != null && myString != "")
            {
                // 字符串不是null,也不是空字符串  
                MessageBox.Show("字符串不是null,也不是空字符串"); 
            }
            myString = null;
            if (myString == null )
            {
                // 字符串是null 
                MessageBox.Show("字符串是null");
            }
            myString = "";
            if (myString == "")
            {
                // 字符串是空字符串  
                MessageBox.Show("字符串是空字符串");
            }
        }

        private void strFun4()
        {
            string myString = "123"; // 假设要检查的字符串  

            string nonNullOrEmptyString = myString ?? ""; // 如果myString是null,则nonNullOrEmptyString将被设置为""  


            if (nonNullOrEmptyString != null && nonNullOrEmptyString != "")
            {
                // 字符串不是null,也不是空字符串  
                MessageBox.Show("字符串不是null,也不是空字符串");
            }
            if (nonNullOrEmptyString == null)
            {
                // 字符串是null 
                MessageBox.Show("字符串是null");
            }
            if (nonNullOrEmptyString == "")
            {
                // 字符串是空字符串  
                MessageBox.Show("字符串是空字符串");
            }
        }

        private void button1_Click(object sender, EventArgs e)
        {
            strFun1();
        }

        private void button2_Click(object sender, EventArgs e)
        {
            strFun2();
        }

        private void button3_Click(object sender, EventArgs e)
        {
            strFun3();
        }

        private void button4_Click(object sender, EventArgs e)
        {
            strFun4();
        }
    }
}

C#判断字符串不等于空的方法小结

C#判断字符串不等于空的方法小结

返回顶部
顶部