中の技術日誌ブログ

C#とC++/CLIと
VBと.NETとWindowsで戯れる
 

目次

Blog 利用状況

ニュース

自己紹介

東京でソフトウェアエンジニアをやっています。
お仕事大募集中です。
記事執筆や、講師依頼とかでも何でもどうぞ(*^_^*)
似顔絵 MSMVPロゴ
MSMVP Visual C# Since 2004/04-2013/03

記事カテゴリ

書庫

日記カテゴリ

00-整理

01-MSMVP

intのバージョンアップ

intのバージョンアップ

もともとある値を保持するものとしてintを使っていました。

この値は2次元に展開される値ですので、List<List<int>>なんて持ち方も日常茶飯事です。

さてこの値にもう一つ属性をつけたいということになりました。

さぁ大変です。

struct ある値
{
  public int val;
  public bool flag;
}

いままでのList<List<int>>はList<List<ある値>>になり、lstrow[rowindex][colindex]はlstrow[rowindex][colindex].valです。

さぁこれはもともとのプリミティブを直接参照していたから変更しにくかったのでしょうか?

そもそも拡張性のないプリミティブ型は拡張しなくてはいけないときに柔軟性に欠くのでしょうか

#自爆ネタ、2・3東京(あと2人)、2・10大阪(いくらでも)の勉強会へのネタふり

投稿日時 : 2007年1月26日 14:48

コメントを追加

# re: intのバージョンアップ 2007/01/26 15:34 黒龍

ある値がプリミティブ型でOKという判断がミス。属性の追加がありうるなら方を作成しておくべきですね。
特に強い理由はないんですがその際の引数型はStructではなくClassを多用してました。基底型でうけてダウンキャストとかStructじゃ無理ですよね??

# re: intのバージョンアップ 2007/01/26 15:49 中博俊

ま、判断ミスはおいといたとしてorz
テーブル値でも値の細分化や、別視点のデータの追加やいろいろな修正があり得ます。
どこにプリミティブをおくかは以外とむつかしいとおもいます。

#今回のネタはテーブルの持ち方から、取得方法までごっそり修正しているのでいいんだけど(w

# re: intのバージョンアップ 2007/01/26 16:52 2リットル

暗黙の型変換を用意する!

バグの元ですよね…

# re: intのバージョンアップ 2007/01/26 17:00 黒龍

これって逆にPG歴長い人がハマっちゃう気がしますねぇ。OOでのメッセージは当然オブジェクトなんで教科書的にやればプリミティブ型の出番はないはずなので。
ちなみに私も古い人間なのでなるべくプリミティブ型にしようとして上記問題を呼び込んじゃいます^^;

タイトル
名前
URL
コメント