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

แท็ก nullable สำหรับปัญหาที่เกี่ยวข้องกับสมาชิกหรือประเภท nullable null ใช้เพื่อแสดงค่าที่หายไปหรือไม่รู้จัก

17
วิธีการแปลง C # nullable int เป็น int
ฉันจะแปลงให้เป็นโมฆะintได้intอย่างไร สมมติว่าฉันมี 2 ประเภท int ดังนี้: int? v1; int v2; ฉันต้องการที่จะกำหนดv1's v2มูลค่าให้กับ v2 = v1;จะทำให้เกิดข้อผิดพลาด ฉันจะแปลงv1เป็นv2อย่างไร
484 c#  nullable 

6
ต้องการอะไร: Nullable <T> .HasValue หรือ Nullable <T>! = null?
ฉันมักจะใช้Nullable&lt;&gt;.HasValueเพราะฉันชอบความหมาย อย่างไรก็ตามเมื่อเร็ว ๆ นี้ฉันกำลังทำงานกับ codebase ที่มีอยู่ของคนอื่นซึ่งพวกเขาใช้เป็นNullable&lt;&gt; != nullพิเศษแทน มีเหตุผลที่จะใช้อย่างใดอย่างหนึ่งมากกว่าอื่น ๆ หรือมันคือการตั้งค่าอย่างหมดจด? int? a; if (a.HasValue) // ... เมื่อเทียบกับ int? b; if (b != null) // ...
437 c#  .net  null  nullable 

10
ประหลาดใจกับประสิทธิภาพด้วย“ as” และประเภท nullable
ฉันเพิ่งแก้ไขบทที่ 4 ของ C # ในความลึกซึ่งเกี่ยวข้องกับประเภท nullable และฉันเพิ่มส่วนที่เกี่ยวกับการใช้ตัวดำเนินการ "เป็น" ซึ่งช่วยให้คุณเขียน: object o = ...; int? x = o as int?; if (x.HasValue) { ... // Use x.Value in here } ฉันคิดว่านี่เป็นระเบียบจริงๆและมันสามารถปรับปรุงประสิทธิภาพมากกว่า C # 1 ที่เทียบเท่าโดยใช้ "คือ" ตามด้วยนักแสดง - หลังจากทั้งหมดด้วยวิธีนี้เราเพียงแค่ต้องขอการตรวจสอบประเภทแบบไดนามิกครั้งเดียวแล้วตรวจสอบค่าง่าย ๆ . เรื่องนี้ดูเหมือนจะไม่เป็นอย่างนั้น ฉันได้รวมแอปทดสอบตัวอย่างด้านล่างซึ่งโดยทั่วไปจะรวมจำนวนเต็มทั้งหมดภายในอาร์เรย์วัตถุ - แต่อาร์เรย์นั้นมีการอ้างอิง null และการอ้างอิงสตริงจำนวนมากรวมถึงจำนวนเต็มชนิดบรรจุกล่อง มาตรฐานวัดรหัสที่คุณต้องใช้ใน C # …

21
วิธีการแยกสตริงเป็น int nullable
ฉันต้องการแยกสตริงเป็น int nullable ใน C # กล่าวคือ ฉันต้องการกลับค่า int ของสตริงหรือ null ถ้าไม่สามารถแยกวิเคราะห์ได้ ฉันหวังว่ามันจะใช้ได้ int? val = stringVal as int?; แต่นั่นไม่ได้ผลวิธีที่ฉันทำตอนนี้คือฉันได้เขียนวิธีการขยายนี้ public static int? ParseNullableInt(this string value) { if (value == null || value.Trim() == string.Empty) { return null; } else { try { return int.Parse(value); } catch { return null; …
300 c#  .net  string  .net-3.5  nullable 

5
Java 8 getters ส่งคืนชนิดตัวเลือกหรือไม่?
Optional type ที่แนะนำใน Java 8 เป็นสิ่งใหม่สำหรับนักพัฒนาหลายคน เป็นวิธีการทะเยอทะยานกลับOptional&lt;Foo&gt;ประเภทในสถานที่ของคลาสสิกFooการปฏิบัติที่ดี? nullสมมติว่าค่าที่สามารถ

