C#, C♯, C#相談室 Pa ..
[2ch|▼Menu]
232:208
08/02/14 23:03:53
>228
面白い。 >225は間違って無かったんだな。
Bitmap tmp = new Bitmap(412, 256, PixelFormat.Format32bppRgb);
で作って。
BitmapData bmpdata = tmp.LockBits(rect, ImageLockMode.ReadWrite, PixelFormat.Format32bppRgb);//つまり同じ。
for (int i = 0; i < rect.Width * rect.Height; i++) ((uint*)(void*)bmpdata.Scan0)[i] = 0xfffffff;
tmp.UnlockBits(bmpdata);
した場合は元のもくあみに戻るのな。

念のため
for (int i = 0; i < (rect.Width * rect.Height)+200; i++) ((uint*)(void*)bmpdata.Scan0)[i] = 0xfffffff;
として見たが、むなしくなった。 結果は白線がのびる。 exception無し。
こちらの環境は 2005 .NET 2.0 オンリ


夜も更けて来たので哲学入ります。
 俺がやってることは、世間の奴らが見向きもしないで触らずにいた汚い糞を、
わざわざどけてやってるだけなんだよな。

結果、一番得得してるのは、糞を垂れ流してる張本人って事ないか?

233:デフォルトの名無しさん
08/02/14 23:05:02
>231
わるかった。 君が板から>228なんて案も出たんだ。

234:デフォルトの名無しさん
08/02/14 23:32:16
たぶんLockBitsは指定されたPixelFormatと内部の形式が同じだったら、
コピーしないで中のメモリを直接ロックかける、
違ったら新しくメモリを用意し、そこに指定された領域を指定された形式に変換したものを
書き込んでいるという風になっている予感。

ソース見たら一発でわかるだろうな、誰かExpressではないVS 2008持っている奴いないのか?

デバッグ時は厳密にチェックするルーチンを使用し、
リリースでは速度重視って切替ができたら今より良かったと思う。

235:デフォルトの名無しさん
08/02/14 23:34:46
NetMassDownloader使えばVS持ってなくてもソース落とせるよ
ただ,ネイティブGDI+の関数を呼んでるだけという罠

236:デフォルトの名無しさん
08/02/14 23:59:50
>235
OSの環境に依存か。

 unsafeかつ、フォーマットの変更が有って初めてLockBit()は仕様通り動くのな。 >228

>208がrect=(0,0,1,1)に拘ってたけど、rect=(80,64,1,1)とかは動作に影響があるな。
 ソースにはラマーの意図を明確にする様に書けって話に戻るんじゃない?
 せいぜい他人が>217みたいなソースを書いてきたとき、頭を捻るって感じ。

そんな場面は限りなく少ないから、ググっても仕方ないで、 Q.E.D.


ちなみに、俺が>208って言ったら信じる? グチっぽくならないコメントを考えるよw。

