สำหรับแอปพลิเคชันคอนโซล C# หากฉันระบุสิ่งต่อไปนี้ พารามิเตอร์ของฉันจะถูกตีความว่าเป็นค่าเดียวกัน:
myapp.exe "0" 0
และเพียง 0
มีความยาว 1 เมื่อตรวจสอบ
ฉันสงสัยว่ามีวิธีตรวจจับหมายเลขที่ยกมาเทียบกับตัวเลขดิบที่บรรทัดคำสั่งสำหรับแอปพลิเคชันคอนโซล C# โดยไม่บังคับให้ออกจากเครื่องหมายคำพูดสำหรับการป้อนข้อมูลของผู้ใช้หรือไม่
ฉันรู้ว่าคุณสามารถทำได้
myapp.exe \"0\" 0
และรับกลับ "0" 0
เมื่อตรวจสอบอาร์กิวเมนต์บรรทัดคำสั่งด้วย Environment.GetCommandLineArgs()
ดังตัวอย่างด้านล่าง
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);
}
}
}
}
เป็นไปได้ไหมที่จะทำโดยไม่ใช้เครื่องหมายคำพูด? ถ้าไม่เช่นนั้น นั่นเป็นข้อจำกัดบรรทัดคำสั่งทั่วไปของ Windows หรือไม่