2023年08月18日
川俣晶の縁側技術関連執筆情報total 944 count

C#の初期化順入門: バグを産み出す魔境を乗り越える方法!

Written By: 川俣 晶連絡先

表紙C#の初期化順入門: バグを産み出す魔境を乗り越える方法!

「これは変数の初期化の歴史: ~C言語は変数を初期化しない~は正しいのか?とはどう違うんだい?」

「うん。似て非なる本なので分けた。それは、プログラミング言語ごとの変数の初期化の違い、こっちはC#で初期化がトラブルになる理由と解決方法の説明がメインなんだ」

「ではこの本の目玉はなんだい?」

「ソースコード上で確かに初期化しているはずの値が読み出せない事例の紹介、読み出せない理由、解決方法だ」

「それってC#の問題?」

「いや、どの言語でも起こりえることだよ。全ての値が同時に初期化されることはない以上ね。特に循環参照なんて言語を変えても解決できないよ」

「本質としてはどの言語でも起こりえることなんだね」

「でも、それでは本が成立しないからC#ではこう言うときに起こるから注意しようと書いたわけだ」

「なるほど」

「意外とネットを検索しても確かなことがあまり書いていないことがあって、調べながら書いたところもあるぞ」

「調査にILSpyまで使ったわけだね」

「一部の初期化はどうしても分からなかったので、ILSpyで逆コンパイルして初期化の流れを確認したよ。だから、実装に立脚した正しい解説が書けているはずだ」

「なかなかの難題だね」

「だからこそ、タイトルに魔境という文字が入っているのだ」

表紙の苦労 §

「実は表紙には、タイトルが魔境だからジャングル、廃墟、探検家、美女の組み合わせの画像を入れたかったのだが、どうしてもAIがそれを上手く生成できなかったので、ジャングルの探検家風の女の顔の画像を使用してしまった」

「廃墟要素、どこにもないね」

「まあ仕方が無い。これで良いと言うことにしたよ」

「ところで表紙にInitialize Order 66って書いてあるのはどういう意味? Initialize Orderが初期化順だとすると66の意味が分からないんだけど」

「そこはネットのJedi Masterに訊いてくれ」

Facebook

このコンテンツを書いた川俣 晶へメッセージを送る

[メッセージ送信フォームを利用する]

メッセージ送信フォームを利用することで、川俣 晶に対してメッセージを送ることができます。

この機能は、100%確実に川俣 晶へメッセージを伝達するものではなく、また、確実に川俣 晶よりの返事を得られるものではないことにご注意ください。

このコンテンツへトラックバックするためのURL

https://mag.autumn.org/tb.aspx/20230818125521
サイトの表紙【技術関連執筆情報】の表紙【技術関連執筆情報】のコンテンツ全リスト 【技術関連執筆情報】の入手全リスト 【技術関連執筆情報】のRSS1.0形式の情報このサイトの全キーワードリスト 印刷用ページ

管理者: 川俣 晶連絡先

Powered by MagSite2 Version 0.36 (Alpha-Test) Copyright (c) 2004-2021 Pie Dey.Co.,Ltd.