25

今朝、本を読んでいて、次のような段落を見つけました。

テーブル内の各データ フィールドは、厳密に型指定されたデータ メンバーであり、.NET の Common Type System に完全に準拠しています。

上記の行は、「異なる言語で書かれたオブジェクトが相互にやり取りできる」ことを意味しますか?

そして、それが上記の行を意味する場合、上記の行が正確に何を意味するかは、異なる言語が次のように相互に対話できることを意味します

私は例で解決しようとしていますが、今まで成功していません。

それとも、私が見逃していて、知る必要があるものですか。理解するのを手伝ってください。

前もって感謝します

4

5 に答える 5

22

たとえば、2 つの異なる型を乗算または除算することはできません。String vs Integer

var answer = 1 * "1"; // you cannot do this

明示的にキャストする必要があります。これは、強く型付けされたものとして知られています

どこであなたがphpで見るかのように

$x = "3" * 1; // is correct in php

したがって、ここでは明示的にキャストする必要はありません。

于 2012-05-28T05:45:10.057 に答える
16

何かが厳密に型付けされていると言うとき、オブジェクトの型が既知で利用可能であることを意味します。

次のような関数があるとしましょう

public int Add(int a, int b){
 return a+b;
}

この関数を次のように呼び出すことができます

int result = Add(5,4);

しかし、次のようなことはできません

int result = Add(5.2,4.5); // We will get here compilation error.

C# (および C++ と他の多くの言語) は厳密に型指定されています。これは、コンパイラがコンパイル時にこれらのエラーを検出してフラグを立てるためです。

こちらをご覧ください

于 2014-02-17T05:47:19.897 に答える
4

いいえ。これは、1and "1"(またはその他の数値と文字列) が異なる値であることを意味し、式で簡単に交換することはできません。

于 2012-05-28T05:42:29.897 に答える
3

「.NET の共通型システムに完全に準拠」とは、データ型が任意の .NET 言語で使用できることを意味します。したがって、CTS 準拠の c# でプロパティを公開するクラスを作成した場合、そのクラスはたとえば VB.net から使用できます。

「テーブル内の各データ フィールドは厳密に型指定されたデータ メンバーです」とは、テーブル内の値の型に依存できることを意味し、必要に応じて別の型にキャストする必要があります。暗黙のキャストはできません。

于 2012-05-28T05:48:27.570 に答える
0

これは、異なる型の 2 つの変数がある場合、操作を実行可能にするためにそれらをキャストする必要があることを意味します。

それ以外の場合は、例外がスローされます。

于 2012-05-28T06:24:13.923 に答える