C# 判断字符串不等于空的示例

在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();}}
}

在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/23113.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Capture One Pro 23:专业 Raw 图像处理的卓越之选

在当今的数字摄影时代,拥有一款强大的图像处理软件至关重要。而 Capture One Pro 23 for Mac/Win 无疑是其中的佼佼者,为摄影师和图像爱好者带来了前所未有的体验。 Capture One Pro 23 以其出色的 Raw 图像处理能力而闻名。它能够精准地解析和处理各种…

微软不再允许Windows 11通过1@1.com绕过登录 但还有其他办法可以继续用

微软不再允许 Windows 11 通过 11.com 和 nothankyou.com 绕过登录,但断网的情况下使用 OOBE\BYPASSNRO 命令仍然是有效的。如果你在安装或重置系统时仍然需要创建本地账户,请直接使用 OOBE 命令。 在 Windows 11 家庭版和专业版中用户必须保持设备联网…

【SW-拉伸曲面】

拉伸曲面记录 前言一、步骤二、结果展示总结 前言 2024/6/4去教xyy的时候学到了新的技能ε(┬┬﹏┬┬)3 一、步骤 画好草图之后点拉伸曲面 注意选的时候要选线条,不要选择面 二、结果展示 超级薄的曲面结构出来了。 总结 这篇文章依旧没有总结

设计模式-策略模式(行为型)

行为型-策略模式 了解策略模式 策略模式是一种行为型设计模式,在策略模式中定义了一系列算法或者策略,并将这些策略封装到独立的类中,使得可以相互替换。在使用时,可以指定响应的策略使用。 角色 策略接口:对于某种…

uniPush2.0消息推送(云对象)

1.创建uniCloud云开发环境 关联云服务空间(没有云空间到官网上创建)步骤如下 2. index.obj.js代码 ,然后上传部署 // 云对象教程: https://uniapp.dcloud.net.cn/uniCloud/cloud-obj // jsdoc语法提示教程:https://ask.dc…

STM32电子实战项目(一)记录:BLDC kitchen prep centre

产品目的: 解决搅拌机食材粘壁问题。 产品功能及需求分析: 需求分析及实现可能性: 从项目需求看,该项目要实现的功能并不复杂,控制电机的正反转及对应LED显示即可,同时也没必要控制电机转速,…

如何根据业务需求,轻松挑选SSL证书?

在当今数字化时代,网站的安全性愈发受到重视。SSL证书作为网站安全的“守门员”,不仅能保护用户数据不被窃取,还能提升网站的信任度。但面对市场上琳琅满目的SSL证书产品,如何根据业务需求挑选合适的证书呢?今天&#…

流量分析——一、蚁剑流量特征

君衍. 一、Webshell特征流量分析二、环境介绍三、使用Wireshark进行流量分析1、环境说明2、HTTP追踪流分析3、蚁剑请求体中代码块解读 四、使用BurpSurite进行流量分析1、环境配置2、抓包分析 六、总结 一、Webshell特征流量分析 对于重保、护网等攻防演练的防守方来说&#x…

wps:样式集的使用【笔记】

wps:样式集的使用【笔记】 前言版权推荐wps:样式集的使用1拿到一个内容模板2修改样式集3修改样式的详细说明4保存样式集5应用样式集 说明另外最后 前言 2024-6-5 23:36:20 以下内容源自《【笔记】》 仅供学习交流使用 版权 禁止其他平台发布时删除以…

LLM大语言模型(十六):最新开源 GLM4-9B 本地部署,带不动,根本带不动

目录 前言 本机环境 GLM4代码库下载 模型文件下载:文件很大 修改为从本地模型文件启动 启动模型cli对话demo 慢,巨慢,一个字一个字的蹦 GPU资源使用情况 GLM3资源使用情况对比 前言 GLM-4-9B 是智谱 AI 推出的最新一代预训练模型 …

