C#のお勉強ノート

C#プログラムのコンパイルで「現在のコンテキストに 'ZipFile' という名前は存在しません」の意味が分からなかった勘の悪さを反省するメモ

悲しいかな、たった数行のC#のプログラムに苦労してしまったので反省のメモ。ZipFile クラス (System.IO.Compression) | Microsoft Docs を参考にして、Zipファイルを作成するプログラムを書こうとしたが・・・。 create_zip.cs using System; using System.…

為替データを取得してデータベースへFloatで保存し失敗したときのメモ

Web Scraping ぽいことをするC#の簡単なプログラムを書いたときの失敗メモ。 何をさせるのかはどうでもよかったのだが、為替データ(米ドル、豪ドル)を取得し、Windows 10 HomeのPCのMSSQLLocalDBに保存するようにした。ローカルDBはもともと存在したのか、…

C#でジュリア集合を描く

「C#でマンデルブロ集合を描く」の記事の中で、 『フラクタル紀行』芹沢浩(著)、森北出版株式会社 ISBN 4-627-01560-7 1993年の出版 でマンデルブロ集合の周期Nの点をジュリア集合を描くときの漸化式(写像)の定数項として使用すると周期Nのジュリア…

C#で(PictureBoxに)マンデルブロ集合を描く

PictureBoxを使うとOnPaintイベントハンドラをoverrideしなくても描画できるみたいだった。Formのコンストラクタの中で描画したらRefresh()メソッドを呼ばなくてもImageが表示されていた(Formを作成した後にImageを更新した場合にはRefreshが必要だった)。…

C#でマンデルブロ集合を描く

2019年に発行された『(新版)独習C#』の初版第4刷を購入し再び読んで結構忘れてしまっていたのを復習し、フラクタルについては以下の本で学び、マンデルブロ集合を描くコードを書いたので記録に残しておこう。 『フラクタル紀行』芹沢浩(著)、森北出…

C#でロジスティク写像の分岐図を描く

ロジスティク写像の分岐図をC#で描いたときのメモ ロジスティク写像の分岐図X(n+1) = c * X(n) * (1.0 - X(n)); ( 2 関心のある領域はカオスが現れる c=3.56994 以降なので、少し手前の 3.5 から描画。 座標の目盛を描くのは面倒だったので、c=3.569944のあ…

ローレンツアトラクタをOpenTKで描いてみた、ただし球ではなく立方体で!

OpenGLを使うにしてもC#でコーディングしたいのでOpenTKを使うことにして、学習には、ほげさんの「ほげほげ草」ブログを参考にしたというか、ほぼコードを剽窃させていただいた。「学習」といっても十分に読み込んで、コーディングして理解したわけではなく…

OpenTKで立方体を描く初歩を復習するための記録

何かと初歩的なこともすぐ忘れてしまうので、OpenTKで立方体を描いたときのコードを記録しておく。 イメージは以下のようなものが描画される。 OpenTKで立方体コンパイルのために以下の応答ファイル my.rsp を用意しておく。 # # コンパイルのための応答ファ…

OpenTKを勉強し始めたのだが・・・球面の描画で挫折した記録!

pygletやらUnityやらでローレンズアトラクタを描いてみたりしたものの何とかOpenGLでも描いておきたいという思いがあった。 そこでネットからソースを盗んできて勉強を始めた。 勉強といっても本当に理解しようというものではなく、兎に角、動くところまでも…

C#で行列式を計算するコードを書いてみた

ネットで見つけた順列を生成するC#のコードを参考にして、行列式を計算するコードを書いてみた。 2行2列で要素の値が0,1,2のどれかで行列式の値が1のものを表示するプログラム。2行2列で要素の値が0,1,2のどれかである行列は重複ありの順列を…

C#で順列を計算するコードをウェブから探してきた

C#で順列を計算するコードを探してきたのでメモしておく。 また、探すのは面倒なので。 @herara_ofnir3さんの拡張メソッドを利用したやり方は勉強させていただきました。 「独習C#」を以前に読んでいるときは素通りしてしまったが、改めて拡張メソッドの具体…

C#で正規表現を使ってみる

只今、『独習C#』(新版)でC#を勉強中。 C#で正規表現を使ったコードを書いてみたが、C#で正規表現を扱うことよりも、どうも正規表現そのものの難しさの方が躓きになっているような気がする。 サンプルそのままではなく、よくあるHTMLからURLを抽出するよう…

素因数分解した結果をLINQを使用して素数ごとにグループ化する ★BigInteger版

プログラミング言語C#の学習記録(おぼえがき) 素因数分解した結果をLINQを使用して素数ごとにグループ化して表示するプログラム。 BigIntegerを使用するのでコンパイル時にNumerics.dllを参照する必要がある。 csc /reference:System.Numerics.dll ファイ…

C#のLINQを素因数分解に使ってみる

C#のLINQを素因数分解に使ってみたのでメモしておく。 因数ごとにグループ化し、グループのメンバー数をCountメソッドで取得/表示する。 各グループは同じ素数なのでどれでもよいのだが今回はFirstメソッドで取得した。 /* Factoring ulong max : 18,446,74…

C#からExcelマクロのメソッドを呼び出してみる

Excelマクロのメソッドはふつうスクリプトから呼び出すものだが、ここはちょっとひねくれてC#のプログラムから呼び出してみた。 ◎ConsoleExcelTest.txt /* Excel Macro を実行するサンプルコード */using System;using Excel = Microsoft.Office.Interop.Exc…

AttributeのConditionalを使ってみる

'ConditionalAttribute'を使うために"using System.Diagnostics;"を追加。 ◎attri.txt using System;using System.Diagnostics; class Program{[Conditional("TEST")] static void Method1() { Console.WriteLine("Method1"); } [Conditional("TRIV")] stati…

C#でJSONを扱う

独習C#(新版)でお勉強中 JSONは構造が緩いので扱いにくいらしい。どう扱いにくいのか私には分からないのだが、DynamicJson.csがあると容易に扱えるというのでとりあえず試してみたのでメモっておこう。 ◎コンパイル PS >csc .\DynamicParse.cs .\DynamicJs…

C#からPythonスクリプトを実行する

独習C#(新版)でC#をお勉強中 C#からPythonのスクリプトを実行する例があったので試してみた。 IronPython.dllとMicrosoft.Scripting.dllとをソースのあるフォルダーにコピーして csc /reference:IronPython.dll,Microsoft.Scripting.dll .\PythonCall.cs …

Visual Studio 2017 をインストールしたときのコンパイラーのパス

C# 7以上のコンパイラーを使用するために Visual Studio 2017 Community版をインストールしたが、コンパイラーがどこにあるのかが分からなかった。 どうも以下の場所にインストールされていたようだ。 C:\Program Files (x86)\Microsoft Visual Studio\2017\…