20
ฉันจะฟอร์แมต DateTime ที่ไม่มีค่าด้วย ToString () ได้อย่างไร
ฉันจะแปลง DateTime dt2 ที่ไม่สามารถแปลงเป็นสตริงที่จัดรูปแบบได้อย่างไร? DateTime dt = DateTime.Now; Console.WriteLine(dt.ToString("yyyy-MM-dd hh:mm:ss")); //works DateTime? dt2 = DateTime.Now; Console.WriteLine(dt2.ToString("yyyy-MM-dd hh:mm:ss")); //gives following error: ไม่มีวิธีการมากเกินไป ToString ใช้เวลาหนึ่งอาร์กิวเมนต์

12
วิธีที่ดีที่สุดในการตรวจสอบบูล nullable ในนิพจน์เงื่อนไข (ถ้า…)
ฉันสงสัยว่าอะไรคือไวยากรณ์ที่สะอาดและเข้าใจได้ดีที่สุดสำหรับการตรวจสอบเงื่อนไขในบูลที่ไม่มีค่า รูปแบบการเข้ารหัสดีหรือไม่ดีต่อไปนี้หรือไม่ มีวิธีในการแสดงสภาพที่ดีขึ้น / สะอาดขึ้นหรือไม่? bool? nullableBool = true; if (nullableBool ?? false) { ... } else { ... } โดยเฉพาะอย่างยิ่งถ้า (nullableBool ?? เท็จ)ส่วนหนึ่ง ฉันไม่ชอบif (x.HasValue &amp;&amp; x.Value)สไตล์ ... (ไม่แน่ใจว่าคำถามถูกถามมาก่อนหรือไม่พบสิ่งที่คล้ายกับการค้นหา)


14
จะตรวจสอบว่าวัตถุนั้นเป็นโมฆะได้อย่างไร?
ฉันจะตรวจสอบว่าวัตถุที่กำหนดเป็นโมฆะในคำอื่น ๆ วิธีการใช้วิธีการดังต่อไปนี้ ... bool IsNullableValueType(object o) { ... } แก้ไข: ฉันกำลังมองหาประเภทค่าที่เป็นโมฆะ ฉันไม่มีประเภทอ้างอิง //Note: This is just a sample. The code has been simplified //to fit in a post. public class BoolContainer { bool? myBool = true; } var bc = new BoolContainer(); const BindingFlags bindingFlags = BindingFlags.Public | BindingFlags.NonPublic …
202 c#  .net  nullable 