237:デフォルトの名無しさん
08/02/15 00:11:02
(´・ω・`)しらんがな

238:デフォルトの名無しさん
08/02/15 00:39:25
>>236
VistaだとGDI+ 1.1になっているから何か変更があるのかもしれない。

> rect=(80,64,1,1)とか
そういうときのためのBitmapData.Stride。

239:デフォルトの名無しさん
08/02/15 14:11:20
>>236
> unsafeかつ、フォーマットの変更が有って初めてLockBit()は仕様通り動くのな。 >228
その条件を満たさないとき、ドキュメントにあるどの仕様に反してるんだ?
一部だけを切りだして Stride も小さくしてくれるとか、領域外をアクセスすると
違反になるとかは 208の脳内仕様じゃないいのか?

LockBits は指定された領域を指定された様にアクセスできる情報を取得する
ためのメソッドであって、指定領域外へのアクセスがどうなろうが別にバグでも
なんでもない。ちゃんと当該領域は移動されないようロックされ、BitmapDataに
アクセスするための情報も返される。

240:デフォルトの名無しさん
08/02/15 15:29:33
で、結局アホは誰だったの?
俺の他に

241:デフォルトの名無しさん
08/02/15 18:31:14
URLリンク(dat.2chan.net)
やっぱ男はこうじゃないとね


242:デフォルトの名無しさん
08/02/15 18:50:29
コピペ君って馬鹿だな、まで読んだ。

243:デフォルトの名無しさん
08/02/15 19:09:48
コピペ君って馬鹿だな、まで読んだ。

244:デフォルトの名無しさん
08/02/15 20:42:33
Drawing::BitmapからGDI+のCachedBitmapを作成したいのですが、
Drawing::BitmapからGDI+のBitmapを取得するにはどうすればよい?

245:デフォルトの名無しさん
08/02/15 21:57:07
え? 早口言葉?

246:デフォルトの名無しさん
08/02/15 22:36:40
うわぁ・・・

247:デフォルトの名無しさん
08/02/16 00:59:38
bmp.GetHbitmap()ってことじゃなくて?

248:デフォルトの名無しさん
08/02/16 01:10:57
>>242-243
よく見るよね
こういうのコピペって言うの?

249:デフォルトの名無しさん
08/02/16 01:34:08
「コピ」−アンド「ペ」−スト

250:デフォルトの名無しさん
08/02/16 01:51:49
>240
ラマー板に良くいる。プログラミングが出来ないラマーが釣れましたね。
static void Main(string[] args)
{
  Bitmap src = new Bitmap(64, 64, PixelFormat.Format32bppRgb);
  Graphics.FromImage(src).Clear(Color.Black);
  Rectangle rect = new Rectangle(32, 32, 20, 20);     
  unsafe
  {
    BitmapData bmpdata = src.LockBits(rect, ImageLockMode.ReadWrite, src.PixelFormat);//見える?
    for (int i = 0; i < (rect.Width * rect.Height); i++) ((uint*)(void*)bmpdata.Scan0)[i] = 0xfffffff;
    src.UnlockBits(bmpdata);
    src.Save(@"same.Png", ImageFormat.Png);
   
    Graphics.FromImage(src).Clear(Color.Black);
    bmpdata = src.LockBits(rect, ImageLockMode.ReadWrite, PixelFormat.Format32bppArgb); //見える?
    for (int i = 0; i < (rect.Width * rect.Height); i++) ((uint*)(void*)bmpdata.Scan0)[i] = 0xfffffff;
    src.UnlockBits(bmpdata);
    src.Save(@"different.Png", ImageFormat.Png);
  }
}
チマチマソース書くより、ファビョる豚の方が案外気分が良いのかもな。
ラマー板に行けば解るよ。 頭の善し悪しより声の大きさが重要ってさ。


251:デフォルトの名無しさん
08/02/16 02:00:12
>239の言葉を借りれば、
LockBits()と言う変幻自在なMS仕様を >208如きには追えなかったってことさ。

これからも、MSがカラスが白いと言ったら、絶対に黒いっていうなよw。

252:デフォルトの名無しさん
08/02/16 02:50:16
>208が見てきたサイトも解った。

>特別の事情がない限り、このコードのように全領域をロックする。
 この発案者は、きっと毎日 MSを尊敬の目で見てきた善行によって得られたノウハウだと思ったのだろうな。

 だけど書いてる本人か(もしくは彼に教えた人)も「特別の事情」がさっぱり解らない。
そして「どうして?」とか「事情とは何か?」って考えはとても背徳的で、>239の様に酷い罵声を浴びせられるんだ。

253:デフォルトの名無しさん
08/02/16 02:56:38
blogに書くなりMSにフィードバックするなり文句言うなりして終了だろ
何を粘ってるんだよ

254:デフォルトの名無しさん
08/02/16 02:58:48
>239みたいな奴が居なければ、>208はココに書き込まなかった

って案に、個人的に酔ってみたんだ。 ラマー板で適当なスレを探そうかしら。

255:デフォルトの名無しさん
08/02/16 20:26:31
ラマー板って何かと思ったよ。初めて聞いた。
妊婦用の板かと。

256:デフォルトの名無しさん
08/02/16 20:28:46
>>255が初めて触れた事を考えるとお前らなかなか大人だなw

257:デフォルトの名無しさん
08/02/16 21:30:21
>>254
よう、ひっひっふー

258:デフォルトの名無しさん
08/02/16 22:22:18
>>254
日本語でおk、ひっひっふー

259:デフォルトの名無しさん
08/02/16 22:25:27
マ板でやれ。

260:デフォルトの名無しさん
08/02/16 22:44:20
>>259
ラマー板でやれ

261:デフォルトの名無しさん
08/02/16 22:51:37
ここはラム板だっちゃ。

262:デフォルトの名無しさん
08/02/16 22:55:15
混み合う電車の車内、その男は熱く堅いマラを私の後ろから押しつけてきた

263:デフォルトの名無しさん
08/02/17 04:44:40
ラマー板吹いたwwwwww
オレオレ用語キタコレ
やっぱり人間、謙虚じゃないといつどこで恥をかくか分からんねw

スレリンク(gamedev板:329-番)


スレリンク(gamedev板:339番)
スレリンク(gamedev板:344番)
スレリンク(gamedev板:346番)
スレリンク(gamedev板:348番)
たぶんこいつ、このスレでファビョってる奴と同一人物だよ
ラマー板も「想定」してあげないといけないらしいw
自作自演で自分の恥をうやむやにして逃げるから笑える
自分の言ってることを理解してもらえないと、ゆとりとかMS信者とか騒ぎ出すから気をつけてね

264:デフォルトの名無しさん
08/02/17 04:50:03
スレリンク(gamedev板:344番)
たしかに「プログラマじゃないから」とか言ってるし、アンカーの仕方も同じだな。

どう見ても>>250です。本当にありがとうございました。

265:デフォルトの名無しさん
08/02/17 07:09:06
>>208
Lockbits - specifying a rectangle with pixelformat 32bppArGB
URLリンク(connect.microsoft.com)

266:デフォルトの名無しさん
08/02/17 09:15:18
>265 C#だとunsafeじゃないと動かないんだよね。それ。

一年前にVB厨が見つけたけど、(2007/01/04)
Microsoft様は「それは、俺たちが一年前(2006/05/18)にすでに通過した地点だ」と宣ったわけだw。

267:デフォルトの名無しさん
08/02/17 09:28:31
>208がVB厨より一年遅れともとれる。
所詮「MS」フィードバックともとれる。
MSがvistaと言ったら、XPのbugfixだなんて恐れ多くて言えない。

268:208
08/02/17 11:39:39
 ソースを一行も読めない>239は >236までして必死になって人格攻撃をしましたが
毎日 MSを神と崇めるだけの仕事をしてきた彼には、>250のソースからFormat32bppArgbなどの単語を
得てやっとの思いで >265のログを見つけ出すのがやっとでした。

 それに対して、私は>217を new Rectangle(0, 0, tmp.Width, tmp.Height)に改め、フォーマットの
変更や限定無しに、現行xpでもvistaでも正常に動作するソースを手に入れました。
 更に上司にunsafeを使った高速化を提案し、「うちはそこまでしなくてもいいよ。だけど勉強熱心だね。」と褒められました。

アンチ信者は、「アンチ」の信者と言ったのはよく言った物で、正直私は「ご利益w」の様な物を感じました。

269:デフォルトの名無しさん
08/02/17 11:40:26
訂正
>236 => >263

270:デフォルトの名無しさん
08/02/17 11:45:40
誰もMS信者なんて居ないのに独りで正義気取り
カワイソス

271:208
08/02/17 11:50:23
 ソースや文章には多くの目が加わるとより良くなるとは、
多くのプログラマやリファクタの心がける事とおもいます。

>270 ご指摘ありがとうございます。
 正義では無く、私自信もひとつの「信者」と自嘲の意味を込めて書かせて頂きました。


272:デフォルトの名無しさん
08/02/17 11:56:12
C#の質問じゃなくて.Net Frameworkの質問になっちゃうかもしれないけど

PixelFormt.*のフォーマットの定義
(PixelFormat.Format24bppRgbだったらB->G->Rの順で並んでいるbyte[]とか)
ってどこにあるの。

教えてください。

あと、bmp.Dispose()とか必要なん?
ガベコレがよきにはからってくれないの ?



273:デフォルトの名無しさん
08/02/17 11:59:09
うむ
これからも懺悔の心を忘れるなよwww

274:デフォルトの名無しさん
08/02/17 12:16:35
ソースを一行も読めない>239、とか
毎日 MSを神と崇めるだけの仕事をしてきた彼、とか

頭大丈夫か?少し休んだほうがいいぞ

275:デフォルトの名無しさん
08/02/17 12:41:20
>>272
無いんじゃね
WPFにはあるんだけど

放置しててもそのうちファイナライザがGCに呼ばれてそこで解放されるけどあくまでフェイルセーフ

276:デフォルトの名無しさん
08/02/17 13:03:27
>>268
お前の成功物語は239が居なくても成立したように見える。
どこで239から利益を得たのかわからない。

277:デフォルトの名無しさん
08/02/17 13:15:23
265 = 239 だからじゃね?
>265は役に立ってる。 (0,0,1,1)のままだとvistaで転けるからw。

..
...
(0,0,1,1)なんて発想の方がでねーだろw。

278:デフォルトの名無しさん
08/02/17 13:41:13
コピペ君って馬鹿だな、まで読んだ。

279:デフォルトの名無しさん
08/02/17 13:44:04
>>274
空気読めてないようだねw
頭大丈夫?

280:デフォルトの名無しさん
08/02/17 13:45:05
>>278
コピペしてるお前が馬鹿だということが、よくわかった。

281:デフォルトの名無しさん
08/02/17 14:02:57
>>266
>Microsoft様は「それは、俺たちが一年前(2006/05/18)にすでに通過した地点だ」と宣ったわけだw。

宣ってない宣ってない。
2006/05/18のblogに載ってるのは、
「Orcasでは互換性を重視してるよ。そのためにRed and Greenモデルってのを入れたんだ」
って話で、Lockbitsの話はカケラも出ていない。

282:デフォルトの名無しさん
08/02/17 14:18:38
コピペ君って馬鹿だな、まで読んだ。

283:デフォルトの名無しさん
08/02/17 14:19:14
コピペ君って馬鹿だな、まで読んだ。

284:デフォルトの名無しさん
08/02/17 14:26:13
コピペ君って馬鹿だな、まで読んだ。

285:デフォルトの名無しさん
08/02/17 15:13:00
>272 が自分にも入り要な事に気づいたので、2匹目のドジョウを狙うぜ。
 だけど24,32bit系しかカバーできなんだ。orz
static void Main(string[] args)
{
  Rectangle rect = new Rectangle(0, 0, 8, 8);
  PixelFormat[] PFlist = new PixelFormat[] {
    PixelFormat.Format32bppArgb,PixelFormat.Format32bppArgb,PixelFormat.Format32bppPArgb,PixelFormat.Format32bppRgb,
    PixelFormat.Format24bppRgb};//ゴメン 24,32bit系しかカバーできなんだ。
  Color[] colors = new Color[] {
    Color.FromArgb(255, 0, 0),Color.FromArgb(0,255, 0),Color.FromArgb(0,0, 255),
    Color.FromArgb(64, 0, 0, 0)}; //用途に応じてココは増やした方が良いな。
  foreach(PixelFormat pf in PFlist)
  {
    Bitmap src = new Bitmap(rect.Width, rect.Height, pf);
    foreach(Color cl in colors){
      Graphics.FromImage(src).Clear(cl);
      Console.Write("{0}|{1,5}\t",pf.ToString(),cl.ToString());
      unsafe{
        BitmapData bmpdata = src.LockBits(rect, ImageLockMode.ReadOnly, src.PixelFormat);
        int pixwidth = bmpdata.Stride/bmpdata.Width;
        for (int i=0;i<pixwidth;i++)
          Console.Write("[{0,3}]", ((byte*)(void*)bmpdata.Scan0)[i].ToString());
        src.UnlockBits(bmpdata);
      }
      Console.WriteLine("");
    }
    Console.WriteLine("-----------------------------------");
  }
}
更に>275が書いた事が間違ってたら、 真にうけた俺は、更にバカだな。

286:285
08/02/17 15:20:54
あれ? コレじゃ俺がコピペ君みたいじゃないか。


えっと。 すまない。本当にコピペなんだ。orz

287:285
08/02/17 15:26:27
っていうか、コレ全然役にたたね。 実行しなくて良いです。
スレ汚し失礼しました。

288:デフォルトの名無しさん
08/02/17 15:29:06
>>272
.NET Frameworkの仕様というよりほとんどGDI+の仕様だけど、
ここに文章で書いてある。
URLリンク(msdn2.microsoft.com)

289:デフォルトの名無しさん
08/02/17 16:41:34
272じゃないんだけど
Dispose()は単なるメソッドで、GCとは関係なく
GCはいつ回収しにくるかわからないので、明示的に解放処理をしたい場合
IDisposableインターフェイスを実装してDispose()する

という解釈で合ってるのかな?

290:デフォルトの名無しさん
08/02/17 19:28:52
サテライトアセンブリを学んでいるところです。

そこで使われている Assembly Linker の al.exe はどこの場所に
インストールされているものでしょうか。

 C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\Bin
(Resgen.exe、Winres.exe はここにありました) 

を見たり検索したりしてみたのですが見つかりませんでした。
すみませんがこれについて教えてください。


291:290
08/02/17 20:17:21
確かにal.exeは見つからないままでしたが、少なくともVS2005で作成する
場合は、コード内で、現在のスレッドのカルチャ CurrentThread.CurrentUICulture 
にカルチャ情報 CultureInfo() を指定するだけで該当のリソースが使われる
ようでした。al.exe は無くてもVSがやってくれるので問題ないのですね。


292:デフォルトの名無しさん
08/02/17 20:24:53
>>289
うん
直接アンマネージリソースを扱ってたりして特別な解放処理が必要なクラスなら
もしDispose呼び忘れても死亡しないようにファイナライザも実装する

293:デフォルトの名無しさん
08/02/17 21:28:56
ResourceHoge.resx
ResourceHoge.ja.resx
ResourceHoge.en.resx
...
等とするとVSが作ってくれて、実行時に選択してくれるのな

294:デフォルトの名無しさん
08/02/17 21:30:33
>>291
C:\Windows\Microsoft.NET\Framework\v2.0.50727\al.exe

295:デフォルトの名無しさん
08/02/17 22:32:45
なんでC++でなくて、C#を使ってるんですか?


296:290
08/02/17 23:58:52
>>293
どうもそのようです。

>>294
ありがとうございました、そこにあることを確認しました!!
(Program Files の中しか探していませんでした。。。)

またよろしくお願いします。

297:デフォルトの名無しさん
08/02/18 01:14:00
>>272
憶えていないけど、どこかで見た記憶が有る、ヘルプのすごい変なところ

298:デフォルトの名無しさん
08/02/18 01:31:29
>>272
アンマネージドのラッパになっているクラスは大抵付いていてやらないとむやみに長期に渡って残るよ
アプリ落とす段階で適当にコレクトされるみたいですけど。
理由は、Comインターフェイスは手動リファレンスカウンタで管理しているので、ガベコレと直接関連してくれないから。(いずれ死ぬけど)
ファイル周りのDisopseは必ずやっておく事、ファイルが長時間に渡ってロックしっ放しになって
他のアプリからアクセスできなくなる。
それとスレッドを持っていてバックグラウンドで仕事をしているようなタイプのオブジェクトも
これは、アプリのプロセスインスタンスが死ななくなって都合が悪い、
特にデバッグ時に停止してもなかなかIDEに制御が戻らなくなってデバッグに不便になります。

299:272
08/02/18 01:36:04
みなさんありがとう。

Dispose関係は結構複雑なのですね。
忘れないようにしたいと思います。


300:デフォルトの名無しさん
08/02/18 01:40:59
WPFでどうしてDisposeがほとんどいらなくなったのか理解できない
ほとんどのオブジェクトは相変わらずアンマネージリソース持ってるのに

301:デフォルトの名無しさん
08/02/18 05:15:29
コピペ君って馬鹿だな、まで読んだ。

302:デフォルトの名無しさん
08/02/18 05:21:14
ゆりしー(´;ω;`)かわいそうです みなとらじお 君が主で執事が俺で 02
URLリンク(www.nicovideo.jp)

