白猫のメモ帳

C#とかJavaとかJavaScriptとかHTMLとか機械学習とか。

C#

JavaとC#とTypeScriptのinterfaceの違い

こんにちは。 急に気候が変わってついていけません。 窓を開けると湿度の低さにびっくりします。さて、最近たまに記事に書いているように、ちょくちょくTypeScriptを触っています。 もともとJavaをやっていて、いまはC#をメイン言語にしているので文法的にそ…

ASP.NETアプリケーションをDocker用にマイグレーションする(.NET 7)

コンソールアプリケーションのマイグレーションをしたので、今度はWebのマイグレーションをします。 あるあるな気がしますが、記事にしてないだけでだいぶ前に実施したのでもう記憶が…。 とりあえずプロジェクトを作る VisualStudioからASP.NET Core Web ア…

.NETの汎用ホストでコンソールアプリケーションを作ってみる

C#

.NET Framework(4.6.2)のコンソールアプリケーションを.NET(7)にマイグレーションしてみる - 白猫のメモ帳前回.NET Frameworkから.NETへのマイグレーションをした際にごにょごにょした、設定の読み込みだったりログだったりを便利に使える汎用ホストという機…

.NET Framework(4.6.2)のコンソールアプリケーションを.NET(7)にマイグレーションしてみる

C#

.NETのアプリケーションをLinux(Docker)で動かしたいのでマイグレーションをします。 .NET Coreからだったらそんなに変わらない気もするんですが、.NET Frameworkだとまぁまぁ困惑します。 .NET 7って? そもそも.NET 7って何だろうってところから。 もとも…

C#のオプション引数とオーバーライド

C#

こんばんは。朝晩は涼しくなってきた…と思いきや急に暑かったり翻弄されている私です。 でも、もう9月ですね。今日はC#のオプション引数のお話。 オプション引数ってなんじゃら void Fuga(int a, string b) { Console.WriteLine($"a:{a} b:{b}"); } たとえば…

C#のジェネリックでワイルドカードが使えないのはどうすればいいの?

C#

こんにちは。今年度も残すところ一ヶ月になりましたね。 いやはやあっという間です。今回はC#のジェネリックについて。 最初に書いておきますが、解決には至りません。単純な疑問です。 便利なはてな まずはJavaでこんなクラスを作って、 abstract class Hog…

ジェネリックなコレクションのインスタンスをリフレクションで生成する

C#

個人的なメモ。たとえば、List<string>のインスタンスをリフレクションで生成したい場合、 var type = typeof(List<string>); var instance = Activator.CreateInstance(type); ってなるのだけれど、 任意のTypeインスタンスがあって、これのジェネリックなコレクションが生</string></string>…

