- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在尝试在 C# 中为字符串创建自定义扩展,请看下面的示例,我的要求是当字符串无效时,此扩展应返回 DBNull
,否则应返回文本。这个怎么做。My Factory.IsValidString
具有确定字符串是否有效的所有检查。
public static string DBString(this string Text)
{
return (!Factory.ISValidString(Text)) ? DBNull: Text;
}
最佳答案
正如 Evk 在对您的帖子的评论中所说:
DBNull
andstring
are different types, and they have no common parent type except object, so your extension method should returnobject
and notstring
所以你应该像下面这样重构你的扩展方法:
public static object DBString(this string Text)
{
return (!Factory.ISValidString(Text)) ? (object)DBNull.Value: Text;
}
请记住,您可能需要将返回的对象转换为 string
或 DBNull
,具体取决于使用它的代码正在做什么。
关于c# - 当字符串为 null 时返回 DBnull 的扩展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50061543/
我的应用程序输出“System.InvalidCastException:“对象无法从 DBNull 转换为其他类型。” Dim sqlquery = String.Format("SELECT id
是否有人对如何检查值是否为 DBNull 有偏好? ?我发现这两个语句给了我想要的结果,但只是想知道是否有偏好? if (any is System.DBNull) 与...一样: if (any =
我很好奇使用 if(some_value is DBNull) 与 if(DBNull.Value.Equals(some_value)) 的优缺点是什么。我个人更喜欢 if(some_value i
我可以检查 DBnull使用任何方法在数据行上。 要么通过使用 if(dr[0][0]==DBNull.Value) //do somethin 或者通过做 if(dr[0][0].ToString(
如标题所示,我有一个代码,当数据库中没有几何图形并且 DbGeometry 获得空值时,我会收到带有空值的 DbNull 类型。但是当我想做一个 if 语句来检查 DbGeometry 是否等于 Db
我对 .NET 中的空值和变量有点困惑。 (首选VB) 有没有办法检查任何给定变量的“空值”,无论它是对象还是值类型?或者我的空检查是否必须始终预测它是检查值类型(例如 System.Integer)
编辑:从PowerShell 7 Preview 2开始,由于Joel Sallow通过pull request 9794,-not [System.DBNull]::Value的计算结果为$true
在 .NET 中有 null引用,到处都用来表示一个对象引用为空,然后还有DBNull ,它被数据库驱动程序(和其他几个)用来表示......几乎相同的东西。自然,这会造成很多困惑,并且必须制定转换例
SQLServer 整型字段。值有时为空。DataAdapter填充数据集OK,可以在DatagridView中显示数据。 当尝试以编程方式从数据集中检索数据时,数据集字段检索代码会抛出 Strong
现在我正在使用以下方法: string[] AudienceTags = ((string[])(relResults["NEVCOAudienceTag"].GetType() == typeof(
我有一个类型为的对象: dynamic {System.DBNull} 我要检查一下: if (myObject!= null || myObject!= DBNull.Value) { Mes
当使用 expando 对象填充我的数据表时,我在初始化新的 datarow 时遇到以下错误消息。异常(exception)情况是: Invalid Storage Type: DBNull publ
我得到 从类型 'DBNull' 到类型 'Integer' 的转换无效。”错误行“Dim avgObject As string = Cstr(avgCom.ExecuteScalar()) 当删除
当我从数据库中检索任何标量值时,我通常会为可为空的字段编写这样的代码。 cmd.ExecuteScalar() == DBNull.Value ? 0 : (int)cmd.ExecuteScalar
我需要从一个DataRow 中解析一个值并将其分配给另一个DataRow。如果输入有效,则我需要将其解析为 double,或者将 DBNull 值添加到输出。我正在使用以下代码: public dou
我正在尝试执行一个存储过程,然后使用 if 语句检查空值,但我做空了。我是 VB 专家,所以如果我犯了小学生语法错误,请多多包涵。 objConn = new SqlConnection(strCon
如果 DataRow 中的列可能是 DBNull , 是以下将 DBNull 替换为空字符串的最短方法? Dim result As String = if(isDBNull(dataRow1("co
我正在查看我正在处理的 .net 程序的一些代码。该程序的前任作者在一年前将代码给了我。突然,我看到一个我没有接触过的代码抛出的异常: if ((string)row["LevelName"] !=
当用户名与登录我的程序的用户相同时,我编写了从 Access 数据库中检索电子邮件地址的代码。我希望在名为 Email 的文本框中显示电子邮件地址值 Dim x If ConnectionDb.Sta
这个问题偶尔会出现,但我还没有看到令人满意的答案。 典型的模式是(行是DataRow): if (row["value"] != DBNull.Value) { someObject.
我是一名优秀的程序员,十分优秀!