นี่เป็นคำถามงี่เง่า แต่คุณสามารถใช้รหัสนี้เพื่อตรวจสอบว่ามีบางอย่างที่เป็นประเภทใด ...
if (child is IContainer) { //....
มีวิธีที่สง่างามกว่านี้ในการตรวจสอบอินสแตนซ์ "NOT" หรือไม่
if (!(child is IContainer)) { //A little ugly... silly, yes I know...
//these don't work :)
if (child !is IContainer) {
if (child isnt IContainer) {
if (child aint IContainer) {
if (child isnotafreaking IContainer) {
ใช่ใช่ ... คำถามงี่เง่า ....
เนื่องจากมีคำถามบางอย่างเกี่ยวกับลักษณะของรหัสมันเป็นเพียงการคืนค่าอย่างง่าย ๆ ในตอนเริ่มต้นของวิธีการ
public void Update(DocumentPart part) {
part.Update();
if (!(DocumentPart is IContainer)) { return; }
foreach(DocumentPart child in ((IContainer)part).Children) {
//...etc...
if (!(argument is MapsControlViewModel vm)) { return; }
- ฉันสามารถสลับถ้าและวางส่วนที่เหลือของวิธีการที่อยู่ในวงเล็บของ if แต่แล้วฉันจะได้รับรหัสต้นคริสต์มาสด้วยวงเล็บจำนวนมากในตอนท้ายของวิธีการ อ่านได้น้อยกว่ามาก
ifnot
แถลงการณ์