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

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

6
อะไรคือความแตกต่างระหว่าง null และ System.DBNull.Value?
มีความแตกต่างระหว่าง null และ System.DBNull.Value หรือไม่ ถ้าใช่มันคืออะไร? ฉันสังเกตเห็นพฤติกรรมนี้แล้ว - while (rdr.Read()) { if (rdr["Id"] != null) //if (rdr["Id"] != System.DBNull.Value) { int x = Convert.ToInt32(rdr["Id"]); } } ในขณะที่ฉันดึงข้อมูลจากฐานข้อมูลโดยใช้ sql datareader แม้ว่าจะไม่มีค่าที่ส่งif(rdr["Id"] != null)คืนกลับมาtrueและในที่สุดก็มีข้อยกเว้นสำหรับการแคสต์ null เป็นจำนวนเต็ม แต่นี้ถ้าผมใช้ผลตอบแทนif (rdr["Id"] != System.DBNull.Value)false ความแตกต่างระหว่าง null และ System.DBNull.Value คืออะไร?
92 c#  null  dbnull 

28
ตัวชี้การทดสอบความถูกต้อง (C / C ++)
มีวิธีใดในการตรวจสอบ (โดยทางโปรแกรมแน่นอน) ว่าตัวชี้ที่ระบุ "ถูกต้อง" การตรวจสอบค่า NULL นั้นง่าย แต่สิ่งที่เกี่ยวกับ 0x00001234? เมื่อพยายามหักล้างตัวชี้ชนิดนี้จะมีข้อยกเว้น / ข้อขัดข้องเกิดขึ้น แนะนำให้ใช้วิธีข้ามแพลตฟอร์ม แต่เฉพาะแพลตฟอร์ม (สำหรับ Windows และ Linux) ก็ใช้ได้เช่นกัน อัปเดตเพื่อการชี้แจง: ปัญหาไม่ได้อยู่ที่พอยน์เตอร์เก่า / เป็นอิสระ / ไม่ได้กำหนดค่าเริ่มต้น ฉันกำลังใช้ API ที่รับตัวชี้จากผู้โทรแทน (เช่นตัวชี้ไปยังสตริงตัวจัดการไฟล์ ฯลฯ ) ผู้โทรสามารถส่ง (ด้วยจุดประสงค์หรือโดยไม่ได้ตั้งใจ) ค่าที่ไม่ถูกต้องเป็นตัวชี้ ฉันจะป้องกันความผิดพลาดได้อย่างไร
92 c++  c  validation  pointers  null 

3
สลับกับพฤติกรรมแปลก ๆ var / null
ระบุรหัสต่อไปนี้: string someString = null; switch (someString) { case string s: Console.WriteLine("string s"); break; case var o: Console.WriteLine("var o"); break; default: Console.WriteLine("default"); break; } ทำไมงบเปลี่ยนการจับคู่ในcase var o? เป็นความเข้าใจของฉันที่case string sไม่ตรงกันเมื่อใดs == nullเนื่องจาก (ได้ผล) (null as string) != nullประเมินเป็นเท็จ IntelliSense บน VS Code บอกฉันว่าoเป็นstringเช่นกัน ความคิดใด ๆ ? คล้ายกับ: C # 7 …


8
ตรวจสอบว่าค่า isset และ null
ฉันต้องการตรวจสอบว่าค่าถูกกำหนดให้เป็นอะไรหรือไม่รวมถึง null ด้วย ถือว่าเป็นโมฆะเป็นค่าที่ไม่ได้กำหนดและผลตอบแทนisset falseใช้ตัวอย่างต่อไปนี้: $foo = null; if(isset($foo)) // returns false if(isset($bar)) // returns false if(isset($foo) || is_null($foo)) // returns true if(isset($bar) || is_null($bar)) // returns true, raises a notice โปรดทราบว่าไม่ได้$barกำหนด ฉันต้องหาเงื่อนไขที่ตรงตามสิ่งต่อไปนี้: if(something($bar)) // returns false; if(something($foo)) // returns true; ความคิดใด ๆ ?
90 php  null  isset 


6
วิธีที่ดีที่สุดในการตรวจสอบว่าตารางข้อมูลมีค่า null หรือไม่
วิธีที่ดีที่สุดในการตรวจสอบว่าตารางข้อมูลมีค่าว่างอยู่หรือไม่? เวลาส่วนใหญ่ในสถานการณ์ของเราหนึ่งคอลัมน์จะมีค่าว่างทั้งหมด (ข้อมูลนี้ถูกส่งคืนโดยแอปพลิเคชันของบุคคลที่สาม - เรากำลังพยายามที่จะประเมินค่าก่อนที่แอปพลิเคชันของเราจะประมวลผลตารางข้อมูล)

5
JSON ควรรวมค่า null [ปิด]
ปิด . คำถามนี้เป็นคำถามความคิดเห็นตาม ขณะนี้ยังไม่ยอมรับคำตอบ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบได้ด้วยข้อเท็จจริงและการอ้างอิงโดยแก้ไขโพสต์นี้ ปิดให้บริการใน2 ปีที่ผ่านมา ปรับปรุงคำถามนี้ ฉันกำลังสร้าง API ที่แสดงผลลัพธ์เป็น JSON มีแนวทางปฏิบัติที่ดีที่สุดในปัจจุบันหรือไม่ว่าเราควรรวมคีย์ในผลลัพธ์เมื่อค่าเป็นโมฆะ ตัวอย่างเช่น: { "title":"Foo Bar", "author":"Joe Blow", "isbn":null } หรือ { "title":"Foo Bar", "author":"Joe Blow" } เนื่องจากอันที่สองมีขนาดเล็กกว่าฉันจึงเอนเอียงไปทางสไตล์นี้ แต่ฉันไม่แน่ใจว่ามีสไตล์ที่ชอบหรือไม่ จากมุมมองของลูกค้าดูเหมือนว่าทั้งสองสไตล์จะเทียบเท่ากัน ข้อดีหรือข้อเสียของแต่ละข้อ?

9
วัตถุ 'NoneType' คืออะไร?
ฉันได้รับข้อผิดพลาดนี้เมื่อฉันเรียกใช้สคริปต์ python ของฉัน: TypeError: cannot concatenate 'str' and 'NoneType' objects ฉันค่อนข้างมั่นใจว่า 'str' หมายถึงสตริง แต่ฉันไม่รู้ว่าวัตถุ 'NoneType' คืออะไร สคริปต์ของฉันใช้งานไม่ได้ในบรรทัดที่สองฉันรู้ว่าอันแรกใช้ได้เพราะคำสั่งจากบรรทัดนั้นอยู่ใน asa ของฉันตามที่ฉันคาด ตอนแรกฉันคิดว่าอาจเป็นเพราะฉันใช้ตัวแปรและอินพุตของผู้ใช้ใน send_command ทุกอย่างใน 'CAPS' เป็นตัวแปรทุกอย่างใน 'ตัวพิมพ์เล็ก' คืออินพุตจากตัวเลือก 'parser.add_option' ฉันใช้ pexpect และ optparse send_command(child, SNMPGROUPCMD + group + V3PRIVCMD) send_command(child, SNMPSRVUSRCMD + snmpuser + group + V3AUTHCMD + snmphmac + snmpauth + …
89 python  null  nonetype 

11
คุณสร้างสตริง std :: ด้วย null ฝังได้อย่างไร
หากฉันต้องการสร้าง std :: string ด้วยบรรทัดเช่น: std::string my_string("a\0b"); โดยที่ฉันต้องการให้มีอักขระสามตัวในสตริงผลลัพธ์ (a, null, b) ฉันจะได้เพียงตัวเดียว ไวยากรณ์ที่เหมาะสมคืออะไร?
89 c++  null  stdstring 

14
Java“?” ตัวดำเนินการสำหรับการตรวจสอบ null - มันคืออะไร? (ไม่ใช่ Ternary!)
ฉันกำลังอ่านบทความที่เชื่อมโยงจากเรื่อง slashdot และเจอเรื่องเล็กน้อยนี้: ใช้ Java เวอร์ชันล่าสุดซึ่งพยายามทำให้การตรวจสอบตัวชี้ null ง่ายขึ้นโดยนำเสนอไวยากรณ์ชวเลขสำหรับการทดสอบตัวชี้ที่ไม่มีที่สิ้นสุด เพียงแค่เพิ่มเครื่องหมายคำถามลงในการเรียกแต่ละวิธีโดยอัตโนมัติจะรวมการทดสอบตัวชี้ค่าว่างโดยแทนที่รังของหนูของประโยคคำสั่ง if-then เช่น: public String getPostcode(Person person) { String ans= null; if (person != null) { Name nm= person.getName(); if (nm!= null) { ans= nm.getPostcode(); } } return ans } ด้วยสิ่งนี้: public String getFirstName(Person person) { return person?.getName()?.getGivenName(); } ฉันระบาดในอินเทอร์เน็ต (โอเคฉันใช้เวลาอย่างน้อย 15 …
88 java  syntax  null 

5
เราจะจัดการสตรีม jdk8 สำหรับค่า null ได้อย่างไร
สวัสดีเพื่อนนักพัฒนา Java ฉันรู้ว่าหัวเรื่องอาจจะเล็กน้อยin advanceเนื่องจาก JDK8 ยังไม่เปิดตัว (และยังไม่ใช่สำหรับตอนนี้ .. ) แต่ฉันกำลังอ่านบทความเกี่ยวกับนิพจน์ Lambda และโดยเฉพาะส่วนที่เกี่ยวข้องกับ API คอลเล็กชันใหม่ที่เรียกว่า Stream นี่คือตัวอย่างตามที่ระบุในบทความนิตยสาร Java (เป็นอัลกอริธึมประชากรนาก .. ): Set<Otter> otters = getOtters(); System.out.println(otters.stream() .filter(o -> !o.isWild()) .map(o -> o.getKeeper()) .filter(k -> k.isFemale()) .into(new ArrayList<>()) .size()); คำถามของฉันคือจะเกิดอะไรขึ้นถ้าอยู่ตรงกลางของการวนซ้ำภายใน Set ตัวนากตัวใดตัวหนึ่งเป็นโมฆะ ฉันคาดหวังว่า NullPointerException จะถูกโยนทิ้งไป แต่บางทีฉันอาจยังติดอยู่ในกระบวนทัศน์การพัฒนาก่อนหน้านี้ (ไม่สามารถใช้งานได้) ใครบางคนสามารถให้ความกระจ่างแก่ฉันได้ว่าควรจัดการอย่างไร หากนี่เป็นการโยน NullPointerException จริงๆฉันพบว่าคุณลักษณะนี้ค่อนข้างอันตรายและจะต้องใช้เฉพาะดังต่อไปนี้: ผู้พัฒนาเพื่อให้แน่ใจว่าไม่มีค่า …

9
หากรหัสแฮชของ null เป็นศูนย์เสมอใน. NET
เนื่องจากคอลเลกชันเช่นSystem.Collections.Generic.HashSet<>ยอมรับnullเป็นสมาชิกชุดหนึ่งสามารถถามว่ารหัสแฮชnullควรเป็นอย่างไร ดูเหมือนว่ากรอบจะใช้0: // nullable struct type int? i = null; i.GetHashCode(); // gives 0 EqualityComparer<int?>.Default.GetHashCode(i); // gives 0 // class type CultureInfo c = null; EqualityComparer<CultureInfo>.Default.GetHashCode(c); // gives 0 สิ่งนี้อาจเป็นปัญหา (เล็กน้อย) กับ enums ที่เป็นโมฆะ ถ้าเรากำหนด enum Season { Spring, Summer, Autumn, Winter, } จากนั้นNullable<Season>(เรียกอีกอย่างว่าSeason?) สามารถรับค่าได้เพียงห้าค่า แต่สองค่าคือnullและSeason.Springมีรหัสแฮชเหมือนกัน เป็นเรื่องน่าดึงดูดที่จะเขียนตัวเปรียบเทียบความเท่าเทียมที่ "ดีกว่า" ดังนี้: class …
88 c#  .net  hash  null 

9
การตรวจสอบพารามิเตอร์ Null ใน C #
ใน C # มีเหตุผลที่ดี (นอกเหนือจากข้อความแสดงข้อผิดพลาดที่ดีกว่า) สำหรับการเพิ่มการตรวจสอบพารามิเตอร์เป็นโมฆะให้กับทุกฟังก์ชันที่ null ไม่ใช่ค่าที่ถูกต้องหรือไม่? เห็นได้ชัดว่ารหัสที่ใช้ s จะทำให้เกิดข้อยกเว้นอยู่ดี และการตรวจสอบดังกล่าวทำให้โค้ดช้าลงและดูแลรักษายากขึ้น void f(SomeType s) { if (s == null) { throw new ArgumentNullException("s cannot be null."); } // Use s }
88 c#  function  null 

9
MySQL และ PHP - ใส่ NULL แทนที่จะเป็นสตริงว่าง
ฉันมีคำสั่ง MySQL ที่แทรกตัวแปรบางตัวลงในฐานข้อมูล ฉันเพิ่งเพิ่ม 2 ช่องซึ่งเป็นทางเลือก ($ intLat, $ intLng) ตอนนี้หากไม่ได้ป้อนค่าเหล่านี้ฉันจะส่งผ่านสตริงว่างเป็นค่า ฉันจะส่งค่า NULL อย่างชัดเจนไปยัง MySQL ได้อย่างไร (ถ้าว่างเปล่า) $query = "INSERT INTO data (notes, id, filesUploaded, lat, lng, intLat, intLng) VALUES ('$notes', '$id', TRIM('$imageUploaded'), '$lat', '$long', '$intLat', '$intLng')"; mysql_query($query);
88 php  mysql  null  sql-insert 

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