伊藤静「じゃあ、次もwww」
後藤邑子「斬ったほうがいい?www」
伊藤「次は斬る?www」
後藤「どうするww」
伊藤「ペンネーム『心が綺麗な天使』から頂きましったww(フンッwww) 私はこの日本に住むのにはピュアすぎます。どのようにしたら天使のような私がこの今の日本に馴染めるのでしょうか?」
後藤「.........ウザい」
二人「キャッハハハハハwwwww」
伊藤「ちょほんとさあ、大丈夫?www」
後藤「おい天使、おいおい自称天使ww」
伊藤「自分が天使だと思ってること自体がちょっと間違ってんじゃないの?っていうねwww」
後藤「うん。ね。ちょっと軽く(精神病院に)通院してみたほうがいいんじゃないの?www もしくは、今の日本に馴染めるようにちょっと汚れちゃえよwwww」
伊藤「それかもう日本出て行ったらいいんじゃないの?www」
後藤「天使が住める国にwwwwwww なんかエルフの国とかに行ったらいいんじゃないの?wwww」
伊藤「妄想の中とかに(プフッww)行っちゃえばいいんじゃないのwww」
後藤「コワイヨーwwwコワイヨーwwwww」
二人「クックックックwwww」

303:デフォルトの名無しさん
08/02/18 07:17:14
>>300
>ほとんどのオブジェクトは相変わらずアンマネージリソース持ってるのに
それはXAMLのエレメントを表現したオブジェクトのツリー
アンマネージドリソースは持ってない。

