Untuk aplikasi konsol C#, jika saya memberikan yang berikut ini, parameter saya akan ditafsirkan sebagai nilai yang sama:
myapp.exe "0" 0
Dan jadilah 0
dengan panjang 1 saat diperiksa.
Saya bertanya-tanya apakah ada cara untuk mendeteksi nomor yang dikutip versus nomor mentah di baris perintah untuk aplikasi konsol C# tanpa memaksa keluar dari tanda kutip untuk input pengguna.
Saya tahu Anda bisa melakukan ini,
myapp.exe \"0\" 0
Dan dapatkan kembali "0" 0
saat memeriksa argumen baris perintah dengan Environment.GetCommandLineArgs()
seperti contoh di bawah ini.
using System;
using System.Collections.Generic;
using System.Linq;
namespace cl_app
{
class Program
{
static void Main(string[] args)
{
List<string> arg_list = Environment.GetCommandLineArgs().ToList();
foreach(var arg in arg_list)
{
Console.WriteLine(arg);
}
}
}
}
Apakah ini mungkin dilakukan tanpa menghindari kutipan? Jika tidak, apakah itu batasan baris perintah Windows yang umum?