9
การย้ายถิ่นของ Laravel เปลี่ยนเป็นทำให้คอลัมน์เป็นโมฆะ
user_idฉันสร้างการย้ายถิ่นที่มีไม่ได้ลงนาม ฉันจะแก้ไขuser_idในการย้ายข้อมูลใหม่เพื่อสร้างได้nullable()อย่างไร Schema::create('throttle', function(Blueprint $table) { $table-&gt;increments('id'); // this needs to also be nullable, how should the next migration be? $table-&gt;integer('user_id')-&gt;unsigned(); }

7
วิธีการตั้งค่า enum เป็นโมฆะ
ฉันมีปัญหา string name; public enum Color { Red, Green, Yellow } วิธีตั้งค่าเป็น NULL เมื่อโหลด name = ""; Color color = null; //error แก้ไข: ฉันไม่ดีฉันไม่ได้อธิบายอย่างถูกต้อง แต่คำตอบทั้งหมดที่เกี่ยวข้องกับ nullable นั้นสมบูรณ์แบบ สถานการณ์ของฉันคือเกิดอะไรขึ้นถ้าฉันได้รับ / ตั้งสำหรับ enum ในชั้นเรียนที่มีองค์ประกอบอื่น ๆ เช่นชื่อ ฯลฯ ในการโหลดหน้าฉันเริ่มต้นชั้นเรียนและพยายามเริ่มต้นค่าเป็นโมฆะ นี่คือสถานการณ์ (รหัสคือ C #): namespace Testing { public enum ValidColors { Red, Green, Yellow …
194 c#  enums  null  nullable 

8
วัตถุที่ nullable ต้องมีค่า
มีบุคคลที่ผิดธรรมดาในคำอธิบายข้อยกเว้น: วัตถุที่ Nullable ต้องมีค่า (?!) ปัญหานี้เป็นปัญหา: ฉันมีDateTimeExtendedชั้นเรียนที่มี { DateTime? MyDataTime; int? otherdata; } และผู้สร้าง DateTimeExtended(DateTimeExtended myNewDT) { this.MyDateTime = myNewDT.MyDateTime.Value; this.otherdata = myNewDT.otherdata; } ใช้รหัสนี้ DateTimeExtended res = new DateTimeExtended(oldDTE); ขว้างInvalidOperationExceptionด้วยข้อความ: วัตถุที่ Nullable ต้องมีค่า myNewDT.MyDateTime.Value- ถูกต้องและมีDateTimeวัตถุปกติ ข้อความนี้มีความหมายอะไรและฉันทำอะไรผิด โปรดทราบว่าไม่oldDTE nullฉันได้ลบออกValueจากmyNewDT.MyDateTimeแต่ข้อยกเว้นเดียวกันถูกโยนเนื่องจาก setter ที่สร้างขึ้น

2
ใน Kotlin เป็นวิธีสำนวนที่จะจัดการกับค่า nullable การอ้างอิงหรือการแปลงพวกเขา
หากฉันมีประเภทที่ไม่สามารถใช้Xyz?งานได้ฉันต้องการอ้างอิงหรือแปลงเป็นประเภทที่ไม่สามารถยกเลิกXyzได้ การทำเช่นนั้นใน Kotlin เป็นอย่างไร? ตัวอย่างเช่นรหัสนี้มีข้อผิดพลาด: val something: Xyz? = createPossiblyNullXyz() something.foo() // Error: "Only safe (?.) or non-null asserted (!!.) calls are allowed on a nullable receiver of type Xyz?" แต่ถ้าฉันตรวจสอบโมฆะก่อนอนุญาตทำไม? val something: Xyz? = createPossiblyNullXyz() if (something != null) { something.foo() } ฉันจะเปลี่ยนหรือรักษาค่าที่ไม่ใช่nullโดยไม่ต้องมีการifตรวจสอบโดยสมมติว่าฉันรู้ว่ามันไม่เคยมีจริงnullหรือ ยกตัวอย่างเช่นที่นี่ฉันกำลังเรียกค่าจากแผนที่ที่ผมสามารถรับประกันได้อยู่และผลจากการไม่ได้get() nullแต่ฉันมีข้อผิดพลาด: val map = mapOf("a" …

5
ประเภท 'สตริง' ต้องเป็นชนิดที่ไม่เป็นโมฆะเพื่อใช้เป็นพารามิเตอร์ T ในประเภททั่วไปหรือวิธีการ 'System.Nullable <T>'
เหตุใดฉันจึงได้รับข้อผิดพลาด "ประเภท 'สตริง' ต้องเป็นประเภทค่าที่ไม่เป็นโมฆะเพื่อใช้เป็นพารามิเตอร์ 'T' ในประเภทหรือวิธีการทั่วไป 'System.Nullable'" using System; using System.Collections; using System.Collections.Generic; using System.Data; using System.Diagnostics; using Universe; namespace Universe { public class clsdictionary { private string? m_Word = ""; private string? m_Meaning = ""; string? Word { get { return m_Word; } set { m_Word = value; } …
172 c#  nullable 

4
ไม่สามารถระบุประเภทของนิพจน์เงื่อนไขได้เนื่องจากไม่มีการแปลงโดยนัยระหว่าง 'int' และ <null>
ทำไมสิ่งนี้ถึงไม่คอมไพล์ int? number = true ? 5 : null; ไม่สามารถระบุประเภทของนิพจน์เงื่อนไขได้เนื่องจากไม่มีการแปลงโดยนัยระหว่าง 'int' และ &lt;null&gt;
167 c#  nullable 

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