Apache Superset:数据可视化的现代开源解决方案

Superset: 洞察数据,一目了然- 精选真开源,释放新价值。 概览 Apache Superset 是一个由 Apache 软件基金会支持的开源数据可视化和数据探索平台。它允许用户以直观的方式构建丰富的数据报告和仪表板,支持从多种数据源中提取数据…

2024版本---LabVIEW 软件安装及使用教程

目录 第1章 LabVIEW 软件安装及使用教程 1. 简介 2. 安装教程 2.1 下载 LabVIEW 2024 版本 2.2 安装 LabVIEW 3. 激活 LabVIEW 4. LabVIEW 基本使用教程 4.1 用户界面介绍 4.2 创建一个简单的 VI(虚拟仪器) 4.3 数据采集示例 5. 进阶功能介绍…

如何将华为Ascend手机的短信和联系人安全传输到电脑

华为Ascend系列手机以其流畅的使用体验、光滑的触感以及轻巧的设计赢得了市场的青睐。不仅如此,Ascend系列手机还以亲民的价格和出色的用户体验,搭载了众多先进功能,如Ascend P6的4.7英寸大屏、海思四核处理器、2GB RAM和800万像素摄像头等。…

66、API攻防——接口安全阿里云KEYPostmanDVWS

文章目录 一、工具使用——Postman自动化测试二、安全问题——Dvws泄露&鉴权&XXE三、安全问题——阿里KEY信息泄露利用 dvws-node 一、工具使用——Postman自动化测试 二、安全问题——Dvws泄露&鉴权&XXE 路径中出现/api/,一般都是接口。 请求包是…

宏集Panorama SCADA:个性化定制,满足多元角色需求

前言 在考虑不同人员在企业中的职能和职责时,他们对于SCADA系统的需求可能因其角色和工作职责的不同而有所差异。在SCADA系统的设计和实施过程中,必须充分考虑和解决这种差异性。 为了满足不同人员的需求, 宏集Panorama SCADA平台具备灵活的功能和定制…

Spring Boot 应用打 WAR 包后无法注册到 Nacos怎么办

你好,我是柳岸花开。 在微服务架构中,服务注册与发现是至关重要的一环。Nacos 作为阿里巴巴开源的注册中心,能够很好地满足这一需求。然而,在将 Spring Boot 应用打包成 WAR 部署到外部服务器时,可能会遇到服务无法注册…

基于R语言BIOMOD2 及机器学习方法的物种分布模拟

BIOMOD2是一个R软件包,用于构建和评估物种分布模型(SDMs)。它集成了多种统计和机器学习方法,如GLM、GAM、SVM等,允许用户预测和分析物种在不同环境条件下的地理分布。通过这种方式,BIOMOD帮助研究者评估气候…

AWS EMR Serverless

AWS概述 EMR Serverless 简介 在AWS概述一文中简单介绍过AWS EMR, 它是AWS提供的云端大数据平台。借助EMR可以设置集群以便在几分钟内使用大数据框架处理和分析数据。创建集群可参考官方文档:Amazon EMR 入门。但集群创建之后需要一直运行,用户需要管理…

Nginx+Tomcat负载均衡、动静分离集群

目录 1.Nginx负载均衡 1.1 负载均衡概念 1.2 负载均衡原理 1.3 Nginx配置反向代理 1.3.1 反向代理概念 1.3.2 反向代理主要参数 2.Nginx动静分离 2.1 动静分离的概念 2.2 Nginx 静态处理优势 2.3 动静分离原理 3. NginxTomcat动静分离的实验设计 3.1 准备三台虚拟机…

js 选择一个音频文件,绘制音频的波形,从右向左逐渐前进。

选择一个音频文件&#xff0c;绘制波形&#xff0c;从右向左逐渐前进。 完整代码&#xff1a; <template><div><input type"file" change"handleFileChange" accept"audio/*" /><button click"stopPlayback" :…