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#开发OPC Server服务器源码解析

    使用C#开发OPC Server服务器源码解析

    OPC Server服务器服务器的开发比较繁琐,本示例采用C#提供了一种简单快速实现OPCServer的方法,已经在工程项目中应用,本文对C#开发OPC Server服务器相关知识给大家介绍的非常详细,需要的朋友参考下吧
    2022-06-06
  • winform把Office转成PDF文件

    winform把Office转成PDF文件

    这篇文章介绍了winform把Office转成PDF文件的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-06-06
  • C#使用DeepSeek API实现自然语言处理,文本分类和情感分析

    C#使用DeepSeek API实现自然语言处理,文本分类和情感分析

    在C#中使用DeepSeek API可以实现多种功能,例如自然语言处理、文本分类、情感分析等,本文主要为大家介绍了具体实现步骤,需要的可以了解下
    2025-02-02
  • WinForm实现拦截窗体上各个部位的点击特效实例

    WinForm实现拦截窗体上各个部位的点击特效实例

    这篇文章主要介绍了WinForm实现拦截窗体上各个部位的点击特效实例,对窗体上各个部位进行定义,从而实现了点击特效,需要的朋友可以参考下
    2014-09-09
  • C#获取字符串后几位数的方法

    C#获取字符串后几位数的方法

    这篇文章主要介绍了C#获取字符串后几位数的方法,实例分析了C#操作字符串的技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-03-03
  • C#实现汉字转拼音(多音字)功能详解

    C#实现汉字转拼音(多音字)功能详解

    这篇文章主要为大家详细介绍了如何利用C#实现汉字转拼音(支持多音字)的功能,文中的示例代码讲解详细,对我们学习C#有一定的帮助,感兴趣的小伙伴可以跟随小编一起了解一下
    2023-02-02
  • C#导出生成excel文件的方法小结(xml,html方式)

    C#导出生成excel文件的方法小结(xml,html方式)

    C#导出生成excel文件的方法小结(xml,html方式)。需要的朋友可以过来参考下,希望对大家有所帮助
    2013-10-10
  • 向一个数组中插入一个1~100的随机数

    向一个数组中插入一个1~100的随机数

    这篇文章主要介绍了如何向一个数组中插入一个1~100的随机数,思路很简单,需要的朋友可以参考下
    2014-07-07
  • C#实现SMTP服务发送邮件的示例代码

    C#实现SMTP服务发送邮件的示例代码

    这篇文章主要为大家详细介绍了如何利用C#实现SMTP服务发送邮件的功能,文中的示例代码讲解详细,对我们学习C#有一定的帮助,感兴趣的小伙伴可以跟随小编一起了解一下
    2022-12-12
  • 浅谈C#中的Async和Await的用法详解

    浅谈C#中的Async和Await的用法详解

    这篇文章主要介绍了浅谈C#中的Async和Await的用法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-03-03

最新评论