[表示 : 全て 最新50 1-99 101- 2chのread.cgiへ]
Update time : 09/14 22:25 / Filesize : 49 KB / Number-of Response : 164
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

C#, C♯, C#相談室 Part75



1 名前:デフォルトの名無しさん mailto:sage [2012/09/06(木) 23:11:33.73 ]
前スレ
C#, C♯, C#相談室 Part74
toro.2ch.net/test/read.cgi/tech/1342241550/

Visual Studio 2010 Express
www.microsoft.com/japan/msdn/vstudio/express/default.aspx

Visual Studio 2012 Express
www.microsoft.com/visualstudio/11/ja-jp/products/express

140 名前:デフォルトの名無しさん mailto:sage [2012/09/11(火) 22:20:40.54 ]
1つの*.csファイルに複数のクラスを書くの普通ですか?
javaだとあまりやらないと思うのですが、C++と同じ流派?

141 名前:デフォルトの名無しさん mailto:sage [2012/09/11(火) 22:33:36.90 ]
>>138
DataContractは細かい制御がほとんどできないので、
XMLのスキーマが予め決まってる場合全く役に立たない
XmlSerializerはシリアライザというよりオブジェクト-XMLマッピングと考える方がいいと思う

142 名前:デフォルトの名無しさん mailto:sage [2012/09/11(火) 22:45:58.92 ]
>>140
Javaは一つのファイルにpublicクラスを一つしか置けないとか
1ファイル1パッケージとかわけのわからん制限があるが
C#では論理構造とファイルシステムを完全に分けて考えるので特に決まりはない
でも基本は1ファイル1クラス。MSのコード検査ツールを使うと一ファイルに複数の
クラスがあると警告が出たりする。
>>138
XmlSerializerはまずXMLありきなんだよ。こういうXMLを生成したい、こういうXMLを読みたい、というのが先。
.NET付属のxsd.exeを使って、XMLを読み書きするための型をスキーマから自動生成したりすることもできる。

143 名前:デフォルトの名無しさん mailto:sage [2012/09/11(火) 22:56:36.89 ]
>>141
そういう用途は今はXElement+LINQじゃね?

144 名前:デフォルトの名無しさん mailto:sage [2012/09/11(火) 22:59:03.52 ]
>>143
型付きの方が便利な場合もあるだろう

145 名前:デフォルトの名無しさん mailto:sage [2012/09/11(火) 23:00:50.77 ]
それにXmlSerializerはXLINQで手書きするのとは違って
宣言的に読み書きできるというメリットもあるぞ

146 名前:デフォルトの名無しさん mailto:sage [2012/09/11(火) 23:18:16.41 ]
>>115みたいな簡単な型はXmlSerializerでXML化して、単純にマッピングできないものは
IXmlSerializableを実装してその中でXElementを使うとか、
読むときもXElementで要素を検索してからXmlSerializerでデシリアライズするとか
柔軟に組み合わせるのが賢いと思うよ。
余計なコードを書かないで済むに越したことはない。

147 名前:デフォルトの名無しさん [2012/09/13(木) 00:41:30.01 ]
SQLサーバーから取り出した検索結果をDatatableで取り出したとき、
その取り出した中身のデータ型は、SQLサーバーでの定義に依存しているんですか?

つまりvarcharならstringになるとか

148 名前:デフォルトの名無しさん mailto:sage [2012/09/13(木) 02:54:03.95 ]
>>147
msdn.microsoft.com/ja-jp/library/vstudio/cc716729



149 名前:デフォルトの名無しさん mailto:sage [2012/09/13(木) 08:10:13.68 ]
>>148
ありがとうございました

150 名前:デフォルトの名無しさん [2012/09/13(木) 21:28:21.84 ]
20120913という文字列型の文字列を

│2012-09-13│

というフォーマットで出したいです


String.Format("│yyyy-mm-dd│", "20120913")

ではダメなんですが、どうすればいいのでしょうか・・・・

151 名前:デフォルトの名無しさん mailto:sage [2012/09/13(木) 21:32:30.72 ]
>>150
var date = DateTime.ParseExact("20120913", "yyyyMMdd", CultureInfo.InvariantCulture);
Console.WriteLine(date.ToString("| yyyy-MM-dd |", CultureInfo.InvariantCulture));

152 名前:デフォルトの名無しさん [2012/09/13(木) 22:02:08.90 ]
>>150
そんなに手間がかかるのでしょうか・・・
実は.NET2.0のためvarは使えませんが、他に何か方法はありませんか

153 名前:150 [2012/09/13(木) 22:02:28.70 ]
>>151
アンカー間違えました

154 名前:デフォルトの名無しさん mailto:sage [2012/09/13(木) 22:06:42.37 ]
>>152
varの代わりにDateTimeと書くだけ。他は2.0基準。
たかが2行だけだろ。

155 名前:デフォルトの名無しさん mailto:sage [2012/09/13(木) 22:07:16.29 ]
StringBuilderに入れてInsert
Substringで繋ぐ
お好きな方をどうぞ

どっちも小奇麗ではない
小奇麗な方法がよければ青い鳥を探して言語を変えよう
ここにはありませんのだ

156 名前:デフォルトの名無しさん mailto:sage [2012/09/13(木) 22:09:06.78 ]
手間ってどういうこっちゃ
ヘルパメソッドにでもすればいいだろ
毎回コピペとかすんなよ?

157 名前:デフォルトの名無しさん mailto:sage [2012/09/13(木) 22:12:04.27 ]
>>151で手間とか言ってたら一体何ができるというのか

158 名前:150 [2012/09/13(木) 22:25:13.01 ]
皆さんありがとうございました



159 名前:デフォルトの名無しさん mailto:sage [2012/09/13(木) 22:25:28.91 ]
スライスができる言語ならもう少しマシには書けるかもな
ま、ないものねだりという奴だな

汚いインターフェースが嫌なら自分でラッパーを書けと
リーダブルコードには書いてあったな

160 名前:デフォルトの名無しさん mailto:sage [2012/09/13(木) 22:58:33.33 ]
こうか

"|" + "20120913".Insert(6, "-").Insert(4, "-") + "|"

161 名前:150 [2012/09/13(木) 23:18:31.68 ]
ありがとうございます
誰が書いてもすっきりと書けないなら、とりあえず安心です

162 名前:デフォルトの名無しさん [2012/09/14(金) 00:02:30.15 ]
DataTable.Columns.Add("カラム名")として、データ型を省いた場合、その列にはObject型みたいな感じでなんでもはいるのですか?

163 名前:デフォルトの名無しさん mailto:sage [2012/09/14(金) 03:21:34.09 ]
>>162
ここに質問するよりMSDNでも見て自分で調べた方が早いだろうに
msdn.microsoft.com/ja-jp/library/52xzw8tf
既定では、新しい列の DataType は文字列になります。






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](*・∀・)<49KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef