ser*_*hio 2 .net c# vb.net string
在C#中存在一个问题:没有不区分大小写的String.Contains方法(请参阅不区分大小写的'包含(字符串)').
在VB.NET中问题是一样的,但有一个解决方法:
Dim Str As String = "UPPERlower"
Dim b As Boolean = InStr(Str, "UpperLower")
Run Code Online (Sandbox Code Playgroud)
但是,我对它几乎没有"问题":
1)在Visual Studio 的立即窗口中,此方法显示为"未声明";
2)如何动态调用此方法(应该是"调用者"对象)?说实际上我应该这样称呼它:
expr = Expression.Call(myStringParam, "Contains", Nothing, constantExpression, Expression.Constant(StringComparison.InvariantCultureIgnoreCase))
Run Code Online (Sandbox Code Playgroud)
3)功能位于何处(谁拥有,组装)InStr?
(我现在看到你的问题也涉及表达式,我没有太多经验,但谢天谢地Jon Skeet可以帮助你.至于你的问题的其他部分,我的原始答案如下. )
InStr存在于里面Microsoft.VisualBasic.Strings.从C#代码调用它的一个例子
string myString = "Hello World";
int position = Microsoft.VisualBasic.Strings.InStr(myString, "world");
Run Code Online (Sandbox Code Playgroud)
当然,如果我想要一个不区分大小写的结果,我会选择IndexOf存在的重载,System.String这允许我指定一个StringComparison.
int index = myString.IndexOf("world", StringComparison.CurrentCultureIgnoreCase);
Run Code Online (Sandbox Code Playgroud)
另请注意,InStr对于找到的项目,从1 IndexOf开始,对于此类项目,从0开始.index != position在此代码段中.
| 归档时间: |
|
| 查看次数: |
4321 次 |
| 最近记录: |