有没有办法让以下返回true?
string title = "ASTRINGTOTEST";
title.Contains("string");
Run Code Online (Sandbox Code Playgroud)
似乎没有一个过载允许我设置区分大小写.目前我大写它们两个,但这只是愚蠢(我指的是上下套管的i18n问题).
更新
这个问题是古老的,从那时起我就意识到,如果你想完全研究它,我会要求一个简单的答案来解决一个非常庞大和困难的话题.
对于大多数情况,在单语言的英语代码库中,这个答案就足够了.我怀疑是因为大多数人来到这个类别这是最受欢迎的答案.然而,
这个答案提出了一个固有的问题,即我们无法比较文本不区分大小写,直到我们知道两个文本是相同的文化并且我们知道文化是什么.这可能是一个不太受欢迎的答案,但我认为它更正确,这就是为什么我这样标记它.
我要做的是使用字符串在类中设置属性的值.例如,我的类具有以下属性:
myClass.Name
myClass.Address
myClass.PhoneNumber
myClass.FaxNumber
Run Code Online (Sandbox Code Playgroud)
所有字段都是字符串类型,所以我提前知道它总是一个字符串.现在我希望能够使用字符串设置属性,就像使用DataSet对象一样.像这样的东西:
myClass["Name"] = "John"
myClass["Address"] = "1112 River St., Boulder, CO"
Run Code Online (Sandbox Code Playgroud)
理想情况下,我只想分配一个变量,然后使用变量中的字符串名称设置属性
string propName = "Name"
myClass[propName] = "John"
Run Code Online (Sandbox Code Playgroud)
我正在阅读关于反思的内容,也许是这样做的方法,但我不确定如何设置它,同时在课堂上保持属性访问不变.我想仍然可以使用
myClass.Name = "John"
Run Code Online (Sandbox Code Playgroud)
任何代码示例都非常棒.
我有一个像这样的签名的方法
void RefreshMethod<T>(IEnumerable<T> lst, string propertyName) where T:class
{
Type type = typeof(T);
PropertyInfo property = type.GetProperties().Single(u => u.Name == primaryKeyProperty);
//query goes here
}
Run Code Online (Sandbox Code Playgroud)
现在我想查询该集合以获取其所有值
propertyName <0
在一个简单的场景中,它就像这样容易
lst.where(u=>u.ID<0)
Run Code Online (Sandbox Code Playgroud)
但在这里我没有那个ID属性,但有相应的"PropertyInfo"对象.
我应该怎么做到这一点.
善意的指导