jjzjj

windows - Powershell 多维数组 IndexOf 返回 -1

我正在运行将CitrixQFarm/load命令输出到文本文件的脚本;它本质上是两列,然后我将它们输入到一个多维数组中,这样它看起来像:SERVER1100SERVER2200SERVER3300我正在寻找特定服务器的indexOf,这样我就可以检查负载均衡器级别。当我使用indexOf方法时,我只会得到-1的返回;但是脚本末尾的明确write-host表明答案应该返回为41。为了将IndexOf与二维数组一起使用,是否需要发生一些魔法?$arrQFarm=@()$reader=[System.IO.File]::OpenText("B:\WorkWith.log")try{for(;

c# - ArgumentOutOfRangeException 使用 IndexOf 和 CultureInfo 1031

strings="GewerbegebietWaldstraße";//otherpossibleinput"Waldstrasse"intiFoundStart=s.IndexOf("strasse",StringComparison.CurrentCulture);if(iFoundStart>-1)s=s.Remove(iFoundStart,7);我正在运行CultureInfo1031(德语)。IndexOf将“straße”或“strasse”与定义的“strasse”匹配并返回18作为位置。Remove和Replace都不会因为设置文化而过载。如果我使用删除1个字符删除6

c# - 是否有带谓词的 String.IndexOf?

我需要能够说类似myString.IndexOf(c=>!Char.IsDigit(c))的东西,但我在.NET框架中找不到任何这样的方法。我错过了什么吗?以下是有效的,但我自己的滚动在这里似乎有点乏味:usingSystem;classProgram{staticvoidMain(){stringtext="555ttt555";intnonDigitIndex=text.IndexOf(c=>!Char.IsDigit(c));Console.WriteLine(nonDigitIndex);}}staticclassStringExtensions{publicstaticint

c# - LINQ to Entities 无法识别方法 'Int32 IndexOf(System.String, System.StringComparison)' 方法

我已经使用Entityframework执行了一个linq查询,如下所示GroupMastergetGroup=null;getGroup=DataContext.Groups.FirstOrDefault(item=>keyword.IndexOf(item.Keywords,StringComparison.OrdinalIgnoreCase)>=0&&item.IsEnabled)执行此方法时出现如下异常LINQtoEntitiesdoesnotrecognizethemethod'Int32IndexOf(System.String,System.StringCompariso

c# - 列表上的 IndexOf 太慢。更快的解决方案?

我有一个通用列表,它必须是一个保留顺序,所以我可以检索列表中对象的索引。问题是IndexOf太慢了。如果我将IndexOf注释掉,代码将尽可能快地运行。有没有更好的方法,例如用于c#的保留有序哈希列表?谢谢,内特编辑-添加/插入项目的顺序是它需要的顺序。无需对它们进行排序。此列表也有可能经常更新、添加、删除、插入。基本上我需要将对象转换为索引,因为它们在网格控件中表示,因此我可以根据索引在网格控件上执行操作。 最佳答案 如果它没有排序,但顺序需要保留,那么你可以有一个单独的Dictionary其中将包含每个元素的索引。如果您想要一个

c# - 使用正则表达式比使用 IndexOf 更快吗?

我有一个正在运行的应用程序,它查看队列中的项目,然后根据某些关键字应用一个类别-然后将其插入数据库。我正在使用IndexOf来确定某个关键字是否存在。这是理想的方式还是RegEX会更快?每秒大约处理10个项目。 最佳答案 对于仅查找关键字,IndexOf方法比使用正则表达式更快。正则表达式很强大,但它们的力量在于灵active,而不是原始速度。它们在简单的字符串操作中没有击败字符串方法。无论如何,如果字符串不是很大,那应该没什么关系,因为您不会经常这样做。 关于c#-使用正则表达式比使用

c# - 在 C# 中查看一个字符串是否包含另一个字符串的最快、不区分大小写的方法是什么?

编辑2:确认我的性能问题是由于对StringExtensions类的静态函数调用造成的。删除后,IndexOf方法确实是完成此操作的最快方法。在C#中查看一个字符串是否包含另一个字符串的最快、不区分大小写的方法是什么?我在Caseinsensitive'Contains(string)'看到该帖子的公认解决方案但我已经做了一些初步的基准测试,似乎使用该方法会导致在找不到测试字符串时对较大字符串(>100个字符)的调用速度降低几个数量级。以下是我知道的方法:索引:publicstaticboolContains(thisstringsource,stringtoCheck,StringC

C# 字符串中字符的第三个索引

有没有命令可以获取字符串中字符的第三个索引?例如:error:file.ext:line10:invalidcommand[test:)]在上面的句子中,我想要第3个冒号的索引,也就是第10个冒号旁边的那个。我该怎么做呢?我知道string.IndexOf和string.LastIndexOf,但在这种情况下,我想在第三次使用时获取字符的索引。 最佳答案 String.IndexOf将为您提供第一个的索引,但具有提供起点的重载。因此,您可以使用第一个IndexOf的结果加上一个作为下一个的起点。然后只需累积足够次数的索引即可:var

c# - .NET 字符串操作区分大小写吗?

IndexOf("blah")之类的.NET字符串函数是否区分大小写?根据我的内存,它们不是,但出于某种原因,我在我的应用程序中发现错误,其中查询字符串中的文本采用驼峰式大小写(如UserID),我正在测试IndexOf("用户ID"). 最佳答案 是的,字符串函数默认区分大小写。它们通常有一个重载,可让您指示所需的字符串比较类型。IndexOf也是如此。要以不区分大小写的方式获取字符串的索引,您可以执行以下操作:stringblaBlah="blaBlah";intidx=blaBlah.IndexOf("blah",String

c# - 登录到使用 Live.com 身份验证的站点

我一直在尝试自动登录我经常访问的网站www.bungie.net。该网站与Microsoft和XboxLive相关联,因此当人们登录到他们的网站时会使用WindowsLiveIDAPI。我对创建网络蜘蛛/机器人比较陌生,我担心我误解了一些最基本的概念。我已经模拟登录到其他网站,如Facebook和Gmail,但live.com给我带来了麻烦。无论如何,我一直在使用Wireshark和Firefox插件TamperData来尝试找出我需要发布的内容,以及我的请求中需要包含哪些cookie。据我所知,这些是登录此站点必须遵循的步骤。1.访问https://login.live.com/lo