Rumah >pembangunan bahagian belakang >C++ >Apakah cara terpantas untuk mengira kejadian rentetan dalam .net?
Cari semua kali dalam watak tertentu atau sub -string dalam rentetan yang diberikan dalam .net. Artikel ini memberi tumpuan kepada kaedah yang paling berkesan dan mudah, terutamanya apabila slash (/) dalam rentetan statistik.
Pertama sekali, anda boleh mempertimbangkan menggunakan penggantian watak, contohnya:
atau, untuk sub -string dengan panjang lebih daripada satu watak, anda boleh menggunakan:
<code class="language-csharp">string source = "/once/upon/a/time/"; int count = source.Length - source.Replace("/", "").Length;</code>
<code class="language-csharp">string haystack = "/once/upon/a/time/"; string needle = "/"; int needleCount = (haystack.Length - haystack.Replace(needle, "").Length) / needle.Length;</code>
atau, anda boleh memilih:
<code class="language-csharp">int count = source.Count(f => f == '/');</code>
Mengejutkan, kaedah penyingkiran watak awal adalah kira -kira 30%lebih cepat daripada kaedah LINQ atau Split. Ujian penanda aras rentetan "/sekali/on/a/time/" menghasilkan hasil kronograf berikut:
<code class="language-csharp">int count = source.Split('/').Length - 1;</code>
Kaedah Penggantian Karakter: 12 saat
Atas ialah kandungan terperinci Apakah cara terpantas untuk mengira kejadian rentetan dalam .net?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!