คำถามติดแท็ก reference-type


12
ใน C # เหตุใด String จึงเป็นประเภทการอ้างอิงที่ทำงานเหมือนประเภทค่า
String เป็นประเภทการอ้างอิงแม้ว่าจะมีลักษณะส่วนใหญ่ของประเภทค่าเช่นการไม่เปลี่ยนรูปและมี == มากไปเพื่อเปรียบเทียบข้อความแทนที่จะทำให้แน่ใจว่าพวกเขาอ้างอิงวัตถุเดียวกัน เหตุใดสตริงจึงไม่เป็นเพียงประเภทค่า

14
ความแตกต่างระหว่างประเภทการอ้างอิงและประเภทค่าใน c # คืออะไร?
ผู้ชายบางคนถามคำถามนี้กับฉันเมื่อสองเดือนก่อนและฉันไม่สามารถอธิบายรายละเอียดได้ ความแตกต่างระหว่างประเภทอ้างอิงและประเภทค่าใน C # คืออะไร? ฉันรู้ว่ามีค่าชนิดint, bool, floatฯลฯ และการอ้างอิงประเภทdelegate, interfaceฯลฯ หรือเป็นความผิดนี้มากเกินไป? คุณช่วยอธิบายให้ฉันเข้าใจแบบมืออาชีพได้ไหม

4
AnyObject และ Any ใน Swift
ฉันไม่เข้าใจว่าเมื่อใดควรใช้ AnyObject และเมื่อใดควรใช้ Any ใน Swift ในกรณีของฉันฉันมีพจนานุกรม [สตริง: ???] ??? : สามารถเป็น Int, Double, Float, String, Array, Dictionary ใครช่วยอธิบายความแตกต่างระหว่าง Any และ AnyObject กับสิ่งที่ควรใช้ในกรณีของฉัน Alak

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