それで、月曜日の朝に C# の学習を開始しました。過去 2 日間、次から次へとビデオを見てきましたが、今、自分が正しく考えているかどうかを知りたい観察結果がいくつかあります。
私の過去は約 4 年間の大学レベルの Java プログラミングでした。そのため、説明が必要であり、それを Java アイテムに言及することが関連している場合は、遠慮なくマインドセット リンクを作成してください。
私はまた、最初の「実際の」アプリケーション開発インターンシップを開始しているので、C# および .Net ベースのプロジェクトに取り掛かる前に、最初の 1 週間は自分で何かを学ばせてもらっています。
どれも大歓迎です!
「as」演算子: 私の理解では、これは基本的にキャストです。だから私は言うことができました
int a; double b; a as b;
これは (double)a と同等であるはずですよね?
また
object sender; Label clickedLabel = sender as Label.
これは (Label)sender のようになり、sender はオブジェクトですが、今度はラベルとしてキャストされますね。
動的タイプ: これについての私の理解では、これは「すべてのもの!」です。タイプ、つまり動的 d; int、double、object、string などとして使用できます。何にでも適用できます。はい/いいえ/どのような?
dynamic d =5; int a = d; string b = d; object c = d;
それが正しい場合、これはボクシングとどのように違うのですか? ボクシングは単なる「as」演算子/動的タイプですが、タイプオブジェクトでのみ使用できますか?
整数リテラル、これらはどのくらいの頻度で、どのようなシナリオで使用されますか? 私はそれらのセグメントを見ましたが、彼らはかなり奇妙に見えました。私はアプリケーション開発を行っているので、これらが役立つ場合は、日常的な目的のいくつかを説明してください
212 = decimal 215 = decimal unsigned 0xFccL = long hexidecimal (i think) 058 = Illegal as 8 is not an octal digit 05UU = Illegal as a suffix (the u for unsigned) is repeated 30u1 = unsigned long 30u = unsigned int
これらすべてがアプリケーション開発タイプのどこで使用されるかについて、私は混乱しています。彼らは私には直接アセンブリの相互作用のように見えましたが、おそらくそれはアプリ開発の一般的な部分です (最初の「実際の」インターンシップ)
{#} 構文 / WriteLine: いくつかのデモ アプリを作成しましたが、それらは次のような構文を使用しています。
Console.WriteLine("Radius: {0}, Area: {1}", r, areaCircle);
また
Console.WriteLine("{0}:{1}:{2}", e.Hour.ToString(), e.Minute.ToString(), e.Second.ToString());
私が認識していることから、{0}、{1}、{2} などは何らかの形でセットから値を引き出しています (私が物理的に作成したとは思いません)。これが何と呼ばれているのかわからないので、Googleで検索する方法がわかりません。
これは非常に便利な操作だと思うので、誰かが私を正しい方向に向けてくれませんか。
Nullable 型: ここで学んだことから、次のような式は
static int? d; if (d.HasValue) { // something }
有効な相互作用であるためエラーは発生しませんが、Java では何らかのコンパイル エラーが発生します。
次のように、最初にインスタンス化を使用して null 許容型を設定することもできると思います。
int? d = 5;
これは上記と同じですが、null 属性がタグ付けされています。
これについての私の質問は、
「Nullable」はすべてのタイプまたは一部のみに適用できますか?
d の実際の値を取得できますが、それでもチェックで null が返されるようにすることはできますか? タイプにnull属性をタグ付けできるので、「null」の属性と「値」自体は互いに独立して処理/チェックされると推測しています。それは正しい推測ですか、それとも間違った推測ですか? (必要に応じて、より良い説明を試みることができます)
文字列の質問!
Java で String を使用するように、C# で String を使用しますか? (大文字)
部分文字列を使用する場合、これら 2 つの文字列が異なる回答を返すのはなぜですか?
string sub = input.Substring(0, 3); //returns index 0-2 string sub = input.Substring(3, 3); //returns index 3-6
もっと追加するかもしれません...
あまり多くのことを求めているわけではないことを願っています。今後数日間で C# をできるだけよく学べるように努めているだけです。
新しいアプリ開発者が知っておくべきことに関して、C# に関するいくつかの優れた記事/チュートリアル/ect を知っている人がいる場合は、その方向を教えてください。私も PluralSight のアカウントを持っているので、そちらのチュートリアルも参照してください。
ありがとうございました、
-オースティン