Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Memisahkan String Parameter Baris Perintah Tunggal ke dalam Tatasusunan Rentetan dalam C#?

Bagaimana untuk Memisahkan String Parameter Baris Perintah Tunggal ke dalam Tatasusunan Rentetan dalam C#?

Barbara Streisand
Barbara Streisandasal
2025-01-15 11:56:43156semak imbas

How to Split a Single Command-Line Parameter String into a String Array in C#?

Pisah rentetan parameter baris arahan ke dalam tatasusunan rentetan dalam C#

Gambaran Keseluruhan Masalah

Dalam C#, argumen baris arahan dihantar sebagai tatasusunan rentetan string[]. Persoalannya ialah bagaimana untuk mengekstrak tatasusunan ini daripada rentetan tunggal yang mengandungi parameter baris arahan?

Gunakan fungsi standard atau ungkapan biasa?

Tiada fungsi standard yang tersedia secara langsung untuk menyelesaikan tugas ini. Walau bagaimanapun, kita boleh menggunakan fungsi tersuai atau ungkapan biasa untuk memisahkan rentetan dengan betul.

Fungsi tersuai berdasarkan semakan aksara

Rentetan boleh dibahagikan menggunakan fungsi tersuai berdasarkan semakan aksara. Fungsi ini memeriksa setiap aksara dan menentukan sama ada rentetan itu harus dipecahkan. Borang fungsi adalah seperti berikut:

<code class="language-csharp">public static IEnumerable<string> SplitCommandLine(string commandLine)
// ...</code>

Algoritma Pembahagian

Algoritma adalah seperti berikut:

  1. Memulakan pembolehubah inQuotes kepada false.
  2. Pisah rentetan menggunakan fungsi yang menentukan titik perpecahan seperti berikut:
    • Togol nilai inQuotes jika aksara ialah '"'.
    • Pisah rentetan jika inQuotes ialah false dan wataknya ialah ' '.
  3. Pangkas dan alih keluar petikan yang sepadan dalam rentetan berpecah.
  4. Tapis sebarang rentetan kosong.

Kaedah sambungan

Fungsi boleh dilanjutkan menggunakan kaedah sambungan berikut:

  • public static IEnumerable<string> Split(this string str)
  • public static string TrimMatchingQuotes(this string input, char quote)

Contoh penggunaan

Untuk menggunakan fungsi ini, sediakan rentetan tunggal yang mengandungi argumen baris arahan dan terima tatasusunan string[] yang mengandungi argumen individu:

<code class="language-csharp">string[] parameterArray = SplitCommandLine(parameterString).ToArray();</code>

Ujian Tersuai

<code class="language-csharp">public static void Test(string cmdLine, params string[] args)
// ...</code>

Ujian tersuai boleh digunakan untuk mengesahkan ketepatan algoritma pembahagian. Fungsi ini membandingkan tatasusunan berpecah dengan tatasusunan yang dijangkakan dan menegaskan bahawa ia adalah sama.

Kesimpulan

Dengan menggunakan fungsi tersuai atau ungkapan biasa, kami boleh memisahkan rentetan yang mengandungi parameter baris perintah dengan berkesan kepada tatasusunan string[], menangkap parameter individu, sama seperti cara C# lakukan apabila menentukan parameter pada baris arahan .

Atas ialah kandungan terperinci Bagaimana untuk Memisahkan String Parameter Baris Perintah Tunggal ke dalam Tatasusunan Rentetan dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn