c# – .NET是否有办法将空字符串解析为String.Empty?
我有一个单行方法将空字符串解析为string.Empty,我认为这可能是一个有用的扩展方法 – 但我找不到一个有用的方法来实现它.
我可以看到它有用的唯一方法是作为字符串类的静态方法,因为很明显它不能归因于实例,因为实例为null,这会导致编译器错误. [编辑:编译错误是由于未初始化的变量,我误解了] 我想将它添加到帮助程序类中,但这只会从可发现性角度增加不必要的复杂性. 所以这个问题分为两部分我想: > .NET框架是否具有将null字符串解析为string.Empty的内置方法,这是我在路上某处遗漏的常识? 提前干杯 编辑: 好吧,我想我应该更清楚一点 – 我已经很清楚空煤化了,而且我正在一个地方使用它,我已经检查了十几个字符串来计算哈希码. 正如你可以想象的那样,紧跟在一起的12行代码都包含了null的运算语法,这是一个眼睛,所以我将null的运算操作移到了一个方法上,让眼睛更方便.然而,这是完美的,它将是字符串对象的完美扩展: int hashcode = FirstValue.ResolveNull().GetHashCode() ^ SecondValue.ResolveNull().GetHashCode() ^ ... 超过十几行比阅读更容易: int hashcode = (FirstValue ?? String.Empty).GetHashCode() ^ (SecondValue ?? String.Empty).GetHashCode() ^ ... 当我没有显式地将我的字符串值声明为null但依赖于隐式时,我遇到了编译器问题: string s; 但是,如果您明确定义: string s = null; 你可以很轻松地打电话: s.ResolveNull(); 谢谢大家的意见. 解决方法
可以在null接收器上调用C#3.0扩展方法(因为它们在实践中是静态的),但表现为实例方法.所以只需将其作为扩展方法. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |