C# 使用InStr的替代方案

C# 使用InStr的替代方案,c#,vb.net,C#,Vb.net,如何使用不同的函数“InStr” 这是我正在使用的代码,工作很好,但离开InStr是我的目标 i = InStr(1, Hostname, Environment.Newline) String.Indexof()带有多个重载: Dim jstr=“如果一只土拨鼠 '从起点查找角色 ndx=jstr.IndexOf(“w”c)==2(第一个w) '或在某一范围内: ndx=jstr.IndexOf(“o”c,12)==15第一个o过去12个(可能) “找到一个字符串 ndx=jstr.Inde

如何使用不同的函数“InStr” 这是我正在使用的代码,工作很好,但离开InStr是我的目标

i = InStr(1, Hostname, Environment.Newline)
String.Indexof()
带有多个重载:

Dim jstr=“如果一只土拨鼠
'从起点查找角色
ndx=jstr.IndexOf(“w”c)==2(第一个w)
'或在某一范围内:
ndx=jstr.IndexOf(“o”c,12)==15第一个o过去12个(可能)
“找到一个字符串
ndx=jstr.IndexOf(“木材”)’==9
“……从一个起点
ndx=jstr.IndexOf(“木头”,10)==22(土拨鼠)
“…或字符串的一部分
ndx=jstr.IndexOf(“chuck”,9,15)”-1(该范围内无一个)
'使用指定的比较方法:
ndx=jstr.IndexOf(“WOOD”,StringComparison.InvariantCultureIgnoreCase)”9
ndx=jstr.IndexOf(“木材”,nFirst,StringComparison)
ndx=jstr.IndexOf(“WOOD”、nFirst、nLast、StringComparison)
还有一种方法可以获取字符串中最后出现的内容,该方法还具有各种重载

在或对象浏览器(查看菜单|对象浏览器)中,在您附近的VS中可用

i=Hostname.Indexof(Environment.Newline,1)
如果需要等效的C代码,可以使用Microsoft.VisualBasic汇编中的
字符串
类,因此代码可以如下所示:

using Microsoft.VisualBasic;
. . . 
i = Strings.InStr(1, Hostname, Environment.NewLine);

另一种方法是使用适当的
String.Indexof
函数

链接:


C#标签上的抓地力很好,两者都需要吗???无论如何,你应该避免发布特定版本的链接。也就是说,不要使用第一个链接,试试这个。我们是否在末尾添加+1,因为Instr计数从1开始,但IndexOf()是基于0的?