TIPS |
予約語 |
abstract |
as |
base |
bool |
break |
byte |
case |
catch |
char |
checked |
class |
const |
continue |
decimal |
default |
delegate |
do |
double |
else |
enum |
event |
explicit |
extern |
false |
finally |
fixed |
float |
for |
foreach |
goto |
if |
implicit |
in |
int |
interface |
internal |
is |
lock |
long |
namespace |
new |
null |
object |
operator |
out |
override |
params |
private |
protected |
public |
readonly |
ref |
return |
sbyte |
sealed |
short |
sizeof |
stackalloc |
static |
string |
struct |
swtich |
this |
throw |
true |
try |
typeof |
uint |
ulong |
unchecked |
unsafe |
ushort |
using |
virtual |
void |
volatile |
while |
|
|
|
|
[システム]戻り値を指定して終了 |
//戻り値に0を設定して終了する
System.Environment.Exit(0);
|
[システム]コンソールに出力 |
//コンソール出力
Console.WriteLine("コンソールにメッセージを出力");
|
[システム]ソースブロック |
#region ブロック
ソースブロック
#endregion
|
[ファイル]テキストファイル読み込み |
using(var input = new TextReader(ファイル)){
string line = string.Empty;
while((line = input.ReadLine()) != null){
//1行ごとの処理
}
}//using
|
[ファイル]テキストファイル書き込み |
using(var output = new TextWriter(ファイル, false)){
output.Write("内容");
}//using
|
[ファイル](簡易)テキストファイルをすべて読み込む |
string text = File.ReadAllText(@"C:¥Users¥xxxxx¥textfile.txt");
|
[ファイル](簡易)テキストファイルを配列にすべて読み込む |
string[] lines = File.ReadAllLines(@"C:¥Users¥xxxxx¥textfile.txt");
|
[文字列]いろいろ |
//数値を文字列に変換
int i = 10;
string s = i.ToString();
//指定文字で分割して配列にする
string s = "a,b,c";
string[] arr = s.Split(",");
//配列を結合
char[] arr = {'a','b','c'};
string s = string.Join("/", arr); //"a/b/c"
//空白除去
string s = "¥tabcdef¥r¥n";
string s1 = s.Trim(); //"abcdef"
string s2 = s.TrimStart(); //"abcdef¥r¥n"
string s3 = s.TrimEnd(); //"¥tabcdef"
string s4 = s.Trim('¥t','¥r','¥n'); //"abcdef"
string s5 = s.TrimStart('¥t'); //"abcdef¥r¥n"
string s6 = s.TrimEnd('¥r','¥n'); //"¥tabcdef"
//正規表現を使った文字の削除
using System.Text.RegularExpressions;
string s = "a1b2c3d4e5f";
string pattern = "[0-9]";
string s1 = Regex.Replace(s, pattern, ""); //"abcdef"
//一部を取得 開始,文字数
string s = "1234567";
string s1 = s.Substring(1,2); //"12"
//ゼロパディング
string s = "1234";
string s1 = s.ToString("D7"); // "0001234"
//指定文字を指定数繰り返して返す
char c = 'a';
string s1 = new string(c, 5); // "aaaaa"
//判定
string s = "abcde";
if(s.Contains("bcd")) //指定文字を含む場合
if(s.StartsWith("abc")) //指定文字で始まる場合
if(s.EndsWith("de")) //指定文字で終わる場合
if(s.Equals("abcde")) //一致している場合
if(string.IsNullOrEmpty(s)) //nullか空文字の場合
|
[ファイル]クラス |
クラス |
説明 |
BinaryReader |
バイナリファイルとして読み込み |
BinaryWriter |
バイナリファイルとして書き込み |
BufferedStream |
他のStream(I/O)に対してバッファリングをする |
Directory |
ディレクトリに関して静的メソッドを提供 |
DirectoryInfo |
ディレクトリ操作に関してインスタンスメソッドを提供 |
DirectoryNotFoundExceion |
ディレクトリなし例外 |
DriveInfo |
ドライブに関する情報を提供 |
DriveNotFoundExeption |
使用できない/使用不可などによる例外 |
EndOfStreamException |
Streamの終端を超えての読み取りによる例外 |
EnumerationOptions |
ファイルとディレクトリのオプション(列挙型) |
ErrorEventArgs |
Errorイベントの情報を提供 |
File |
1つのファイルの操作のための静的メソッドを提供 |
FiileInfo |
ファイルの操作のためのインスタンスメソッドを提供 |
FileLoadExeption |
マネージドアセンブリが存在するが読み込みできない場合の例外 |
FileNotFoundException |
ファイルが存在しない場合の例外 |
FileStream |
ファイル用のStream(I/O) |
FileStreamOptions |
FileStreamのオプション指定の列挙型 |
FileSystemAclExtensions |
アクセス制御リスト(ACL)のためのWindows固有の静的拡張メソッドを提供 |
FilieSystemEventArgs |
ディレクトリイベントにデータを提供 |
FileSystemInfo |
FileInfoとDirectoryInfoの基本クラス |
FileSystemWatcher |
ファイルシステムの変更通知を受け取りイベント発生を待つ |
InternalBufferOverflowException |
内部バッファがオーバーフローした場合の例外 |
InvalidDataException |
データストリームが無効な形式である場合の例外 |
IOException |
IOエラーが発生した場合の例外 |
MemoryStream |
メモリを使用するStreamを作成 |
Path |
ファイルまたはDirectoryのパス情報Stringインスタンスで操作する |
PathTooLongException |
パス名または完全修飾ファイル名が扱える文字数を超えた場合の例外 |
RandomAccess |
|
RenamedEventArgs |
Renamedイベントのデータを提供 |
Stream |
(抽象クラス) |
StreamReader |
特定エンコーディングのTextReaderの実装(TextReaderが親クラス) |
StreamWriter |
特定エンコーディングのTextWriterの実装(TextWriterが親クラス) |
StringReader |
文字列から読み取るTextReaderの実装 |
StringWriter |
文字列に書き込むTextWriterの実装 |
TextReader |
テキストファイル読み込みのためのStreamの実装 |
TextWriter |
テキストファイル書き込みのためのStreamの実装 |
UnmanagedMemoryAccessor |
メモリのアンマネージドブロックにマネージドコードからランダムアクセスできるようにする |
UnmanagedMemoryStream |
マネージドコードからメモリのあンマネージドブロックにアクセスできるようにする |
|
[ファイル/ディレクトリ]操作系 |
//フォルダ作成
Diretory.CreateDirectory(dir);
//フォルダ存在チェック
if(Diretory.Exists(dir)){
//フォルダが存在する場合
}
//フォルダを取得
string dir = Path.GetDirectoryName(filefullpath);
//指定フォルダの配下のフォルダ群を取得
foreach(var thisFolder in Directory.GetDirectories(dir)){
//配下フォルダごとの処理
}
//指定フォルダの配下のファイル群を取得
foreach(var thisFile in Directory.GetFiles(dir)){
//配下ファイルごとの処理
}
//拡張子を取得
var ext = Path.GetExtension(thisFile);
//ファイル名を取得
var filename = Path.GetFileName(thisFile);
//プラットフォームを意識したパスの構築
var filepath = Path.Combine("フォルダ1","フォルダ2", "ファイル");
|
dotnetコマンド |
説明 |
コマンド |
テンプレートの一覧を表示 |
dotnet new -h |
ソリューションファイルの作成 |
dotnet new sln (ディレクトリ名と同じファイル名になる) |
ソリューションファイルにプロジェクトを追加 |
dotnet sln add [プロジェクトファイル] |
[コンソール]アプリプロジェクトを作成 |
dotnet new console (ディレクトリ名と同じファイル名になる) |
[テスト(MSTest)]プロジェクトを作成 |
dotnet new mstest |
[ASP.NET Core Web(MVC)]アプリプロジェクトを作成 |
dotnet new mvc |
プロジェクト参照を追加(主にテストプロジェクトにテスト対象プロジェクトを追加する) |
dotnet add reference [プロジェクトファイル] |
ビルド |
dotnet build |
クリーン |
dotnet clean |
実行 |
dotnet run |
テスト(主にテストプロジェクト) |
dotnet test |
リリース(Windows[64bit]) |
dotnet publish -c Release --self-contained true -r win-x64 |
リリース(Mac[64bit]) |
dotnet publish -c Release --self-contained true -r osx-x64 |
リリース(Linux[64bit]) |
dotnet publish -c Release --self-contained true -r linux-x64 |
|
C#開発のためのVSCodeのプラグイン |
プラグイン |
説明 |
C# for Visual Stdio Code |
インテリセンスなどの一通りの機能を提供 |
VS Sharper for C# |
namespaceやclass、interfaceなどの情報を自動で入力してくれる |
Auto-Using for C# |
usingを自動で解決してくれる |
.NET Core Test Explorer |
テストプロジェクトの実行・管理をする |
NuGet Package Manager |
NuGetパッケージの検索・インストールができるようになる |
C# FixFormat |
ソースコードにインデントやスペースを入れる(Shfit + Alt + F) |
|
C#開発のためのVSCodeのショートカットキー |
F5 |
実行 |
F10 |
ステップオーバー |
F11 |
ステップイン |
Shift+F11 |
ステップアウト |
F12 |
定義へ移動 |
Alt+F12 |
定義を参照 |
Ctrl+Shift+U |
標準出力パネルの表示/非表示 |
Ctrl+Shift+E |
エクスプローラビューの表示 |
Ctrl+Shift+D |
デバッグビューの表示 |
Ctrl+Shfit+¥ |
対応する括弧にジャンプ |
Ctrl+Shfit+[ |
コードフォルディング(折りたたみ) |
Ctrl+/ |
コメントアウト/アンコメント |
|
[関数]GetTimestampString |
string GetTimestampString(){
return DateTime.Now.ToString("yyyyMMddHHmmss");
}
|
ファイル操作 |
// ファイルコピー
System.IO.File.Copy(@"C:¥test¥a.txt", @"C:¥test¥b.txt");
// ファイル移動
System.IO.File.Move(@"C:¥test¥a.txt", @"C:¥test¥b.txt");
// ファイル削除
System.IO.File.Delete(@"C:¥test¥c.txt");
// ファイル一覧
System.IO.Directories.GetFiles(@"C:¥test¥");
// ディレクトリ一覧
System.IO.Directories.GetDirectories(@"C:¥test¥");
|
[配列]結合 |
int[] array1 = { 1, 2, 3 };
int[] array2 = { 2, 4, 6 };
// LINQで連結する
int[] concatenatedArray = array1.Concat(array2).ToArray();
|