プログラミングでアイデアを具現化したい

あらゆるものを具現化するためにプログラミングを始めました。主にC#

C#

仮想通貨対応システム構築開始

どうも。夏休み10連休中の私です。 まだ土日を残しているというのに、既に気分が重くなり始めています・・夏休み前半は帰省したりしてましたが、後半は家でゆっくりと 何かに没頭しようと決めていました。ドラクエもいいななんて思ってましたが、 どうせ夏休…

MT4のヒストリカルデータのマージアプリを作成しました。

こんにちわ。久しぶりにビビビッときたアイデアが生まれました。 言い過ぎか、ビビッくらいです(笑) Paizaとかやってる時と場合じゃねぇ!ってくらいの勢いで まずは検証と裏付けをとMT4のヒストリカルデータから色々エクスポートして SQLServerにインポート…

paiza B級昇格

C#

どうやらC級クラスがやっとの腕前が、いつの間にかB級に上がっていたらしい。 幽遊白書とか思い出してしまいますね(笑)

しばらくの間、ロジックサマナーやります

C#

最近は稲妻が走るようなアイデアもないし、なんとなく時間だけが過ぎている感がひどい。 なので、プログラミング脳に刺激をあたえる為に競技プログラミング系といっていいのかわからんけど、 paizaでやってるロジックサマナーというゲームに参戦してみること…

家族や友人の年齢を覚えておく為のアプリ

C#

最近自分の家族が何歳なのか、自分がそもそも何歳なのかアバウトになってきまして。 なのでこんなアプリを作ってみました。 実行結果

List<T>とラムダ式の組み合わせ

C#

