質問
今回が初めてC#や学習の新しい言葉です。難しいと思うかの意味の言葉でプログラミングc#.また、辞書の意味といった:
暗黙的な
"何かが暗黙で表現される間接ることになります。
例えば"品質や要素が暗黙のう員であるということもあり、表示する"
明示的な
"何かが明示的な表示を明記し、公正でなく、解決しようとする問題に最適な隠すもの"
"の場合は明示的な何かについてのお話でも公開いたします。"
私のいずれかを参照することになり、C#.
おります。
乾杯
追加情報:
この文書に何をいくつかについて触れたいと思い、今はこの言葉に"暗黙の"
"この地域内乗員
AreaPerPerson( )
暗黙のうちに をご参照のコピーの変数をオブジェクトを呼び出しAreaPerPerson( )
"
いかなかこの文はこう言うまでもない。
解決
の implicit
や explicit
キーワード、C#の使用を宣言する場合に変換。うでしょうかあるいは,以下のようにクラス:
public class Role
{
public string Name { get; set; }
}
したい場合は新規作成し Role
および割り当て Name
できないようになります:
Role role = new Role();
role.Name = "RoleName";
で唯一の財産でも便利な場合はしないようになります:
Role role = "RoleName";
これはたい 暗黙のうちに に変換する文字列を Role
(がありませんので特定のキャストのコードとします。そのために、追加は暗黙的に変換オペレーター:
public static implicit operator Role(string roleName)
{
return new Role() { Name = roleName };
}
別のオプションを実現しようとする明示的な変換オペレーター:
public static explicit operator Role(string roleName)
{
return new Role() { Name = roleName };
}
この場合、できない暗黙的に変換する文字列を Role
, していますが、キャストでコード:
Role r = (Role)"RoleName";
他のヒント
一般
- 暗黙:何かが行っていきます。
- 明示的な:ま記述しながら、何らかのソースコードからのバイオエタノールしたいと思う。
例えば:
int x = 10;
long y = x; // Implicit conversion from int to long
int z = (int) y; // Explicit conversion from long to int
Implicit and explicit用に多くの異なるコンテキストの一般的な意味では常にされるようになっています。
ご興味のある方は、つきしては、こちらをご覧ください。たとえば、次のようになります。
int x = 10;
long y = (long) x; // Explicit use of implicit conversion!
(明示的な変換である は に記載される明示的に暗黙の前版である ができ 使用する暗黙のうちに、のコードを状態とても感じが良かったです。
つもりで全部やってほしい二つのクラス
internal class Explicit
{
public static explicit operator int (Explicit a)
{
return 5;
}
}
internal class Implicit
{
public static implicit operator int(Implicit a)
{
return 5;
}
}
びオブジェクト
var obj1 = new Explicit();
var obj2 = new Implicit();
きを書くことができる:
int integer = obj2; // implicit conversion - you don't have to use (int)
または:
int integer = (int)obj1; // explicit conversion
もの:
int integer = obj1; // WON'T WORK - explicit cast required
暗黙的に変換するために設計された変換されないゆったりせます。明示的な変換手段と、その中でゆったりも精密なければな状態にすることをご存知だしています。
また第二のコンテキストの暗黙/明示的な条件を適用インタフェースの実装です。がないキーワードになる場合があります。
internal interface ITest
{
void Foo();
}
class Implicit : ITest
{
public void Foo()
{
throw new NotImplementedException();
}
}
class Explicit : ITest
{
void ITest.Foo() // note there's no public keyword!
{
throw new NotImplementedException();
}
}
Implicit imp = new Implicit();
imp.Foo();
Explicit exp = new Explicit();
// exp.Foo(); // won't work - Foo is not visible
ITest interf = exp;
interf.Foo(); // will work
を利用した時は、その明示的なインタフェース実装、インターフェースのメソッドには見えないご利用の際はコンクリートタイプです。この場合に利用できインタフェースのヘルパーインタフェースはクラス'es主要な責任とい追加の手法に誤解を与える人を使用します。
と思い このリンク という暗黙的に変換するのはどのだと思うので明示的にキャストの値を代入を行います。なので、そうでない
myDigit = (Digit) myDouble
...できるだけい:
myDigit = myDouble;
て明示的にクライアントまで、フルのC#では、主に報開示における意図を明確に明.
例えば:
class MyClass
{
string myField;
void MyMethod(int someNumber)
{
}
}
上記のコードの視認性のクラスは、分野や方法はすべて更新されません。使用のコンパイラがデフォルトする
今まで覚えていないかのコンパイラのデフォルトは、もの同僚できないどちらかでな皆さんを思い出しデフォルト設定できます
public class MyClass
{
private string myField;
public void MyMethod(int someNumber)
{
}
}
暗黙きな示唆が明をすることになりますので状態で行います。のようにかぶ.ここは暗黙的なキャスト:
int implicit;
implicit = 7.5;
の価値"7.5"を暗黙のうちにキャストをintとして.これは、コンパイラはメールが届きました。
こちらでは明示的に:
int explicit;
explicit = (int)7.5;
こちらをしないといけないと考えていのコンパイラしたいです。す明示的に宣言することに変換します。い役立っています。ソース: http://cboard.cprogramming.com/cplusplus-programming/24371-implicit-explicit.html
この資源のための学習C#: http://www.functionx.com/csharp/
くはこちらをご覧ください具体的には: http://www.functionx.com/csharp/math/Lesson20.htm