省略可能引数のあるメソッドをリフレクションで呼ぶ(C#)

C#

こんばんは。なんだか妙に暖かい日があったりしましたが、 すっかり冷え込んできて、気づけばもう12月。 今年も残すところあと少しですね。今回はちょっとリフレクションについて。 そもそもリフレクションでメソッドってどうやって呼ぶ? 軽く確認を。 まず…

パラメタでルーティングがしたい(ASP.NET)

C#

こんにちは。11月11日です。 ポッキー食べましたか? 世の中真っ直ぐな食べ物なんてたくさんあるのに、確固たる地位を築いているのはすごいですね。ちくわ&ちくわぶの日だっていいし、なんならそうめん&スパゲティの日だっていいわけです。 でももうポッキー…

nullチェックしたらNullReferenceException

C#

こんにちは。秋ですね。 ようやく暑さも収まりましたが、体調が安定しません…。なんだか謎掛けみたいなタイトルですが、 変な罠に引っかかりそうになったので備忘録。 なぞなぞ nullチェックするようなロジックを書くべきではないとかいう話はまぁちょいちょ…

総称型メソッドの型指定

こんにちは。新年度が始まって二週間がたちました。 新しい環境で頑張っている方はとてもお疲れのことでしょう。 新しくなくても眠たいです。春眠春眠・・・。この前コードを書いていてふと気づいたこと。 JavaとC#で総称型メソッドの挙動が違う。 総称型メ…

staticイニシャライザとstaticコンストラクタは同じだと思っていました

こんにちは。年の瀬ですね。 お仕事は納まりましたか。 あれ・・・なんかこれ去年も書いた気がする。 そもそもイニシャライザとかコンストラクタってなんだっけ Java staticイニシャライザはJavaの機能。 class Hoge { static String fuga; // staticイニシ…

プロパティとかインデクサはインクリメントできる

C#

こんにちは。気温の変化についていけない私です。 今日はC#ネタ。C#にはプロパティという便利な機能があります。 Javaばっかり書いていた私としては単なるアクセサの便利な書き方くらいに思っていたのですが、 ふと違いに気づいたのでメモ。たとえばこんなin…

staticでないネストクラス

こんばんは。昔は海の日から夏休みが始まった気がするのですが、 最近はハッピーマンデーの関係でそうでもないんですよね。さて、前回のつづきです。 前回はstaticなネストクラスについて書きましたが、 今回は「でない」方です。 Java Javaにおけるstaticで…

staticなネストクラス

こんばんは。液晶保護シートが上手に張れないわたしです。 剥がして使ってみたらすごく快適なので、もう張らなくていい気もしてきました。さて、JavaにもC#にもネストクラスという仕組みがありますが、 ちょっと挙動が違うので整理してみようかと思います。…

エクスプローラで追加したファイルは何処に?

C#

こんばんは。PCを新調しましたが、データの移し替えとかが面倒で、 結局まだ古いのを使っているわたしです。さて、開発をする時にIDEのワークスペース内に エクスプローラから直接ファイルを置いたりするのですが、 EclipseやNetBeansなどがそのまま反映され…

C#を勉強する 小ネタ② IDEのショートカット

こんばんは。今年度も残すところあと二日ですね。 新年度の準備はできましたか。わたしは4月からまた会社員に戻りますよ。 いつか転職エントリとか書きますかね…?さて、最近はVisualStudioを使うことが多いのですが、 いつまでたってもショートカットを覚え…

Java使いがC#を勉強する その⑪ LINQ

table.compare_table {width: 100%; font-size:90%;} table.compare_table th {background-color: cornsilk;} table.compare_table th:nth-child(3n+1) {width: 40%;} table.compare_table th:nth-child(3n+2) {width: 30%;} table.compare_table th:nth-chi…

Java使いがC#を勉強する その⑩ ラムダ式

こんばんは。なんだかんだで10回目まで来ました。 環境依存文字の丸で囲んだ数字が⑳まであってよかったね!今回はラムダ式について見ていきます。 delegateなんてなかったのだ ラムダ式は要するに匿名関数なのですが、 delegateって何?匿名クラスは?関数オ…

Java使いがC#を勉強する その⑨ 演算子オーバーロード

こんばんは。眠いのは春のせいです。いつも眠いのはきっと気のせいです。しゅんみん は あかつき を おぼえた! てってれー。 さて、今回は演算子オーバーロードについて見ていきます。 この機能はJavaを使っているときからうらやましかったですね。 特にベ…

Java使いがC#を勉強する その⑧ 例外処理

こんばんは。平穏無事な日々を送りたいわたしです。 でも、世の中には思いがけないことも多いものです。 そんなわけで今日は例外処理です。 例外の比較 ひとまずJavaとC#の例外を比較してみましょう。 一般的な例外(Javaでは非検査例外) 説明 C# Java null…

C#を勉強する 小ネタ コンソール邪魔

C#

こんばんは。気が付けばもう3月ですね。 春の足音が聞こえ・・・ない。寒い。今回はちょっとした小ネタです。VisualStudioを使うようになって、Eclipseとの違いにいろいろ戸惑っています。 特にショートカットは手が覚えているので、しょっちゅう変なキーを…

Java使いがC#を勉強する その⑦ アクセス修飾子

こんばんは。本棚がいっぱいになって困っています。わたしです。 今回はアクセス修飾子について見ていきます。 基本 アクセス修飾子は型および型のメンバーにつけることができます。 アクセス修飾子の種類は以下の通りです。 修飾子 Java C# public どこから…

Java使いがC#を勉強する その⑥ 拡張メソッド

こんばんは。何やら今日は妙に温かかったですね。 そして明日は寒いらしいですね。体調に気をつけましょう。さて、C#には拡張メソッドというデンジャラスな機能があります。 今回はこれを見ていきます。 拡張ってどういうことだ 通常、あるクラスにメソッド…

Java使いがC#を勉強する その⑤ 継承とインタフェース

こんばんは。今回はクラスとインタフェースについて比較します。 オブジェクト指向なので、だいたいクラスでしょといってしまえばおしまいなのですが、 それはそれということで。 命名規則 クラスはJavaもC#もパスカル記法(キャメルケースの先頭も大文字)…

Java使いがC#を勉強する その④ インデクサ

こんばんは。なんだか雪みたいなものが降りましたね。 寒いわけです。さて、前回はプロパティについて書きましたが、 今回はその延長でインデクサについて見ていきます。 インデクサ インデクサはインスタンスに添え字を指定してアクセスできる機能です。Jav…

Java使いがC#を勉強する その③ プロパティ

こんばんは。スマホの液晶シートが上手に貼れない私です。 今日はプロパティについてみていきます。 アクセサ オブジェクト指向プログラミングでは、オブジェクト内部のメンバ変数に外部からアクセスするためには、 「アクセサ」と呼ばれるメソッドを利用し…

Java使いがC#を勉強する その② 配列

こんばんは。久しぶりに雨が降りましたね。 雨が好きなわけではないですが、湿度が高いのはありがたいです。さて、前回はデータ型について比較したので、 今回はそのついでのような形で配列について見ていきます。 1次元配列 1次元配列に関しては、あまり大…

Java使いがC#を勉強する その① データ型

こんばんは。今日は節分ですね。 恵方巻き食べましたか?豆まきしましたか? 私はこれからまきます…。さて、C#の言語仕様をJavaと比較してみるシリーズ始めます。 最初はデータ型について比較してみましょう。 値型(プリミティブ型) C# Java 説明 sbyte by…

C#の勉強します

C#

こんばんは。2月ですね。 新年を迎えたばかりのような気がしますが、もう1年の1/12が終わってしまったのですね。さて、いままでJavaJavaしていた私ですが、 C#(ASP.NET)を書くことになりそうなので、C#の勉強をしていこうかと思います。現在の最新バージョン…