class Program { static void Main(string[] args) { var list = new List<string> { "USD/JPY","EUR/JPY","EUR/USD", "GBP/JPY","GBP/USD","AUD/JPY", "AUD/USD","NZD/JPY","NZD/USD" }; //Exists 引数で指定した条件に一致する要素の存在をtrue/falseで返す var ex</string>…

C#再勉強

C#

実戦で役立つ Cプログラミングのイディオム/定石&パターン 私が独学でC#の学習を始めた初期の頃、独習C 第3版と並んで内容が理解しやすかった Cプログラミング入門の筆者が新しい本を出していたので買ってみた。 C#の勉強は途中から自分が作りたいものがある…

これからはスマホでプログラミングでしょ

C#

こんな本が1/11に発売するらしいです。 スマホで始めるC#入門筆者は川俣 晶氏。スマホも5インチ以上が主流になってきたし、基本コードを定型文にしておけば スラスラプログラミングできるんでしょう!すごい時代です。ごめんなさい、ちょっとネタでした(笑)

フォルダ内のファイル数を取得する。

C#

必要があったので、メモ用です。 using System.IO; var directory = @"D:\フォルダの場所"; var fileCount = Directory.GetFiles(directory, "*", SearchOption.AllDirectories).Length; //サブフォルダのファイルをカウントしない場合は以下 //Directory.Ge…

数値以外の不要な文字を取り除く

C#

メモ的なコード using System; using System.Linq; namespace strTest { class Program { static void Main(string[] args) { string str = Console.ReadLine(); string filter = "-.0123456789"; string result = new string(str.Where(filter.Contains).To…

エクセル開くだけのアプリ

C#

対して工夫のないものですが、久々にアプリ作ったので。まああれです。パスワード付きのエクセル開くのに都度入力すんのめんどいなーってことで、フォームアプリから1クリックで開けるようにしたってだけですねw共通のイベントなので、ボタン増やせばその…

クリックテスター 少し改修

C#

先ほど作ったクリックテスターですが、要件が一部足りませんでした。 クリックした時刻を表示するようコードを書き換えました。 ついでにちょっとスッキリさせました笑 using System; using System.Windows.Forms; namespace ClickTester { public partial c…

クリックテスター

C#

ちょっと用途があって、クリックテスターなるものを自作しました。 仕様は単純で、ボタン10個配置して、それぞれクリックされた回数を表示するアプリ using System; using System.Windows.Forms; namespace ClickTester { public partial class Form1 : Form…

C# 配列の並び替え

C#

ブログで説明するのに少しゴリゴリなコードになってしまいまいしたが・・とある配列を自分の思い通りの並び順にし、且つ足りない時もベースの並び順に従った順で並べ替えするコード using System; namespace SortTest { class Program { static void Main(st…

Xamarinとやらが無料になったらしいから試してみた

C#

どうやら巷ではXamarinが無料でVisualStudioで使えるようになったとかで少し騒ぎになっているようだ。Formアプリケーションしか作ったことのないおれでも少し気になったのでXamarinとはなんぞやと少し調べてみた。→C#でiPhoneとかAndroidアプリの開発ができ…

C# TimeZoneInfoでサマータイムの判定を行う

アメリカについては3/13より既にサマータイムが始まっていますが イギリス(GMT)は3/27にサマータイムが開始となります。現在、OANDAよりFIXで受信した全TickデータをDBに書き込んでいるのですが 受信するタイムスタンプはUTC or GMTの為、書き込む際に日本…

日本語変数・メソッドって意外と有り?

プログラミングしていて、特に私のような趣味プログラマーなんかは 俗に言う「3か月後の自分は他人」なんて状態になるのが多いのではないだろうか。 それを回避する為に少し複雑な処理には細かくコメント入れたりして ただそれも変数やメソッド名の命名ルー…

10進数を2進数、16進数に変換する。

C#

10進数を2進数、16進数に変換するプログラム class Program { static void Main(string[] args) { //10進数を2進数、16進数に変換表示する for(int i = 0; i < 16; i++) { Console.WriteLine( "10進数:{0} ⇒2進数:" + Convert.ToString(i, 2) + " ⇒16進数:" …

C# ファイル操作

C#

ファイル操作これは応用してログ出力やアプリに設定値を 持たせる際などによく使うと思われる。 using System; using System.IO; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { //ファイル作成 FileStream fs = File.…

C# インクリメントのタイミング

C#

インクリメントのタイミングについて 前置と後置について挙動を確かめておきます。 using System; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { int a = 1; int b = 1; Console.WriteLine("前置 aの値は:"+ ++a); Co…

C# スレッド処理 Threadを使う

C#

C#によるマルチコアのための非同期/並列処理プログラミングよりThreadを直接扱う 直接スレッドを実行するにはSystem.Threading名前空間の Threadクラスを使用します。 using System; using System.Threading; using System.Windows.Forms; namespace Windows…

C# 非同期処理と並列処理(今回は同期処理、シングルコアに対しての負荷テスト)

C#

C#によるマルチコアのための非同期/並列処理プログラミングよりFormアプリケーションなど、重い処理は非同期処理にしておかないと アプリが固まったようになったり、レスポンス、操作性が悪くなるため、 スピンオフで非同期処理についても理解を深めていきま…

為替レートを取得するあれこれ

MT4では過去データがそろっていて、簡単に取得でき EAを作ればバックテストが出来る。しかし、1分以下の粒度を求める場合や 複数通貨エントリー型のバックテストはMT4では対応できない。 厳密にはやりようはあるようですが・・ 様々な手法を検証する為、自前…

列挙型とSwicth文は相性が良い気がする。C#

C#

特に特別なコードを書くわけではないのだが、 ふと列挙型とSwicth文は結構、相性がいいよなと感じたので記録。 using System; namespace ConsoleApplication2 { class Program { //列挙型 enum Title { managingDirector, director, vicePresident, associat…

VisualStudioのメソッド抽出機能

C#

便利なのかどうか使った事のない機能なのでまだ判断できませんが VisualStusioの機能でメソッドの抽出機能があることを知りました。 記録用に記事にしておきます。以下は半径rから円の面積areaを求めるプログラム using System; namespace ConsoleApplicatio…

乱数でパスワードジェネレーター作ってみた。C#

Randomクラスを使ってパスワードジェネレーターを作ってみました。 Random クラス (System)きっかけはかなり信頼していたPasswordBoxのサービスの閉鎖です。 jp.techcrunch.comフォームイメージ using System; using System.Text; using System.Windows.Form…

WindowsFormアプリケーションでショートカットキーを設定する C#

いろいろGUIアプリを作成する際に使いそうなネタ。ショートカットキーをキーボードの特定キーに割り当てたい。 そんな時の方法です。まずただのフォームを作成します。 次に稲妻マーク(イベント)を選択し、KeyDownの箇所をダブルクリックすると イベントハ…

SQLserverとVisualStudioを連携してみる

tos5511.hatenablog.com 昨日の続きですが、色々格闘してようやく前に進みました。 正直に言います。元々はSQLserverとの連携を考えていたのですが 「接続文字列」とかいうキーワードでハマっており、簡単に接続できる SQLiteに逃げていた訳ですが、「接続文…

ラムダ式入門

C#

独習C# 第3版よりtos5511.hatenablog.com tos5511.hatenablog.com tos5511.hatenablog.com tos5511.hatenablog.com 続きよし、最後にラムダ式に触れて少し次のステップへ進む事にしよう。簡単なラムダ式の例 n => n > 0 この例では仮引数nに渡された値が0を…

LINQ group句によるクエリ結果のグループ化

C#

独習C# 第3版よりtos5511.hatenablog.com tos5511.hatenablog.com tos5511.hatenablog.com 続き //簡単なLINQクエリの例 using System; using System.Linq; class GroupDemo { static void Main() { string[] websites = {"123.com","456.net","789.net", "3…

LINQ orderby句によるクエリ結果の並べ替え

C#

独習C# 第3版よりtos5511.hatenablog.com tos5511.hatenablog.com 続きorderby句を使うことで並び替えができる。 //簡単なLINQクエリの例 using System; using System.Linq; class SimpQuery { static void Main() { int[] nums = { 1, -2, 3, -4, 5, -6, 7,…

LINQ where句によるデータの絞り込み

C#

独習C# 第3版よりtos5511.hatenablog.com 入門の続き var posNum = from n in nums where n > 0 select n; where句では複数の抽出条件を指定して絞り込みを行う事が可能です。 //簡単なLINQクエリの例 using System; using System.Linq; class SimpQuery { s…

LINQ入門

C#

独習C# 第3版よりLINQについて簡単なLINQの例 整数値の配列の中から正の数の要素を求めるクエリ //簡単なLINQクエリの例 using System; using System.Linq; class SimpQuery { static void Main() { int[] nums = { 1, -2, 3, -4, 5, -6, 7, -8, 9 }; //nums…

匿名メソッド

C#

独習C# 第3版より //匿名メソッドの例 using System; delegate void CountIt(); class AnonMetDemo { static void Main() { //カウントするコードを匿名メソッドとして渡す CountIt count = delegate { //このブロックがデリゲートに渡される for (int i = 0…

マルチキャスト

C#

独習C# 第3版よりtos5511.hatenablog.com デリゲートの続き。 デリゲートの呼び出し時に一度に複数のメソッドをまとめて呼び出すことを マルチキャストという。デリゲートをインスタンス化した後、「+=」「-=」で メソッドの追加、削除を行いメソッドをチェ…

デリゲート

C#

独習C# 第3版よりデリゲート宣言構文 戻り値の型には、デリゲートが呼び出すメソッドの戻り値の型を指定します。 デリゲートが呼び出すメソッドの引数は仮引数に指定します。 デリゲートから呼び出すことが出来るメソッドは戻り値、引数が デリゲート宣言と…

C#の例外処理

C#

独習C# 第3版よりお兄ちゃん…Try~catchは例外を隠すためにあるんじゃないんだよ?そして、そんなコード書いているとコード読んだ人にお兄ちゃんの都合の悪いことを隠す性格がばれちゃうよ?— プログラムを勉強している人の毒舌な妹 (@PG_sister_bot) 2016, …

仮想メソッドとオーバーライド

C#

独習C# 第3版より仮想メソッドは基本クラスでvirtual装飾子をつけて宣言されたメソッドのこと。 仮想メソッドは派生クラスで再定義することができて、 それを「メソッドのオーバーライド」と言う。 簡単な例は下記のコード。 using System; class Program { …

継承 コンストラクター

C#

独習C# 第3版よりこちらの記事の続き。 tos5511.hatenablog.com tos5511.hatenablog.comコンストラクターは基本クラス、派生クラスが それぞれ独自のコンストラクターを持つことができる。 using System; namespace ConsoleTest { class Program { static vo…

継承 メンバーへのアクセス

C#

独習C# 第3版より tos5511.hatenablog.com こちらの記事の続き。privateに設定したアクセス制限は継承をしても継続されます。 例えば下記のコードはエラーとなります。 class Program { static void Main(string[] args) { } } // 平面図形のクラス class Tw…

C# アセンブリの参照が不足しています。の解決方法

C#

プログラミングの勉強を始めた頃、ネット上で見つけたコードを そのままコピペするがなぜか自分の環境ではエラーになって認識しない。 エラー内容は「アセンブリの参照が不足しています。」・・・ これの解決方法がわからず対応に困った事があったので手順を…

継承の基本について

C#

独習C# 第3版より継承の基本について 下記コード例では平面図形の幅、高さを保持するTwoDSharpeクラスと、 それを継承したTriangleクラスを使用しています。 TriangleクラスはTwoDSharpeクラスを継承しているため、 その全てを受け継いでおり、TwoDSharpeク…

クイックソート

C#

独習C# 第3版より 引用元:wikipedia再帰を使うことでクイックソートを実装することが可能となります。 クイックソートは現在利用できる汎用的なソートアルゴリズムの中で 最も優れたものと言われています。 class Program { static void Main(string[] args…

再帰処理

C#

独習C# 第3版よりメソッドで自分自身を呼び出す事を再起という。 実行結果からわかるように、メソッドを深く呼び出し続けるため、 再帰を行う毎にスタック領域を占有していく。 class Program { static void Main(string[] args) { Factorial f = new Factor…

コンストラクターのオーバーロード

C#

独習C# 第3版よりメソッド同様にコンストラクターもオーバーロード可能。 与えられたパラメータに応じて適切なコンストラクターが呼び出される。 class Program { static void Main(string[] args) { MyClass t1 = new MyClass(); MyClass t2 = new MyClass(…

メソッドのオーバーロード

C#

独習C# 第3版より同一クラスの中に同じ名のメソッドを複数持つことが出来、 引数の数、もしくは型を変える事で対応するメソッドを呼び出す。 class Program { static void Main(string[] args) { Overload ob = new Overload(); ob.OvlDemo(); ob.OvlDemo(10…

可変長引数の使い方

C#

独習C# 第3版よりparams修飾子を使うことによって、引数の数を可変にできる。 class Program { static void Main(string[] args) { Min ob = new Min(); int min; int a = 10, b = 15, c = 20; //3つの値を渡す min = ob.MinVal(a, b, c); Console.WriteLine…

値型の参照渡し

C#

独習C# 第3版より 通常intなどの値型を引数に渡した場合、メソッド側には値だけが渡される為、 呼び出し元の実引数には影響がないが、refを使うことで値型を参照で渡す事が 可能になる為、メソッド側から呼び出し元の実引数を変更できるようになる。 class P…

文字列の操作

C#

独習C#よりIndexOf(string str)とLastIndexOf(string str)について class Program { static void Main(string[] args) { int idx; string str = "プログラミングでアイデアを具現化したい"; idx = str.IndexOf("ア"); Console.WriteLine("最初のアは" + (idx…

foreach文とfor文の速度比較

C#

独習C#よりforeachについて。個人的にはほとんどfor文で書けていたため、ほとんど使った事がない。 foreachの構文単純にあまり使う意味がわからないのでfor文と速度比較してみた。foreachで配列の合計を求める。 class Program { static void Main(string[] …