転職を繰り返したサラリーマンの多趣味ブログ

30才未経験でSEに転職した人の多趣味ブログ

2020-02-01から1ヶ月間の記事一覧

C#を勉強する16_その他の文字列操作

文字配列から文字列を生成する // 配列の生成 var chars = new char[] { 'P', 'r', 'o', 'g', 'r', 'a', 'm', }; // 文字配列から文字列の生成 var str = new string(chars); 数値を文字列に変換する C#では、数値を文字列に変換する方法が、「ToStringメソ…

C#を勉強する15_文字列の連結と分割

次は文字列の連結と分割。文字連結といえば、+演算子。 var name = "山田" + "TARO"; 連結はこの+演算子でだいたい事足りるが、文字列配列の場合はJoinメソッドを使うと便利な使い方ができる。 var languages = new[] { "C", "Java", "VB", "Ruby" ,}; // 区…

C#を勉強する14_文字列の変換

次は本当によく出てくる文字列の変換。競技プログラミングの問題で、「本当は'L'と入力するところを、誤って'i'と入力した。プログラムで'i'の部分を'L'に変換すること」などがある。 文字列の前後の空白を取り除く var target = " non-whitespace "; // 空…

C#を勉強する13_文字列の検索と抽出

前回は、文字列の判定だった。そのため戻り値はboolだったが、今度は文字列の抽出を行う。 部分文字列を検索し、その位置を求める var target = "1234ABC567"; // 0から始まるため「4」を返す var index = target.IndexOf("ABC"); 文字列の一部を取り出す va…

C#を勉強する12_文字列の判定

前回に引き続き、文字列の操作編。今回は文字列の判定です。 文字列に関わらず、ソースを書く際気をつけないといけないのが、nullpointerexceptionだ。Stringクラスの静的メソッドには、このnull判定が用意されている。 // null あるいは空文字列の場合、tru…

C#を勉強する11_文字列の比較

転職活動のなかで、paizaに出会った。 paiza.jp paizaのスキルチェックでは、プログラミングの問題を解くことができる。この問題を解く際に、文字列やリストを操作するメソッドを知っていると、ソースを簡潔に書くことができる。C#には色々便利なメソッドが…

【Unity】ダメージをくらったら、Spriteを点滅させて無敵時間を作る方法

横スクロールアクションや、シューティングゲームでよくあるあれです。 まずSpriteを点滅させる方法は、SpriteRendererコンポーネントのアルファ値を変化させてやれば、実装できる。そのときのソースコードがこれ。 public SpriteRenderer sp; // ダメージ判…

【Unity】TextがSpriteの後ろの隠れてしまう問題

タイトルそのまんまです。ゲーム作ってたら、こんな感じでTextオブジェクトがSpriteの後ろになってしまう問題が発生。 Sprite同士なら簡単にいくのだが、TextとSpriteだとどうしていいのかわからず、結構悩んでいた。 で、解決した方法がこちら。 Textオブジ…

C#を勉強する⑩_初期化に関して

基本的には、変数の宣言と値の設定はセットで行うことがイディオム(慣用的なコード)とされている。そうしないと、コードの可読性が落ちるから。例としては、以下のような感じ。 int age; Console.WriteLine("hoge"); // 宣言と値の設定の間に、別なコード…

C#を勉強する⑨_可変長引数、オプション引数、コンストラクタ定義について

可変長引数 メソッド定義で、引数の数を限定しない書き方。引数は、配列として扱う。 public static void Main(string[] args) { // 3が出力される Console.WriteLine(LastNum(1, 2, 3)); // 5が出力される Console.WriteLine(LastNum(1, 2, 3, 4, 5)); } pu…

C#を勉強する⑧_プロパティの初期化

これまでプロパティの初期化といったら、コンストラクタでやるものだと思ってた。 class Sale { public int number { get; set; } // コンストラクタ public Sale() { number = 10; } } けど、C#ではコンストラクタを使わずにプロパティの初期化ができる。こ…

C#を勉強する⑦_条件演算子、null合体演算子、null条件演算子

条件演算子 if文で書くと4行になるところが、条件演算子を使うと1行で書ける。たしかに便利だが、慣れないと普通にif文使ってしまいそう。 // ?より前が条件式 // trueなら1、falseなら0を返却 var num = list.Contains(key) ? 1 : 0; null合体演算子 // Get…

C#を勉強する⑥_LINQ to Objects

LINQは「Language Integrated Query」の略。自分が勉強したイメージだと、SQLの構文をC#で使えるイメージ。LINQを使うには、usingディレクティブを使って名前空間System.Linqを指定する。 イメージでSQLと言ったのは、LINQにはクエリ演算子なるものが用意さ…

C#を勉強する⑤_List<T>クラスとラムダ式の組み合わせ

Listクラスには、デリゲートを引数に受け取るメソッドが用意されている。 paizaなどで問題を解く際、Listの操作をするシチュエーションは多々ある。ラムダ式を使うことでListの操作を簡潔にかけるので、ここでまとめておく。 なおこれから書くメソッドは、以…

C#を勉強する④_ラムダ式

C#を勉強すると、ラムダ式の壁にぶつかった。何度勉強しても、難しく感じる。ラムダ式を書くにあたり、「ラムダ式の{}の中が1つの文の場合は、{}とreturnを省略することができる」などのルールが存在するが、それらを全て覚えることは不可能だと判断した。 …

最近転職したので、自分の転職活動をまとめてみた

最近、転職しました。もちろん同じSEではあるけれど、転職活動は結局3ヶ月ほどやった。せっかく転職するんだから今よりもいい条件で働きたくて、色々悩んでたら3ヶ月も経っていた。働き方としては以下を考えた。 正社員_自社開発 正社員_客先常駐 正社員_在…

しばらくブログを更新しなかったら、アクセスが確実に増えてきている

しばらくブログ更新していないなーと思っていたら、最後に更新したのが11月だった。なので、90日間更新していないブログに表示される広告が、ついにこの広告にも表示されてしまっていた。更新はしていないものの、アクセスは日々見ていたんやけど、そうする…