tomatomax.net

Every rule has its exception.

Archive for the .Net Category

構造体と配列


構造体の中に配列を埋める方法がわからなかったのでメモ。

Unmanagedでは

struct box {
int a[10];
};

これをManagedで実現しようとしたとき。

[StructLayout(LayoutKind.Sequential)]
public struct box {
[MarshalAs(UnmanagedType.ByValArray, SizeConst=10)] public int[] a;
}

(;´∀`)……

さらに、使うときには配列のインスタンスを作成する必要があるようで。


はじめてのC#


というわけでHello, world!なんかを組んでみたり。

using System;

namespace Helloworld
{
/// <summary>
/// Class1 の概要の説明です。
/// </summary>
class Class1
{
/// <summary>
/// アプリケーションのメイン エントリ ポイントです。
/// </summary>
[STAThread]
static void Main(string[] args)
{
//
// TODO: アプリケーションを開始するコードをここに追加してください。
//
System.Console.WriteLine("Hello, world!");
}
}
}

実際に記述したのは一行だけですが。


構造体をファイルに書き込む


ファイルヘッダなどを構造体として作成し、そのままファイルに書き込むコードの移植を行っていたのだけれど。

f.write(header, 0, Sizeof(header));

上のようなコードに相当するものがワカラン……。一つ一つメンバを書き込んでいくしかないのか。