Heim >Backend-Entwicklung >C++ >Was ist der schnellste Weg, um String -Ereignisse in .NET zu zählen?
Finden Sie die Anzahl der Male im spezifischen Zeichen oder in einer bestimmten Zeichenfolge in einem .NET. Dieser Artikel konzentriert sich auf die effektivste und bequemste Methode, insbesondere wenn der Schrägstrich (/) in der statistischen Zeichenfolge.
Zunächst können Sie in Betracht ziehen, den Zeichenersatz zu verwenden, zum Beispiel:
oder für einen Unter -String mit einer Länge von mehr als einem Zeichen können Sie:
<code class="language-csharp">string source = "/once/upon/a/time/"; int count = source.Length - source.Replace("/", "").Length;</code>verwenden
Aber für die .NET 3.5 -Benutzer war die prägnantere und effizientere Lösung LINQ:
<code class="language-csharp">string haystack = "/once/upon/a/time/"; string needle = "/"; int needleCount = (haystack.Length - haystack.Replace(needle, "").Length) / needle.Length;</code>
oder Sie können wählen:
<code class="language-csharp">int count = source.Count(f => f == '/');</code>
überraschenderweise ist die anfängliche Charakterentfernungsmethode etwa 30%schneller als die LINQ- oder Split -Methode. Der Benchmark -Test der Zeichenfolge "/einmal/auf/a/time/" generiert die folgenden Chronographenergebnisse:
<code class="language-csharp">int count = source.Split('/').Length - 1;</code>
Zeichenersatzmethode: 12 Sekunden
Das obige ist der detaillierte Inhalt vonWas ist der schnellste Weg, um String -Ereignisse in .NET zu zählen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!