304:デフォルトの名無しさん
08/02/18 08:43:41
ニコ厨氏ね

305:デフォルトの名無しさん
08/02/18 11:19:34
おまえら、木曜日から酷い有様だな。ちょろ過ぎる。
>208、>250なんてさ
>ソースには(プログ)ラマーの意図を明確にする様に書けって話 (引用 ケントベック)

> この発案者は、きっと毎日 MSを尊敬の目で見てきた善行によって得られたノウハウだと思ったのだろうな。
> だけど書いてる本人か(もしくは彼に教えた人)も「特別の事情」がさっぱり解らない。
>そして「どうして?」とか「事情とは何か?」って考えはとても背徳的 (読んだことあるけど失念。トム・デマルコ風?)

> ソースや文章には多くの目が加わるとより良くなるとは、(出典 Refactoring to Patterns)

 これ引用ばかりww。 それどころか、ぜんぜんランクの低いそれらをやたら勧める「アジャイルw」の口伝だろw。
>208はどう見ても真っ赤な信者です。本当にありがとうございました。
 本読んでばかりで人と話しが合わない。信者っぷりが凄くて会社のお荷物系wwwww。

 それなのに、オマエらチャンスボール多すぎ。常識的に>227なんてありえないし。
 >270>271繋がりはなんだ?便利すぐる。
執拗に人格攻撃してるのは、>239に過剰反応したコピペ君の>250なのが事実。
最後に、自分からの信者宣言まで許すし。...もう訳がわからん。
こんなの>208への接待プレーか、>250は>208の素敵な自作自演ですと思われても仕方ねーだろうよ。JK

本当にちょろ過ぎる!!! そりゃ便乗して論破狙いに「C#ってなに?」な奴も湧くよwwww。
NetMassDownloader片手にさww。
そういう本を読んで、頭良いと勘違いする只のガキは五万といるんだからな。 覚悟しとけ。
!!! 俺 も 含 め て 5 万 + 1 wwww !!!

306:239
08/02/18 11:46:43
想像したり実験したりしながら「動けばいいや」とコードを書き、
仕様が想像と異なっていたらAPIのバグだと主張するという素敵な
スタイルを否定した漏れも悪かった。

307:デフォルトの名無しさん
08/02/18 11:48:02
コピペ君って馬鹿だな、まで読んだ。

308:デフォルトの名無しさん
08/02/18 11:55:24
>306
URLリンク(www.amazon.co.jp)でのテスト駆動開発-ジェームス・ニューカーク/dp/4891004428

309:デフォルトの名無しさん
08/02/18 12:01:33
>>308
何かお探しですか?
入力したURLが当サイトのページと一致しません
といわれました

310:デフォルトの名無しさん
08/02/18 12:06:50
239が265って線は消えたな。

URLリンク(www.cbook24.com)
 URLがどうこう以前に、会社か学校に「テスト駆動開発」の本が無いの?

>想像したり実験したりしながら「動けばいいや」とコードを書き、
>仕様が想像と異なっていたらAPIのバグだと主張するという素敵な
>スタイル
がそのまま載ってるだけなんで、 御社では別によまんくても良いんじゃない?
urlをクリックしてくれただけで十分です。

311:デフォルトの名無しさん
08/02/18 12:07:12
>>309
URLリンク(www.amazon.co.jp)

実は書名の部分は削っても同じページが表示される。

312:デフォルトの名無しさん
08/02/18 12:11:50
主張するっていうか、発見したとした方が嫌みが無いよ。

313:305
08/02/18 12:22:37
MSは、VS2005あたりからユーザーのニーズに応えて「テスト」って機能を付けたけど。
自社製品では「テスト」しないんだね。
みんなでerrorを見つけてbugfixしようよ。 みんな幸せになろう。
って書くと、もうアンチ信者なのか? orz

