首页 > 解决方案 > 当字符串为空时返回 DBnull 的扩展

问题描述

我正在尝试为 C# 中的字符串创建自定义扩展名,请在下面找到示例,我的要求是DBNull当字符串无效时应返回此扩展名,否则应返回文本。这个怎么做。 My Factory.IsValidString具有所有检查以确定字符串是否有效。

public static string DBString(this string Text)
{
    return (!Factory.ISValidString(Text)) ? DBNull: Text;
}

标签: c#stringextension-methods

解决方案


这里不需要使用DBNull.Valuejust useSqlString.Null并将返回类型更改为SqlStringand ,因为它存在stringand之间的隐式转换SqlString

public static SqlString DBString(this string Text)
{
    return (!Factory.ISValidString(Text)) ? SqlString.Null : Text;
}

这个解决方案让调用者知道他正在处理一个SqlString类型,而不仅仅是一个object可能包含任何内容的类型。


推荐阅读