คำถามติดแท็ก null

Null หมายถึง * nothing * หรือ * unknown * ขึ้นอยู่กับบริบท โปรดใช้แท็ก "sql-null" สำหรับคำถามเฉพาะของ SQL

3
ฉันจะทดสอบสตริงว่างในคำสั่งกรณี Bash ได้อย่างไร
ฉันมีสคริปต์ Bash ที่ดำเนินการตามค่าของตัวแปร ไวยากรณ์ทั่วไปของคำสั่ง case คือ: case ${command} in start) do_start ;; stop) do_stop ;; config) do_config ;; *) do_help ;; esac ฉันต้องการดำเนินการรูทีนดีฟอลต์หากไม่มีการระบุคำสั่งและdo_helpหากไม่รู้จักคำสั่ง ฉันพยายามละเว้นค่าเคสดังนี้: case ${command} in ) do_default ;; ... *) do_help ;; esac ผลลัพธ์สามารถคาดเดาได้ฉันคิดว่า: syntax error near unexpected token `)' จากนั้นฉันลองใช้ regex: case ${command} in ^$) do_default ;; …
87 string  bash  null  case 

7
มี Ruby หรือ Ruby-ism สำหรับ not_nil? ตรงข้ามกับศูนย์? วิธี?
ฉันไม่มีประสบการณ์ใน Ruby ดังนั้นรหัสของฉันจึงรู้สึก "น่าเกลียด" และไม่ใช่สำนวน: def logged_in? !user.nil? end ฉันอยากจะมีสิ่งที่ชอบ def logged_in? user.not_nil? end แต่ไม่พบวิธีการดังกล่าวที่ตรงข้าม nil?

10
การเชื่อมต่อสตริงเซิร์ฟเวอร์ SQL กับ Null
ฉันกำลังสร้างคอลัมน์จากการคำนวณข้ามเขตข้อมูลซึ่งบางช่องอาจเป็นโมฆะ ปัญหาคือถ้าฟิลด์ใดฟิลด์หนึ่งเป็นโมฆะคอลัมน์ที่คำนวณทั้งหมดจะเป็นโมฆะ ฉันเข้าใจจากเอกสารของ Microsoft ว่าสิ่งนี้เป็นสิ่งที่คาดหวังและสามารถปิดได้ผ่านการตั้งค่า SET CONCAT_NULL_YIELDS_NULL อย่างไรก็ตามฉันไม่ต้องการเปลี่ยนลักษณะการทำงานเริ่มต้นนี้เนื่องจากฉันไม่ทราบผลกระทบของมันในส่วนอื่น ๆ ของ SQL Server มีวิธีให้ฉันตรวจสอบว่าคอลัมน์เป็นโมฆะหรือไม่และต่อท้ายเฉพาะเนื้อหาภายในสูตรคอลัมน์ที่คำนวณแล้วหากไม่ใช่ค่าว่าง

10
C # โอเคกับการเปรียบเทียบประเภทค่าเป็นโมฆะ
ฉันพบสิ่งนี้ในวันนี้และไม่รู้ว่าทำไมคอมไพเลอร์ C # ไม่แสดงข้อผิดพลาด Int32 x = 1; if (x == null) { Console.WriteLine("What the?"); } ฉันสับสนว่า x จะเป็นโมฆะได้อย่างไร โดยเฉพาะอย่างยิ่งเนื่องจากการมอบหมายนี้ทำให้เกิดข้อผิดพลาดของคอมไพเลอร์อย่างแน่นอน: Int32 x = null; เป็นไปได้ไหมที่ x อาจกลายเป็นโมฆะ Microsoft เพิ่งตัดสินใจที่จะไม่ใส่เช็คนี้ลงในคอมไพเลอร์หรือว่าพลาดไปโดยสิ้นเชิง? อัปเดต: หลังจากยุ่งกับรหัสเพื่อเขียนบทความนี้ทันใดนั้นคอมไพเลอร์ก็แจ้งเตือนว่านิพจน์จะไม่เป็นจริง ตอนนี้ฉันหลงทางจริงๆ ฉันใส่ออบเจ็กต์ลงในคลาสและตอนนี้คำเตือนหายไปแล้วเหลือ แต่คำถามประเภทค่าจะกลายเป็นโมฆะได้หรือไม่ public class Test { public DateTime ADate = DateTime.Now; public Test () { Test test = …
85 c#  null 

14
การกำหนดอ็อบเจ็กต์เป็น null ใน Java ส่งผลต่อการรวบรวมขยะหรือไม่
การกำหนดการอ้างอิงอ็อบเจ็กต์ที่ไม่ได้ใช้nullใน Java ช่วยปรับปรุงกระบวนการรวบรวมขยะด้วยวิธีใด ๆ ที่วัดผลได้หรือไม่? ประสบการณ์ของฉันกับ Java (และ C #) สอนฉันว่ามักจะต่อต้านการพยายามและเอาชนะเครื่องเสมือนหรือคอมไพเลอร์ JIT แต่ฉันเคยเห็นเพื่อนร่วมงานใช้วิธีนี้และฉันอยากรู้ว่านี่เป็นแนวทางปฏิบัติที่ดีในการเลือกหรือไม่ หรือหนึ่งในความเชื่อโชคลางการเขียนโปรแกรมวูดู?

3
ความแตกต่างระหว่าง NULL และ null ใน PHP
มีความแตกต่างระหว่างNULLและnullใน PHP หรือไม่? บางครั้งพวกเขาดูเหมือนจะใช้แทนกันได้และบางครั้งก็ไม่ใช่ แก้ไข: ด้วยเหตุผลบางประการเมื่อฉันอ่านเอกสารที่เชื่อมโยงกับในคำตอบ (ก่อนโพสต์คำถามนี้) ฉันอ่านว่า "case sensitive" แทนที่จะเป็น "case insensitive" ซึ่งเป็นเหตุผลทั้งหมดที่ฉันโพสต์คำถามนี้ในตอนแรก .. .
85 php  null 

11
ประเภท Nullable: วิธีที่ดีกว่าในการตรวจสอบค่าว่างหรือศูนย์ใน c #
ฉันกำลังทำงานในโครงการที่ฉันพบว่าฉันกำลังตรวจสอบสิ่งต่อไปนี้ในหลาย ๆ ที่: if(item.Rate == 0 || item.Rate == null) { } มากกว่าความอยากรู้อยากเห็นอะไรคือวิธีที่ดีที่สุดในการตรวจสอบทั้งสองกรณี ฉันได้เพิ่มวิธีการช่วยเหลือซึ่งก็คือ: public static bool nz(object obj) { var parsedInt = 0; var parsed = int.TryParse(obj.ToString(), out parsedInt); return IsNull(obj) || (parsed && parsedInt == 0); } มีวิธีที่ดีกว่า?
85 c#  null  zero 

5
string. ว่างเปล่า vs null คุณใช้อันไหน?
เมื่อเร็ว ๆ นี้เพื่อนร่วมงานในที่ทำงานบอกฉันว่าอย่าใช้string.Emptyเมื่อตั้งค่าตัวแปรสตริง แต่ใช้nullในขณะที่มันก่อมลพิษในสแต็ก? เขาบอกว่าอย่าทำ string myString=string.Empty; แต่ทำ string mystring=null; มันสำคัญจริงหรือ? ฉันรู้ว่าสตริงเป็นวัตถุดังนั้นมันจึงสมเหตุสมผล ฉันรู้ว่าเป็นคำถามโง่ ๆ แต่มุมมองของคุณคืออะไร?
85 c#  .net  null  string 

7
ฉันสามารถใช้ NULL แทนค่า 0 ได้หรือไม่?
ฉันได้รับอนุญาตให้ใช้NULLตัวชี้แทนค่า0ใช่หรือไม่ หรือมีอะไรผิดปกติเกี่ยวกับการทำเช่นนั้น? ตัวอย่างเช่น: int i = NULL; เพื่อทดแทนสำหรับ: int i = 0; ในการทดลองฉันรวบรวมรหัสต่อไปนี้: #include <stdio.h> int main(void) { int i = NULL; printf("%d",i); return 0; } เอาท์พุท: 0 อันที่จริงมันทำให้ฉันเตือนนี้ซึ่งถูกต้องสมบูรณ์ด้วยตัวเอง: warning: initialization makes integer from pointer without a cast [-Wint-conversion] แต่ผลลัพธ์ยังคงเท่าเดิม ฉันกำลังเข้าสู่ "พฤติกรรมที่ไม่ได้กำหนด" กับสิ่งนี้หรือไม่? อนุญาตให้ใช้NULLในลักษณะนี้ได้ไหม มีอะไรผิดปกติNULLไหมในการใช้เป็นค่าตัวเลขในนิพจน์เชิงคณิตศาสตร์? และผลลัพธ์และพฤติกรรมใน C ++ สำหรับกรณีนี้คืออะไร ฉันได้อ่านคำตอบของอะไรคือความแตกต่างระหว่างโมฆะ …

1
ปริมาณการใช้หน่วยความจำของ GetRef (การรวบรวมขยะ) เปลี่ยนแปลงด้วย KB4525236
เราพบปัญหาหน่วยความจำไม่เพียงพอหลังจากติดตั้งKB4525236ใน Windows 2016 Servers / Windows 10 Clients GetRefแก้ไขการรักษาความปลอดภัยนี้ดูเหมือนว่าจะมีการเปลี่ยนแปลงช่วงเวลาที่หน่วยความจำที่เก็บขยะเมื่อเรียกฟังก์ชั่นผ่าน ก่อน KB4525236 แต่ละอินสแตนซ์ที่สร้างขึ้นในฟังก์ชั่นที่เรียกใช้ผ่านGetRefได้รวบรวมขยะทันทีที่ตัวแปรอินสแตนซ์ถูกตั้งค่าเป็นnothing โพสต์ KB4525236 เช่นกันสร้างขึ้นในฟังก์ชั่นที่เรียกว่าผ่านGetRefยังคงอยู่ในหน่วยความจำและเก็บขยะเฉพาะเมื่อเสร็จสมบูรณ์ทั้งฟังก์ชั่น เมื่อสร้างอินสแตนซ์ในการวนซ้ำสิ่งนี้สามารถเพิ่มและนำไปสู่หน่วยความจำไม่เพียงพอโดยเฉพาะอย่างยิ่งในกระบวนการ 32 บิต คำถาม เราไม่พบสิ่งที่เกี่ยวข้องทางออนไลน์ดังนั้นเราจึงต้องการได้รับการยืนยันจากผู้อื่นที่ประสบปัญหาเดียวกัน แก้ไขรอยขีดข่วนที่: นี่เป็นปัญหาเดียวกัน แต่ยังไม่มีวิธีแก้ปัญหา ณ (vbscript.dll class_terminate bug ตั้งแต่ KB4524570 (12 พฤศจิกายน 2019) Windows 10 1903) ถ้าใครสามารถตรวจสอบและรู้วิธีแก้ปัญหาที่ใช้การได้นั่นจะยอดเยี่ยม POC สคริปต์ต่อไปนี้ทำงานบนอุปกรณ์ที่ติดตั้ง KB4525236 แสดงความแตกต่างในการรวบรวมขยะเมื่อ เรียกโดยตรง: อินสแตนซ์ที่สองถูกสร้างขึ้นหลังจากอินสแตนซ์แรกถูกทำลาย(นี่คือพฤติกรรมที่เราต้องการ) เรียกผ่านGetRef: อินสแตนซ์ที่สองถูกสร้างขึ้นก่อนที่อินสแตนซ์แรกจะถูกทำลายดังนั้นเมื่อมีสองอินสแตนซ์ที่ใช้หน่วยความจำ บันทึกเป็น: KB4525236.vbs ทำงานเป็น: wscript KB4525236.vbs Dim …

4
ทำไมส่งคืน NULL จาก main ()
บางครั้งฉันเห็นโคเดอร์ที่ใช้NULLเป็นค่าส่งคืนของmain()ในโปรแกรม C และ C ++ ตัวอย่างเช่น: #include <stdio.h> int main() { printf("HelloWorld!"); return NULL; } เมื่อฉันรวบรวมรหัส `นี้กับ gcc ฉันได้รับคำเตือน: คำเตือน: return ทำให้จำนวนเต็มจากตัวชี้โดยไม่ต้องส่ง [-Wint-conversion] ซึ่งมีความสมเหตุสมผลเนื่องจากแมโครNULLจะถูกขยายไปและค่าตอบแทนของหลักจะเป็นประเภท(void*) 0int เมื่อฉันสร้างโปรแกรม C ++ สั้น ๆ ของ: #include <iostream> using namespace std; int main() { cout << "HelloWorld!"; return NULL; } และคอมไพล์ด้วย g ++ ฉันจะได้รับคำเตือนที่เทียบเท่า: คำเตือน: …
10 c++  c  null  return  return-value 

1
มันอนุญาตให้เพิ่มศูนย์เป็นตัวชี้โมฆะหรือไม่
ฉันรู้ว่าเลขคณิตตัวชี้นั้นไม่ได้รับอนุญาตสำหรับพอยน์เตอร์พอยน์เตอร์ แต่ลองนึกภาพฉันมีสิ่งนี้: class MyArray { int *arrayBegin; // pointer to the first array item, NULL for an empty array unsigned arraySize; // size of the array, zero for an empty array public: int *begin() const { return arrayBegin; } int *end() const { return arrayBegin + arraySize; } // possible? …

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.