314:305
08/02/18 12:35:48
URLリンク(ja.wikipedia.org)ソフトウェアテスト#.E3.83.96.E3.83.A9.E3.83.83.E3.82.AF.E3.83.9C.E3.83.83.E3.82.AF.E3.82.B9.E3.83.86.E3.82.B9.E3.83.88
ダメだ。 俺センス無いな。 urlクリックでは行けない。
239の後輩が基本情報処理技術者の資格もってれば教えてくれるよ。

315:デフォルトの名無しさん
08/02/18 12:49:37
>>301
お前うざい

316:デフォルトの名無しさん
08/02/18 12:52:07
自校紹介 >305
>本読んでばかりで人と話しが合わない。信者っぷりが凄くて会社のお荷物系wwwww。

317:305
08/02/18 13:17:03
俺の希望を言わせてもらえば、
誰でも良いから。 239を語って
「208はマジで行き当たりバッタリで、TDD風味なのは最悪コピペ野郎の250!!
 なんだよ、どっちも糞じゃねーか!!」
ぐらいの線だったんだけどな。

318:デフォルトの名無しさん
08/02/18 14:24:36
>>313
いやいや、テストしないとかありえないだろ。
MS はテストだけで部署が1つある。

319:305
08/02/18 14:31:04
>265 ループかよ。  俺もうこのクソコテいらねーよ。

気分はアレだ。せっせっと地雷埋めて、味方が乗ってるときに起爆しちゃったぐらい。
俺、208みたいに全レスとかしないから。 テストってなんの事かなさっぱりわからないや。 208にでも言わせろ。

320:デフォルトの名無しさん
08/02/18 17:06:29
おまえらさ・・・本当にC#の質問したい奴ができない雰囲気になってるからやめとけよ

321:デフォルトの名無しさん
08/02/18 18:03:16
>>315
コピペ君って馬鹿だな、まで読んだ。

322:デフォルトの名無しさん
08/02/18 18:11:39
>>303
BitmapSourceとかGeometryとか描画の低レベルなところはアンマネージリソース持ってるよ

323:デフォルトの名無しさん
08/02/18 21:02:07
トータルで見るとGCって不便だし、余計に頭を使う。

324:デフォルトの名無しさん
08/02/18 21:14:08
System.InvalidCastException: 型 'System.DBNull' のオブジェクトを型 'System.String' にキャストできません。

SqlServerからSelectしてきたDataRowを表示したいのですが、上記のエラーが出ます。
下記のように書いても、'System.DBNull' は '型' ですが、'変数' のように使用されています。
ということでビルドできません。typeofとか使っても駄目です。
VBだとIsDBNullってあるようですが、C#ではどうしたら良いのでしょうか?

if (row.Name != DBNull)
  Console.WriteLine("Name: {0}", row.Name);



325:デフォルトの名無しさん
08/02/18 21:18:48
URLリンク(msdn2.microsoft.com)(VS.80).aspx
>DBNull はシングルトン クラスです。つまり、このクラスのインスタンスは 1 つしか存在できません。
その唯一のインスタンスは DBNull.Value です。

326:デフォルトの名無しさん
08/02/18 21:18:57
知らんけど

if( !(row.Name is DBNull) )


327:デフォルトの名無しさん
08/02/18 21:22:22
rowにIsNameNullみたいなメソッドがあったはず

328:デフォルトの名無しさん
08/02/18 21:28:52
みなさま、どうも有り難うございます。

>>325
その説明がまた難しかったです‥‥。
row.Name != DBNull.Valueでも同じエラーでビルドできませんでした。

>>325
is演算子なんて、初めて使いました‥‥。
結果は同じだったんですけれど。

>>327
なんと、確かに勝手に作られました!!
カラム分のrow.Is○○Nullが生成されるようです。
気付かず、申し訳ありませんでした。

皆様、どうも有り難うございました。


329:デフォルトの名無しさん
08/02/18 21:31:52
>>324
if(row.Name != DBNull.Value)
でどうか。

330:デフォルトの名無しさん
08/02/18 21:36:04
>>329
俺レス遅すぎorz。
つーか、よく考えたらコンパイル通らんな…。

331:デフォルトの名無しさん
08/02/18 21:36:06
ぶっちゃけ、自動生成されるプロパティ public string Name { get { }}
のなかが、if( row.Name.type == DBNull ) throw Exceptionみたいな
インプリになってるから、Nameを触った時点で終冬

StringならプロパティでNULL時に代替する値を設定できるけど、
Nullable型はどこへ行ったの、って感じ。

332:デフォルトの名無しさん
08/02/18 21:39:59
ちゃんとDBのスキーマでNot NullにしたカラムではIs○○Nullが作られないんですね。


333:デフォルトの名無しさん
08/02/19 01:25:34
ある指定されたファイルの先頭と最後に固定データを付加して、別ファイルに保存する方法が分かりません。
先頭の固定データを設定したByte配列に、元ファイルを読み込んだByte配列をコピーするような方法しかないものでしょうか?

334:デフォルトの名無しさん
08/02/19 01:32:29
先頭に固定データを書きこんだ後に続けて
元のファイルの内容を順次書き込めばいいだろ

335:デフォルトの名無しさん
08/02/19 13:09:01
StreamをUriとして扱ういい方法しりませんか?

やりたいのがzipで圧縮されたMP3をメモリ上に解凍したものを
MediaPlayerで扱いたいとか
HTMLが含まれたメールのHTML部をメモリに抽出したものをwebbrowserで開きたいのですが
メモリ=>Uriとして扱うために、一旦ファイルに落とせば出来るのですが、
ファイルに落とさずに行いたいです。


336:デフォルトの名無しさん
08/02/19 13:12:12
ウェブサーバ機能も搭載してしまうとか。

337:デフォルトの名無しさん
08/02/19 13:19:59
>>336
>ウェブサーバ機能も搭載してしまうとか。
すいませんが、知識がありません。
もうちょっと、ヒントを

あんまり、大がかりにはしたくないのですが、
WCFでちょちょいと出来そうなら、
チャンスなので、WCFとかの勉強をしてもいいかなとも思ってますが。
さくっと見てみた限りでは、ちょっと違うかなぁと
(出来るかもしれないし、出来ないかもしれない)
今は、飛び込むのに迷ってはいるのですが。

338:デフォルトの名無しさん
08/02/19 13:47:15
>>337
System.Net.HttpListener で適当なポート Listen しといて、
要求があったら Response にファイルを返す。

ブラウザで URLリンク(localhost:)ポート番号/ を開く。

339:デフォルトの名無しさん
08/02/19 14:15:07
>>338
回答ありがとうございました。

MSDNにあるサンプルで試したところ、
簡単にできそうですね(さしあたり、HTMLメールの方は出来そうなことを確認)。
ながいこと方法を探していたので、本当に感謝致します。m(_ _)m


