我有一个运行得很好的:

var firstName = "Greg";
var ipAddress = "0.0.0.0";

var sql = @$"sp_create_enrollment @first_name = '{firstName}',
        @ip_address = '{ipAddress}'";

Console.WriteLine(sql);

这会产生以下结果:

sp_create_enrollment @first_name = 'Greg', @ip_address = '0.0.0.0'

但是,如果IP_ADDRESS为空,我需要它来生成以下内容:

sp_create_enrollment @first_name = 'Greg', @ip_address = null

请注意,空值前后没有引号,否则它将作为字符串传递.

我怎样才能做到这一点?

推荐答案

您可以这样做:

var firstName = "Greg";
string ipAddress = "'0.0.0.0'";

var sql = @$"sp_create_enrollment @first_name = '{firstName}',
        @ip_address = {(string.IsNullOrWhiteSpace(ipAddress) ? "null" : ipAddress)}";

Console.WriteLine(sql);

Csharp相关问答推荐

Regex在c#中完全匹配

向类注入一个工厂来创建一些资源是一个好的实践吗?

Microsoft. SQLServer. Types(106.1000.6)在try 从用户定义的类型检索值时引发异常

我需要两个属性类吗

为什么将鼠标悬停在DateTimeOffset上只显示Hour值?

默认情况下,.NET通用主机(Host.CreateDefaultBuilder)中是否包含UseConsoleLifetime?

从ASP.NET Core中的枚举字段填充 Select 选项时,将默认的第一个选项添加为 Select 元素

System.Net.Http.HttpClient.SendAsync(request)在docker容器内的POST方法30秒后停止

当用户右键单击文本框并单击粘贴时触发什么事件?

try 在.Net核心身份注册页面中使用AJAX,但没有成功..NET Core 5.0 Razor页面应用程序

如何在C#中将方法/线程启动传递给基本构造函数

C#普罗米修斯指标

.NET并发词典交换值

委托RequestDelegate不带2个参数-ASP.NET Core 8最小API

Azure Functions v4中的Serilog控制台主题

此异步方法在重写方法中缺少等待运算符警告

使用未赋值的、传递的局部变量

C#中COM对象的实际地址

我想我必须手动使用res1(字符串形式的PowerShell哈希表)

C#If条件格式