タグ付けされた質問 「clr」

4
構造体とクラスがC#で概念を分けているのはなぜですか?
C#でプログラミングしているときに、理解できない奇妙な言語設計の決定につまずきました。 したがって、C#(およびCLR)には2つの集約データ型があります:(struct値型、スタックに格納され、継承なし)およびclass(参照型、ヒープに格納され、継承あり)。 この設定は最初はいい感じに聞こえますが、その後、集計タイプのパラメーターを取るメソッドに出くわし、実際に値タイプか参照タイプかを判断するには、そのタイプの宣言を見つける必要があります。時には非常に混乱することがあります。 一般的に受け入れられている問題の解決策は、すべてstructのを「不変」(フィールドをに設定readonly)として宣言して、起こりうる間違いを防ぎ、structsの有用性を制限しているようです。 たとえば、C ++ははるかに使いやすいモデルを採用しています。スタックまたはヒープのいずれかにオブジェクトインスタンスを作成し、値または参照(またはポインター)で渡すことができます。私はC#がC ++に触発されたと聞き続けていますが、なぜこの1つの手法を採用しなかったのか理解できません。組み合わせるclassとstruct経由で参照として(明示的に)二つの異なる割り当てオプション(ヒープとスタック)と一方の構築物へと値として周りにそれらを渡したりrefしてout、キーワードはいいことのように思えます。 質問は、なぜやったclassし、structC#とCLRで別々の概念の代わりに、2つのアロケーションオプションを持つ1つの集約タイプになりますか?

2
IronSchemeは学習する価値があるほど十分に完全または安定していますか?
IronSchemeは、Wikipediaで IronLispと呼ばれる失敗したプロジェクトの後継として言及されており、ClojureがJVMに対して行うように、LispをCLRおよび.NETにもたらします。この言語の経験はありますか?かなり完成しているように見えます(99%)が、セットアップするのに時間をかける価値があるかどうかを判断する方法はわかりません。安定または完全ということは、単にツールやProject Eulerスタイルの問題をいじるのではなく、実際のプロジェクトに使用することを意味します。
17 .net  lisp  scheme  clr 

4
C#の定数
コンパイラが定数値をアセンブリメタデータに格納するのはなぜですか?それらは、アセンブリメタデータから中間言語コードに直接埋め込まれていますか?
9 c#  clr  compilation 

1
CLRはどの言語で書かれていますか?
好奇心から、CLRはどの言語で書かれていますか?私はJava仮想マシンのウィキペディアエントリを読んで、C ++でプログラムされていることを確認しました。これはCLRでも同じですか? これがトピックから外れている場合は申し訳ありませんが、この質問がStack Overflowに進むのに十分な技術的であるとは思いませんでした。
8 languages  clr 
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.