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

 更新时间:2024年06月12日 10:45:35   作者:嵌入式学习和实践  
在C#中,要判断一个字符串是否不等于空(即它既不是null也不是空字符串""),方法有如下几种,文中通过代码示例讲解的非常详细,对大家的学习或工作有一定的帮助,需要的朋友可以参考下

方法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#判断字符串内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • C#实现二维数据数组导出到Excel的详细过程

    C#实现二维数据数组导出到Excel的详细过程

    将数据库查询出来的数据导出并生成 Excel 文件,是项目中经常使用的一项功能,本文将介绍通过数据集生成二维数据数组并导出到 Excel,文中有详细的代码供大家参考,需要的朋友可以参考下
    2024-09-09
  • C# L型棋牌覆盖实现代码与效果

    C# L型棋牌覆盖实现代码与效果

    C# L型棋牌覆盖实现代码与效果,需要的朋友可以参考一下
    2013-04-04
  • Unity实现截屏以及根据相机画面截图

    Unity实现截屏以及根据相机画面截图

    这篇文章主要为大家详细介绍了Unity实现截屏以及根据相机画面截图,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-04-04
  • C# TextBox控件实现只能输入数字的方法

    C# TextBox控件实现只能输入数字的方法

    这篇文章主要介绍了C# TextBox控件实现只能输入数字的方法,本文使用TextBox的keypress事件实现这个需求,需要的朋友可以参考下
    2015-06-06
  • 关于Unity中RectTransform与transform的区别

    关于Unity中RectTransform与transform的区别

    这篇文章主要介绍了Unity中RectTransform与transform的区别,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-01-01
  • C#中WPF颜色对话框控件的实现

    C#中WPF颜色对话框控件的实现

    在 C# WPF开发中颜色对话框控件(ColorDialog)用于对界面中的背景、文字…(拥有颜色属性的所有控件)设置颜色,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-03-03
  • C#中使用DataContractSerializer类实现深拷贝操作示例

    C#中使用DataContractSerializer类实现深拷贝操作示例

    这篇文章主要介绍了C#中使用DataContractSerializer类实现深拷贝操作示例,本文给出了实现深拷贝方法、测试深拷贝方法例子、DataContractSerializer类实现深拷贝的原理等内容,需要的朋友可以参考下
    2015-06-06
  • WPF实现时钟特效

    WPF实现时钟特效

    这篇文章主要介绍了WPF实现时钟特效,过程很简单,感兴趣的小伙伴们可以参考一下
    2015-11-11
  • C#抽象类和接口的区别分析

    C#抽象类和接口的区别分析

    这篇文章主要介绍了C#抽象类和接口的区别,详细的分析了抽象类与接口的概念与特性,并对二者作出比对说明,需要的朋友可以参考下
    2014-10-10
  • C#二叉搜索树算法实现步骤和实例代码

    C#二叉搜索树算法实现步骤和实例代码

    二叉搜索树(Binary Search Tree,简称BST)是一种节点有序排列的二叉树数据结构,这篇文章主要介绍了C#二叉搜索树算法实现步骤和实例代码,需要的朋友可以参考下
    2024-08-08

最新评论