ฉันมีบรรทัดในรหัส vb:
#if Not Debug
ซึ่งฉันต้องแปลงและฉันไม่เห็นใน c #?
มีบางอย่างที่เทียบเท่าหรือมีวิธีแก้ปัญหาบางอย่าง?
ฉันมีบรรทัดในรหัส vb:
#if Not Debug
ซึ่งฉันต้องแปลงและฉันไม่เห็นใน c #?
มีบางอย่างที่เทียบเท่าหรือมีวิธีแก้ปัญหาบางอย่าง?
คำตอบ:
คุณจะต้องใช้:
#if !DEBUG
// Your code here
#endif
หรือถ้าสัญลักษณ์ของคุณเป็นจริง Debug
#if !Debug
// Your code here
#endif
จากเอกสารนี้คุณสามารถใช้DEBUG
เป็นบูลีนได้อย่างมีประสิทธิภาพ ดังนั้นคุณสามารถทำการทดสอบที่ซับซ้อนเช่น:
#if !DEBUG || (DEBUG && SOMETHING)
เพื่อให้คุณคุ้นเคยกับสิ่งที่เกิดขึ้นที่นี่#if
คือนิพจน์ก่อนการประมวลผลและDEBUG
เป็นสัญลักษณ์การคอมไพล์ตามเงื่อนไข นี่คือบทความ MSDNสำหรับคำอธิบายเชิงลึกเพิ่มเติม
ตามค่าเริ่มต้นเมื่ออยู่ในการกำหนดค่าการแก้ปัญหา Visual Studio จะตรวจสอบตัวเลือกกำหนดค่าคงที่ DEBUGภายใต้คุณสมบัติการสร้างของโครงการ สิ่งนี้ใช้ได้กับทั้ง C # และ VB.NET ถ้าคุณอยากบ้าคุณสามารถกำหนดคอนฟิกการสร้างใหม่และกำหนดสัญลักษณ์การคอมไพล์ตามเงื่อนไขของคุณเอง ตัวอย่างทั่วไปเมื่อคุณเห็นสิ่งนี้คือ:
#if DEBUG
//Write to the console
#else
//write to a file
#endif
ในกรณีที่ช่วยคนอื่นได้นี่คือคำตอบของฉัน
สิ่งนี้จะไม่ทำงาน:
#if !DEBUG
// My stuff here
#endif
แต่สิ่งนี้ได้ผล:
#if (DEBUG == false)
// My stuff here
#endif
ฉันคิดว่าสิ่งที่ชอบจะได้ผล
#if (DEBUG)
//Something
#else
//Something
#endif
#if
คำสั่งเงื่อนไขนี้ สามารถเขียนได้#if DEBUG
bool isDebugMode = false;
#if DEBUG
isDebugMode = true;
#endif
if (isDebugMode == false)
{
enter code here
}
else
{
enter code here
}