ラベル C# の投稿を表示しています。 すべての投稿を表示
ラベル C# の投稿を表示しています。 すべての投稿を表示

2015年9月30日水曜日

【C#】C#でファイル出力する際の備忘

仕事で試験データのCSVファイルを作る場合、普段はPowerShellを使って作成しているが
何千万行のCSVファイルを作るには速度が遅いので、「.NET FrameworkだけでC#のコンパイル」を利用してC#でCSVファイルを作ることがあるのでファイル出力の手順を忘れないようにメモ。

とりあえず、以下のコードを備忘のために記載。
ファイル出力

using System;
using System.IO;


class Program
{
    static void Main(string[] args)
    {
        StreamWriter writer = new StreamWriter(@"D:\@temp\hello_word.txt", false, new System.Text.UTF8Encoding(false));
        writer.WriteLine("ハローワールド");
        writer.Close();
    }
}


StreamWriterの説明はココを参照。

第一引数はファイル名。
第二引数は追記の有無。
第三引数はエンコード。

第三引数に指定するエンコードで個人的によくよく使うのは以下、

個人的によく使うエンコード

new System.Text.UTF8Encoding(false) // utf8 BOM無し

System.Text.Encoding.GetEncoding("Shift_JIS") // sjis

以上。

2015年8月31日月曜日

【.NET】 .NET FrameworkだけでC#のコンパイル

「.NET」が入っているWindwsに「C#」と「Visual Basic .NET」のコンパイラが標準で
含まれていると聞いたので「C#」で「hellow, world」を試してみる。
※Windows Vista以降だと標準で入っている。

コンパイラは
「C:\Windows\Microsoft.NET」配下の「Framework」or「Framework64」の下
「v#.NETのバージョン#」のフォルダに「csc.exr」(C#)、「vbc.exe」の名前で入っている。

とりあえず、「C#」で「hellow, world」


「hellow, world」のソース

using System;

namespace ConsoleApplication3
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("hello, world");
        }
    }
}

ソースをファイル名「helloworld.cs」で保存。

今回は「C:\Windows\Microsoft.NET\Framework\v4.0.30319\csc.exe」でコンパイル&実行


コンパイル&実行

d:\@temp>C:\Windows\Microsoft.NET\Framework\v4.0.30319\csc.exe helloworld.cs
Microsoft (R) Visual C# Compiler Version 4.0.30319.36242
for Microsoft (R) .NET Framework 4.5
Copyright (C) Microsoft Corporation. All rights reserved.


d:\@temp>helloworld.exe
hello, world


「Visual Studio」無しに「C#」と「VB.NET」のコンパイルができる。