340:デフォルトの名無しさん
08/02/19 21:36:35
ReSharperを購入したことのある方いらっしゃいますか?
ReSharperを購入しようと思い、JetBrainのサイトからクレジットカード(Visa)での購入手続きを行ったのですが
数時間後にメールが支払い手続き失敗のメールがきてしまいます。
このカードで他の買い物はできているのでカードが使用不能になっているわけではないと思うのですが・・・

341:デフォルトの名無しさん
08/02/19 21:40:02
ドル決済ができないとか、海外利用に制限かけてあったりとかじゃないの

342:デフォルトの名無しさん
08/02/20 00:47:10
あれ、List<T>にIsReadOnlyは無いの?

343:デフォルトの名無しさん
08/02/20 00:50:01
>>342
ICollection<T>にはある。もちろんList<T>も実装している。

344:デフォルトの名無しさん
08/02/20 00:54:14
なんでList<T>をICollection<T>にキャストか何かしないと使えないの?
List<T>のまま直接IsReadOnlyを参照できればいいのに

345:デフォルトの名無しさん
08/02/20 01:04:55
List<T>は絶対読み取り専用じゃないから無意味

346:デフォルトの名無しさん
08/02/20 01:17:23
んー、インターフェースのメソッドやプロパティを一部隠せる構文ってあったの?

347:デフォルトの名無しさん
08/02/20 01:19:11
明示的な実装

348:デフォルトの名無しさん
08/02/20 01:22:13
なるほど
いろいろとサンクス

349:デフォルトの名無しさん
08/02/20 09:08:53
exe形式のCOMサーバー作るのもやり方がわからず困ってます。
ATLのhoge.exe /regserverのような自己登録型のCOMサーバーのことです。
単にCOMインタフェースを持ったexeを作って、regasmやgacutilでCOM登録はできるけど、
これだと単にDLLサーバーと同じ働きしかしない。
つまり、アプリ側でそのexeを参照してCOMが使えるけど、アプリごとにロードされる。
COMは1つだけロードされて情報を共有したいのですが・・・

こういうのってC#だとCOM+(コンポーネントサービス)で実現すべきですかね?
C#でCOM+作ってregsvcsで登録、複数アプリでの情報共有はできることは確認できたのですが。

350:デフォルトの名無しさん
08/02/20 09:24:40
RegistrationServices.RegisterTypeForComClients でなんとかできるのかもしれない

351:349
08/02/20 11:14:51
んー、これは、プログラムからCOM登録するというだけではないですか?
自分はCOMがマシンでシングルトン的に動く事を期待しているので。
それで複数のアプリがそこへCOMインタフェースを介してアクセス。

352:デフォルトの名無しさん
08/02/20 11:43:57
RegistrationConnectionType 指定できるじゃん?

353:340
08/02/20 12:03:31
>>341
フォームからは日本円も選べるので
日本からの購入も可能なのかと思ったんですが…

354:349
08/02/20 12:03:35
うお、なんかできそうな気配がありますね。
ちなみにこんな記事も見つけた。
URLリンク(www.codeproject.com)
ここではEXE COMサーバー(ActiveX EXE)に相当する物は.netにはないから、
一度.netでCOM作って、それをnativeなActiveX EXEアプリで参照して、
メソッドラッピングするという話。

355:デフォルトの名無しさん
08/02/20 12:28:46
>>353
>>341が言ってるのは、カードの設定のことじゃないのか。

まあ、クレカ関連のトラブルはカード会社に電話するのが一番手っ取り早いと思うよ。

356:340
08/02/20 12:38:52
>>355
ありがとうございます。
問い合わせてみます。

357:デフォルトの名無しさん
08/02/20 21:53:15
期限の年月を逆にかいてないか?

358:デフォルトの名無しさん
08/02/21 09:52:37
買い物したことあるみたいだから、それは無いと思うが、、、たまたまあってたのかもしれんしな。
2012年を過ぎればこんな心配も無くなるなw

359:デフォルトの名無しさん
08/02/21 10:18:00
偶然08/08だったので気づかなかったりw

360:デフォルトの名無しさん
08/02/21 18:48:48
>>334
ありがとうございました

361:デフォルトの名無しさん
08/02/21 22:32:37
JAVAとC#どっちがリバースエンジニアリングに強い?
どっちも変わらない?

362:デフォルトの名無しさん
08/02/21 22:58:33
変わらないと思う。

363:デフォルトの名無しさん
08/02/22 00:33:09
実際のところ難読歌どうなんだろうね。
すんごいクラス細かく分けてあって、名前がa1とかだったらそれなりに調べるのに時間かかるとは思うんだけど。
一メソッドの中のロジックはともかく、複数のクラスの相互関係とかは結構追いにくくなりそうだけど。
もちろんバイナリのほうがいいのはいうまでもないが。


364:デフォルトの名無しさん
08/02/22 00:39:16
リフレクションしてたら死ぬからできればやめといた方が無難

365:デフォルトの名無しさん
08/02/22 02:21:01
バイ…ナ…リ…?

366:デフォルトの名無しさん
08/02/22 02:26:19
意図せずリフレクションが使われてることはよくある。
Enum.Parseとかも駄目。
そういう副作用があるので難読化後に全テストし直しが必要なのできついよ。
駄目なクラスなどだけ難読化の対象から外すのはできるけどそれを確認するのも手間がかかる。
難読化してもメソッド内のロジックとかで見ると何も変わらないのであんまり意味がない。
ほんのちょっと読みづらいだけだよ。

367:デフォルトの名無しさん
08/02/22 07:21:38
>>365
そのまま、ネイティブバイナリの意味ですが?普通に読めば.NET ILコードとネィテブバイナリを比較して行ってると思ったんだけど・・・

>>366
>意図せずリフレクションが使われてることはよくある。
>Enum.Parseとかも駄目。
>そういう副作用があるので難読化後に全テストし直しが必要なのできついよ。

それはめんどくさそうですね。


>駄目なクラスなどだけ難読化の対象から外すのはできるけどそれを確認するのも手間がかかる。
>難読化してもメソッド内のロジックとかで見ると何も変わらないのであんまり意味がない。

ので全部のクラスに難読化かけたときは全体の構造追いにくくなるのである程度は意味ないかと思ったんですけどね・・・
じぶんならかなり見る気がうせるし、追ってくのにも時間かかるだろうから、それなりに障壁にはなるかと。



