FC2ブログ
06 «1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.27.28.29.30.31.» 08

ハルシオンシステムの気ままBlog

株式会社ハルシオンシステムのメンバーが送る、UnityやらJavaやらの技術的話題から、自社開発のアプリの宣伝とかとかのブログです。ほんと気ままにいきたいと思います。更新日は毎週 月 木でっす!

 

【ハルシオンブログ】Visual Studio でオートフォーマットの無効化 

こんにちは。
大坂です。

タイトル通りですが、Visual Studio でオートフォーマットの無効化したいときのお話。
設定は、「ツール」-「オプション」でオプションを開いてC#の場合は以下でできます。


オートフォーマットをタイミング別で有効、無効が変えられます。
プロジェクトでフォーマットを決めてやっていれば無効にする必要もないんですけどね。
自分の場合は、フォーマットが決まっていないときに別のテキストに一旦コードを貼り付けて、
戻したときにフォーマットが変わってGitにあげるときに差分が出てしまうのが嫌で貼り付け時のは無効化したりしています。

それぞれのタイミングの説明はここにあるので確認してみてください。
https://docs.microsoft.com/ja-jp/visualstudio/ide/reference/options-text-editor-csharp-formatting?view=vs-2019

ではでは、今週もこの辺でノシ

Category: Androidアプリ紹介

tb 0 : cm 0   

【ハルシオンブログ】int配列をfloatの配列に変換したかったとき 

こんにちは。
大坂です。

タイトル通り配列の型変換について、普通にCast使ってできるかと思ったらできなかったので・・・。
これだとできない。
float[] testFloatArray = testIntArray.Cast<float>().ToArray<float>();
これもできない。
float[] testFloatArray = (float[])testIntArray.Cast<float>();
こんな感じでやるとできます。
int[] testIntArray = { 1, 2, 3 };
float[] testFloatArray = new float[testIntArray.Length];
testIntArray.CopyTo(testFloatArray, 0);

とまぁこんな感じで同じ長さの配列作ってCopyToを使えばいいって話でした。

すごく短いですが今日はこれでノシ

Category: Androidアプリ紹介

tb 0 : cm 1   

【ハルシオンシステム】複数のオプション引数で後ろの引数だけに値を渡したいとき 

こんにちは。
大坂です。

こちらの記事でもオプション引数についてちょっと触れていますが、
【ハルシオンブログ】今週もちょこちょことC#の話・・・
複数のオプション引数を指定して、後ろの方の引数にだけ値を渡したいときがあると思いますがその方法。

まずは普通に複数のオプション引数を呼び出したとき。
    void Start() {
Test();
}

public void Test(int a = 1, int b = 2, int c = 3) {
Debug.Log("a:" + a);
Debug.Log("b:" + b);
Debug.Log("c:" + c);
}
呼び出し側では何も指定しないで呼び出せますね。(前の記事の内容と同じですが)


次にbだけ違う値にしたいときはこんな感じで書けます。
    void Start() {
Test(b: 10);
}

public void Test(int a = 1, int b = 2, int c = 3) {
Debug.Log("a:" + a);
Debug.Log("b:" + b);
Debug.Log("c:" + c);
}
引数を渡すときに「b: 10」としてあげるだけです。


ちゃんとbの値が変わりますね。
複数のオプション引数でも特定の場所に値を渡せるので便利ですね!

では今週もこれにてノシ

Category: Androidアプリ紹介

tb 0 : cm 0   

【ハルシオンブログ】なんか今週もDictionaryのネタですよ。 

こんにちは。大坂です。

先週もDictionaryのことを書きましたが今週も引き続き。
どうにも最近見る機会が多いのでス。

今日は、存在しないKeyにアクセスしたときのお話。

こんなのね。
    void Start() {
Dictionary test = new Dictionary();
Debug.Log(test[0]);
}

実行するとKeyNotFoundExceptionが発生します。

しかしこれも、こんなAPIがあります。
TryGetValue。
使い方はこんな感じです。
    void Start() {
Dictionary test = new Dictionary();
string str = "test";
test.TryGetValue(0, out str);
Debug.Log(str);
}

これでエラーは出ないのですが、
注意点としては上のコードだと変数「str」に初期値「test」を入れていますが、TryGetValueでは型の既定値が返されます。
stringの場合は「""(空文字列)」、intの場合は「0」が返されます。
TryGetValueの戻り値でboolを返してくれるのでそのへんで判断してもいいのかもしれません。

まぁ・・・Keyがないのにアクセスすることがそんなにあるかはわかりませんが・・・。

ではでは今週もこれにてノシ

Category: Androidアプリ紹介

tb 0 : cm 0   

【ハルシオンブログ】Dictionaryでforeachするときって 

GW明けてこんにちは。

では早速今週も書いていきます。

Dictionaryでforeachを回すときにKeyだけ取って回してました。
こんなふうに。
    Dictionary test = new Dictionary() { { "key1", 1 }, { "key2", 2 }, { "key3", 3 } };
foreach(string key in test.Keys) {
Debug.Log(key + ":" + test[key]);
}

Keyを全部取ってそのKeyの値を持ってきてましたが、これ両方一気に取れんないのかな?と思って見たら普通にありますね・・・。

   Dictionary test = new Dictionary() { { "key1", 1 }, { "key2", 2 }, { "key3", 3 } };
foreach(KeyValuePair pair in test) {
Debug.Log(pair.Key + ":" + pair.Value);
}

なんとなくKey取って回すって感じで思ってたのでずっとそのままやってましたが、ちゃんと調べないとだめですねー。

では今週もメモ的な感じですがこれにてノシ

Category: Androidアプリ紹介

tb 0 : cm 0