- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我正在尝试为 String
类创建额外的功能(IsNullOrWhitespace
与 .NET4 中一样)但我在引用时遇到问题:
Error 1 'String' is an ambiguous reference between 'string' and 'geolis_export.Classes.String'
我不想创建扩展方法。因为如果 string x = null;
用法:
private void tbCabineNum_PreviewTextInput(object sender, TextCompositionEventArgs e)
{
e.Handled = !e.Text.All(Char.IsNumber) || String.IsNullOrWhiteSpace(e.Text);
}
部分字符串:
public partial class String
{
public static bool IsNullOrWhiteSpace(string value)
{
if (value == null) return true;
return string.IsNullOrEmpty(value.Trim());
}
}
难道不能为 String
类创建额外的东西吗?我试图将部分放在 System
命名空间中,但这会导致其他错误。
将 String
重命名为 String2
也解决了这个问题。但这不是我想要的,因为那样就没有对原始 String
类的引用。
最佳答案
这样是不行的,因为.NET framework中的string
类是不偏的。
相反,使用像这样的真正的扩展方法:
public static class StringExtensions
{
public static bool IsNullOrWhiteSpace(this string value)
{
if (value == null) return true;
return string.IsNullOrEmpty(value.Trim());
}
}
用法是这样的:
string s = "test";
if(s.IsNullOrWhiteSpace())
// s is null or whitespace
与所有扩展方法一样,如果字符串为 null
,则调用不会导致空引用异常:
string s = null;
if(s.IsNullOrWhiteSpace()) // no exception here
// s is null or whitespace
出现这种行为的原因是编译器会将这段代码翻译成等价于以下 IL 代码的 IL 代码:
string s = null;
if(StringExtensions.IsNullOrWhiteSpace(s))
// s is null or whitespace
关于C# 3.5 分部类 String IsNullOrWhiteSpace,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6535492/
我使用带有“IsNullOrWhiteSpace(+textbox)”的 if 条件来引用没有值或只有空格的文本文件。但是,现在我需要知道 hot 才能指定一个非空字段或仅空格。 这是我写的代码: i
是否有等同于 .NET 的 String.IsNullOrWhitespace 的 JavaScript以便我可以检查客户端的文本框是否包含任何可见文本? 我宁愿先在客户端执行此操作,也不愿回发文本框
我有一行代码 var delimiter = string.IsNullOrWhiteSpace(foundDelimiter) ? "," : foundDelimiter; 当 foundDeli
我有以下代码: var countries = from c in db.Countries where (string.IsNullOrWhiteSpace(searchAlpha2) ||
亲们, 我正在查看 string.IsNullOrWhiteSpace 的实现: http://typedescriptor.net/browse/types/9331-System.String 实
我有以下代码: return this.ObjectContext.BranchCostDetails.Where( b => b.TarrifId == tariffId && b.Diam
我遇到了隐藏字符 \0 的问题这很像 string.IsNullOrWhiteSpace 方法不将其视为空白的“空白”。我想知道为什么这在 .NET 中以这种方式实现,是否有任何替代 string.I
我是 python 新手,想找到 C# string.IsNullOrWhiteSpace 的等效项在Python中。通过有限的网络搜索,我创建了以下函数 def isNullOrWhiteSpace
我是 python 新手,想找到 C# string.IsNullOrWhiteSpace 的等效项在Python中。通过有限的网络搜索,我创建了以下函数 def isNullOrWhiteSpace
我正在尝试使用 IQueryable 表达式执行以下操作: (from Person p in s select new { label = p.FirstName
.Net 4 中是否定义了 IsNullOrWhiteSpace 的扩展方法? 之前用过这个扩展方法,但是找不到,开始怀疑当时是不是自己在用自定义扩展,没有意识到。 最佳答案 您可能有对 WebGre
我正在尝试为 String 类创建额外的功能(IsNullOrWhitespace 与 .NET4 中一样)但我在引用时遇到问题: Error 1 'String' is an ambiguous r
我遇到了一个奇怪的案例,其中一段代码旨在从 MSFT Azure Phrase Breaker 处理一段文本后清除空白字符串、句点破折号等。我可以借助帮助来弄清楚如何调试问题。 当给定 "" 值时,以
我正在尝试在我的 .Net 3.5 (C#) 项目中使用 Contracts。我发现我在哪里写了类似的东西方法的开始。 我可以将它们留在那里并使用遗留契约(Contract)。我可以将其更改为 Con
在 Visual Studio 2015 中工作,我对以下效果进行了条件检查: if(String.IsNullOrWhiteSpace(stringToTest)) 我看到了一个 IDE001 qu
这个问题在这里已经有了答案: string.IsNullOrEmpty(string) vs. string.IsNullOrWhiteSpace(string) (10 个答案) 关闭 4 年前。
我知道这是一个非常容易手动检查的事情,但是在 C++ 中是否有一种开箱即用的推荐方法来检查 std::string 是空的还是只包含空白字符? 如果标准库没有这个,还有其他库吗? 最佳答案 最简单的答
在 .NET 4.0 及更高版本中存在 string.IsNullOrWhiteSpace(string) 时,在检查字符串时使用 string.IsNullOrEmpty(string) 是否被视为
string.IsNullOrEmpty(myString.Trim()) 与 string.IsNullOrWhiteSpace(myString) 哪个更快或更可靠,为什么? 最佳答案 如果 my
我有以下代码契约(Contract): public void F(string x) { Contract.Requires(!string.IsNullOrWhiteSpace(x));
我是一名优秀的程序员,十分优秀!