368:デフォルトの名無しさん
08/02/23 13:08:05
てn
URLリンク(data.exet.nu)

369:デフォルトの名無しさん
08/02/23 13:34:00
↑グロ注意

370:デフォルトの名無しさん
08/02/23 21:39:20
Console.ReadKey を使ってそれなりにリッチなコンソール インターフェイスを
構築しようとしているのですが、(Console IME は使えなかったのでテストして
いませんが) 非 ASCII 文字をペーストすると変に分解? されてしまうようなの
ですが、何か対策は無いものでしょうか。どうかご教示願います。

/* コード */
char c;
while (true) Console.WriteLine("{0} ({1})", c = Console.ReadKey(true).KeyChar, Convert.ToInt32(c));
/* 結果: (入力orペースト -> 出力)
a -> a (97)
A -> A (65)
あ -> ? (130)\n? (12448)
い -> ? (130)\nア (12450)
ア -> ? (131)\nぁ (12353)

371:デフォルトの名無しさん
08/02/24 22:12:17
TextBox textBox;

textBox.AppendText("1\n");
textBox.AppendText("2\n");

textBox.AppendText("3\n");

textBox.AppendText("4\n");

textBox.AppendText(textBoxLog.Text);

とすると、

1
2
3
4
1234

ってなるんだけど、最後の行で改行が消えるのは何故?
改行を保存するにはどうすればいいの?

372:デフォルトの名無しさん
08/02/24 22:14:22
正しい改行は\r\nだぜ

373:デフォルトの名無しさん
08/02/24 22:20:04
ちょっと質問の仕方を変える。

TextBox textBox;

textBox.AppendText("1\n");
textBox.AppendText("2\n");
textBox.AppendText("3\n");
textBox.AppendText("4\n");
textBox.AppendText(textBoxLog.Text);

とすると、

1
2
3
4
1234

ってなるんだけど、初めの4文字は改行されて、最後の4文字は改行されないは何故?

374:デフォルトの名無しさん
08/02/24 22:38:18
>>373
Dock=FillとかにしてTextBoxのサイズがウインドウサイズに連動して変わるようにして、
表示した後にサイズを変えてみ。
\nじゃだめなことがわかるから

375:デフォルトの名無しさん
08/02/24 22:40:08
逆に、なぜ\nでも一見改行されているように見えるのかと聞いているのかもしれない。
それなら、俺も聞きたいところだ。

376:デフォルトの名無しさん
08/02/24 22:46:38
>>374
>>375の言う通り、初めの4文字が「\nじゃだめ」じゃない理由を知りたい。

377:デフォルトの名無しさん
08/02/24 23:20:55
x.SelectionStart = x.TextLength
ってやると末尾に\nが来た場合次の行にカーソルが行くから、かね

378:デフォルトの名無しさん
08/02/24 23:24:02
最善策: Environment.NewLine

379:デフォルトの名無しさん
08/02/24 23:41:20
昨日プログラムを始めたばかりなのですが、本にintは数値を入れる箱と書いてあったのですが
どういう箱なのでしょうか?いまいち解らなくて・・・

380:デフォルトの名無しさん
08/02/25 00:01:41
>>373
textBox.AppendText(textBoxLog.Text + "\n");
で解決とか言う問題ではないのよね?

381:デフォルトの名無しさん
08/02/25 00:03:56
>>380
ではないね。

382:デフォルトの名無しさん
08/02/25 00:06:43
>>379
なれるまで使い続けろ

383:デフォルトの名無しさん
08/02/25 00:09:02
  ____
 /......  .. .../
 ||:::   ∧ ∧  / ̄ ̄ ̄ ̄ ̄ ̄ ̄
 | ̄\ ( ゚Д゚)<  こういう箱。
 |   |: ̄U U ̄:|\_______
 |   |: int   :|
  ̄ ̄ ̄ ̄ ̄ ̄

384:デフォルトの名無しさん
08/02/25 00:10:07
intはどっちかというと箱の形だと思う

385:デフォルトの名無しさん
08/02/25 00:17:59
型の話をするとなっがーくなるぞ

386:デフォルトの名無しさん
08/02/25 00:35:41
>>379
ふらっと池
諸先輩方の仰る通り、とりあえず変数は一通りその存在に慣れて、その後に
詳細を理解した方が良い。

387:デフォルトの名無しさん
08/02/25 00:37:02
>>383
それはむしろ object @int = new Giko("こういう箱。"); じゃw

388:デフォルトの名無しさん
08/02/25 00:39:10
>>379
メモリにも、処理可能な量にも限界がある(有限)ため、資源を区切って使う必要がある。
どんな箱かと言われたら、一般的な段ボール箱かな?

389:デフォルトの名無しさん
08/02/25 03:15:45
詳しいことは知らないので適当に書くが、
半導体が帯電しているかしていないかで0,1をあらわす
それを32個組み合わせたものがintで、
intは2の32乗の状態をもつことが出来る。
一つ一つの状態は整数の値に対応し、四則演算などを行うことが出来る
つまり整数を入れるのがint

390:デフォルトの名無しさん
08/02/25 04:00:04
適当すぎてワロタ

391:デフォルトの名無しさん
08/02/25 09:33:29
>>379
英語の文法を意識して話してるうちは英語が話せないのといっしょ。
でも、たとえも良くないな。
数学の変数と同じと思う方がいい。

392:デフォルトの名無しさん
08/02/25 09:40:04
よく使われるけど「箱」って絶対分かりにくいと思う。
数学の x や y と同じで、ただ代入できる数値に制限があるってだけで
中学生以上なら誰でも理解できると思うんだけど…

393:デフォルトの名無しさん
08/02/25 09:43:35
代入演算子が "=" なのがそもそもオカシイ
もう慣れちまって違和感無いけど

394:デフォルトの名無しさん
08/02/25 10:03:33
代入が「演算」かどうかという点からして微妙なんだがな

395:デフォルトの名無しさん
08/02/25 11:11:48
そうですか

396:391
08/02/25 11:39:35
>>392
Cの時代はポインタの理解の布石として箱で理解する必要はあるかもしれないけどね。
今時の開発で初心者が箱で理解する意味なし。

397:デフォルトの名無しさん
08/02/25 12:14:14
Cの場合、ポインタで直接中身をいじる感覚を把握するために、
箱モデルの必要性があった。

現代的な言語、たとえばJavaなら、プリミティブ値かオブジェクトに付ける名前、
あるいは名札、という概念で把握できるから箱モデルいらね。

398:デフォルトの名無しさん
08/02/25 12:15:07
というかC♯スレだっけ、ということで、
s/Java/C♯/

399:デフォルトの名無しさん
08/02/25 12:25:00
保存媒体のケース
カセットテープのケースにはカセットテープが入る
MDのケースにはMDが入る
形が似てるものは互換性があったり(あるように見えたり)する

何でも入れられるケースもあるけどな

400:デフォルトの名無しさん
08/02/25 12:36:02
その文脈で何でも入れられるケースが出てくるのはおかしい
箱で考えるとその辺で悩む奴がいる

401:デフォルトの名無しさん
08/02/25 12:49:27
ヒープとスタックくらいは構造意識してプログラミングしようよ。

402:デフォルトの名無しさん
08/02/25 13:11:27
今ある言語の「型」は性質によって定義されるのであってメモリ構造とかは付随的なものだから
記憶構造とか意味が無いよ
むしろ「自然数」という型を数学的に定義しているペアノの公理とかの方に引っ張っていくべき

403:デフォルトの名無しさん
08/02/25 14:02:11
行き過ぎた抽象化や比喩は弊害になるいい例なんだと思う
自分の指示がコンピュータのどの資源をどのように確保したかを理解せずまともなプログラムが出来るなんて
現実感の足りない偉い学者の夢想物語で未来永劫そんな理想環境が訪れることは無いんじゃないかな

ペアノとやらでメモリの話を避けてintの定義と機能を説明できる?

404:デフォルトの名無しさん
08/02/25 14:32:42
初心者は型の無いシンプルな言語から始めたほうがいいのじゃないだろうか。

405:デフォルトの名無しさん
08/02/25 15:00:55
型があったほうがコンパイル時にエラーで教えてくれて親切だと思うんだけどなぁ


406:デフォルトの名無しさん
08/02/25 15:10:24
型無し言語ほど恐ろしいものはないわ

407:デフォルトの名無しさん
08/02/25 15:10:56
>>403
できる

408:デフォルトの名無しさん
08/02/25 15:29:06
箱とか数学よりも擬人化したほうがいいだろjk

409:デフォルトの名無しさん
08/02/25 15:32:44
C#で多倍長整数を構造体で定義することを考えてみ
メモリ云々よりも性質から攻めていった方が楽だろ?
型っていうのは性質によって定義されるものなんだろjk

410:デフォルトの名無しさん
08/02/25 15:37:14
型宣言省いて上手く動かず
全部intで処理して挙動不審
floatで期待した結果を得られず

ホビープログラムで経験して理解した者が這い上がってくるって事で良いんじゃないだろうか
別の山道ももちろん在るけど

411:デフォルトの名無しさん
08/02/25 15:46:34
implicit operator実装しまくればVariant型を作れるかな

412:デフォルトの名無しさん
08/02/25 17:34:41
C#で、グラフ構造を表示するのに便利なライブラリーってありません?

413:デフォルトの名無しさん
08/02/25 18:58:11
ListViewの詳細表示で、他のコントロールを貼り付けるにはどうしたらいいですか?

414:デフォルトの名無しさん
08/02/25 19:12:15
>>413
ListViewを使うのは諦めた方がいい。
DataGridViewとか使ったら?
WPFなら融通利くかな・・・。

415:デフォルトの名無しさん
08/02/25 20:49:30
>>411
System.Variant

416:デフォルトの名無しさん
08/02/25 20:52:35
>>413
貼り付けるだけなら
control.Parent = listview;

サイズはListViewItem.BoundsとかListViewItem.ListViewSubItem.Boundsとかで拾う
制御するにはイベントだけじゃ無理でWndProcをオーバーライドして適宜メッセージ処理する必要あり

417:デフォルトの名無しさん
08/02/25 23:52:39
ArrayListにString配列をAdd()で格納*n回繰り返す →
それぞれのStringデータに1バイトずつbyte型のデータを
付加して、String配列を一つのStringデータにする。

やり方をどなたか分かる方おりませんか?

StringBuilderでStringをアペンドすることは出来るのですが、
byte型のデータをアペンドするときに0x12が0x3132になってしまいます。。

418:デフォルトの名無しさん
08/02/26 00:00:24
要するに、そのbyte型データ(bとして)がstringになればいいんでそ。

System.Text.ASCIEncoding.GetString( new byte[] { b } )
でも使って変換すれば。

419:417
08/02/26 00:07:35
>>418 さん

ありがとうございます!!!
大変助かりましたし、勉強になりました。

本当にありがとうございます。

420:デフォルトの名無しさん
08/02/26 00:13:01
もち、ASCIIの範囲超えたら例外だかんね。
文字列はUnicodeとして合法な並びにしかならないから。
それが嫌なら、全部バイト配列でやるこったね。

421:417
08/02/26 00:30:42
文字列で処理する方法を諦めかけていたとき、
byte配列で処理することも考えていました。
データ長が可変なこともあってArrayListで
処理していたのですが、

ArrayList = new ArrayList();

arylst.add( b ); //byte型で0x12を格納したデータ
arylst.add(bytes); //文字列をbyte配列に変換したもので0x35363738(5,6,7,8)を格納したデータ

byte[] = (byte[])arylst.ToArray(typeof(byte));

と処理すると、ToArrayの箇所で必ず、『キャストできませんでした』という
例外になってしまっていました。

もしよろしければ、上記のbyte配列で処理する手順で
例外にならないようにbyte配列を生成する方法を
併せてご教授いただけませんでしょうか?

422:デフォルトの名無しさん
08/02/26 00:41:18
その文字列を、どのエンコーディング使ってByte配列にしたいかによって話も変わってくるけど、
List<byte> bytelist = new List<byte>();
bytelist.Add( b );
bytelist.AddRange( System.Text.UTF8.GetBytes( "abcdefgh...") );
みたいにして、最後にbytelist.ToArray();とでもすればいいんじゃないの。

423:デフォルトの名無しさん
08/02/26 00:54:23
417-418を見て思ったんだけど、(char)bってできなかったっけ?

424:デフォルトの名無しさん
08/02/26 01:12:57
出来ますが、文字コードに変換されてしまいますよ

425:デフォルトの名無しさん
08/02/26 01:29:57
>>421
arylstの中身は { b, bytes }
bytesがbyte[]型ならbyte型にキャスト出来ないのは自明

配列をばらして追加したいならAddRange()

>>423>>424
ASCIIの範囲なら問題ないんじゃないか?
0x30を"30"ではなくて'\x30'に変換したいだけだと思ってたんだが違うのか


次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

4441日前に更新/174 KB
担当:undef