[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2chのread.cgiへ]
Update time : 04/03 03:17 / Filesize : 222 KB / Number-of Response : 1002
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


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

ふらっとC#,C♯,C#(初心者用) Part41



1 名前:デフォルトの名無しさん mailto:sage [2009/06/06(土) 12:30:18 ]
このスレッドは
「どんなにくだらないC#プログラミングに関する発言でも誰かが優しくレスをしてくれるスレッド」です。
ほかのスレッドでは恐ろしくて書き込めないような低レベル、もしくは質問者自身なんだか意味がよく分からない質問など、
勇気をもって書き込んでください。
内容に応じて、他スレ・他板へ行くことを勧められる、あるいは誘導される場合がありますがご了承下さい。

>>980を踏んだ人は新スレを建てて下さい。
>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。

前スレ

ふらっとC#,C♯,C#(初心者用) Part40
pc12.2ch.net/test/read.cgi/tech/1239599317/

830 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 05:50:56 ]
汎用性を持たせられてないからだな

831 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 06:09:35 ]
汎用性ってすごく難しいよね
細かい機能使えるようにすると、元々あるクラス使えってことになるし
簡単に使えるクラスにすると、他のプログラムだと機能がたりなかったり
そもそも何をしているクラスなのかわからなかったりで

832 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 08:07:47 ]
16進数 1FF は 10進数 511なわけですが
プログラムのバイナリデータではFF01という風に逆順に並んでいるんですが
こういうのを10進数511と変換するうまいやり方はないでしょうか?

833 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 08:10:02 ]
char[]に変換して、foreachでstringに変換して連結。

834 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 08:37:32 ]
byte[]に入れて、BitConverter.ToUInt16()

835 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 09:02:05 ]
>>833
>>834
それだと逆順になったままなんですが

FF01を511にする方法が知りたいんです

836 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 09:12:59 ]
良く分からんが、用意されてるメソッドで都合悪いなら自作すれば?

837 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 09:14:11 ]
それがわからないから聞いているんだけど?

838 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 09:19:17 ]
>>835
それ、普通に short で読み込んだら 511 にならない?
Mono か何かでビッグエンディアンな CPU 上で実行してたりする?



839 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 09:24:03 ]
文字列の "FF01" とか?

840 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 09:32:04 ]
>>835
普通逆順になるわけがないんだが、
お前いったいどんなプログラムで確認してる?


841 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 09:42:32 ]
>>838
なるわけないし、ushortじゃないと範囲超える

842 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 09:46:43 ]
>>840
どういう意味?

あるアプリをバイナリ編集したいんだけど
数値の部分だけがFF01と反転している
そのアプリのバイナリデータを取り込んで0x01FFつまり511とテキストボックスなんかに表示したいんだけど

843 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 09:47:01 ]
>ushortじゃないと範囲超える
くわしく

844 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 09:50:14 ]
>>843
short=0xFF01;
でやればわかる

845 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 09:53:40 ]
で、同じようにDWORDの数値も本来の数値に変換したいんだけど
簡単な方法ありますか?

846 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 09:54:44 ]
>>844
何言ってんだお前は。
今の値はそうじゃないだろw


847 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 09:55:38 ]
>>842

byte[] data = {0xFF, 0x01};
Console.WriteLine(BitConverter.ToInt16(data, 0));

512って出るだろ?
出たならお前の読み込むプログラムの方がおかしいってこった。

848 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 09:57:40 ]
ちがう511のまちがい。

>>845
これで分かるだろ。




849 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 10:04:45 ]
>>847
おおおおおおおおおすげーーーー
なんで逆さまなのに511って出るんだ・・・

850 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 10:06:28 ]
>>846
今の値がどうとかに関係なくWORDを読み込んで数値に変換するわけなんだからshortじゃだめでしょ

851 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 10:09:21 ]
>>834
結局これだったわけねww
ありがとう

852 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 10:15:19 ]
範囲外とか言い出すやつが何言っても無駄

853 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 10:17:55 ]
>>850
そもそも今の会話からは符号付きかありかなんて読み取れないのに、
いきなり、>>841とかいいだすお前がおかしいわ。


854 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 10:20:37 ]
こういうのは「バイトオーダー」とかのキーワードを知ってればすぐ答が見つかるんだよな
それを知らない時点で敗北決定

855 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 10:21:16 ]
>>832
>プログラムのバイナリデータではFF01という風に逆順に並んでいるんですが
ここでちゃんとWORDデータを変換すると言っているんだから
できるひとは>>834がすぐ出るでしょ
WORDデータに対してshort持ってきちゃうなんて世間知らずもいいとこだ

856 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 10:22:42 ]
なん…だと…


857 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 10:24:15 ]
>ここでちゃんとWORDデータを変換すると言っているんだから
どこだよっ

>>832をどう見ても符号付きか否かは不明。


858 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 10:26:57 ]
どうかな。



859 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 10:30:36 ]
バイナリデータ2バイト(FF01)=WORD=ushort

860 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 10:32:04 ]
そもそも0xFF01はshortに収まらない

論破

861 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 10:37:24 ]
>>831
それはまだ蓄積や経験が足りない。わからなくなるのは管理が悪い。

名前の付け方に統一ルールを作り、長くなってもいいからわかりやすさを最優先に考える。
使い方をソースファイルの頭などにちゃんと書いておく。
過去の自分は他人。他人が見て使用法が理解できないソースは未来の自分にも理解できない。
「いちいち書くのがめんどくさい」「書かなくてもわかってる、覚えてる」は禁句。

まあ、35歳ぐらいになれば記憶力も衰えてくるし、10年以上の蓄積ができてるはずだから
身にしみてわかるようになるよ。
大多数の人間は経験から学ぶ愚者だからね。

862 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 10:42:49 ]
>>860
君おもしろいね

863 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 10:43:18 ]
大多数の回答者は本来のデータが0x01FFのリトルインディアンだと気づいているのに
見たまま0xFF01と解釈してるアホがいる
バイナリファイルをバイナリエディタで開いてみたことないんだろうな

864 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 10:49:20 ]
>>863
リトルインディアン?アメリカの子供に聞かせる歌でそんなのあったな

バイナリから取り込むわけだから、元データがOxFFFFの場合もあるかもしれないと
想定して作らないとだめでしょ?何で符号無しと決め付けるわけ?
思い込みは危険だよ

865 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 10:52:01 ]
リトルエンディアン 【little endian】
j-ken.com/category/all/data/637100/

866 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 10:57:27 ]
符号無しと決めつけてるのはushortじゃなきゃダメと主張してる人だな。
今の質問だとどっちか分からないから、shortではなくushortにしなきゃならない
ってのは正しいかどうか確証はない。
shortじゃなきゃならない可能性もあるんだから。

符号に気をつけろだけなら異論はないが。


867 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 11:03:21 ]
>>859
その解釈が、件のデータが符号付きか符号なしかという問題に対して何か意味を持つとは思えないな。

868 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 11:05:12 ]
何でそんなに符号に拘るの?そもそも符号って何よ・・・・
ushortじゃだめな理由なんてあるの?



869 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 11:16:18 ]
今北産業

870 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 11:18:20 ]
>>868
同じバイナリで表現される整数値の意味が変わるからだ。
知らないならC言語の初級からやりなおせ。

871 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 11:28:18 ]
>>870
なるほどそういうことか、難しいな

872 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 11:29:40 ]
C言語は関係ないよ。

873 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 11:37:59 ]
>>872
アホ

874 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 11:46:45 ]
>>869
符号がどうとか
聞かれてもいないことに答えようとしている
おせっかいがたくさん

875 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 11:51:34 ]
なんでもこういう事言って満足してるアホがいるが、
普通に質問への答えに関わる事として重要なことだってのも分からんのか、
単に何か言いたいだけなのか、何なんだろうな。


876 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 11:55:46 ]
ArrayListあるいは配列の中に入っているobjectを、
ToStringかけながらカンマ区切りで連結するのってどうやるんだろう?
できれば区切り文字はあとから変更できる形が望ましい。

.NET 3.5以降ならLinq付随のジェネリックテンプレートが使えるんだけど、
サポートOS(2000以降)の関係で.NET 2.0でお願いします。


877 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 11:58:59 ]
String配列生成
forでそれぞれToStringしながら配列に入れていく
String.Join

878 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 12:01:56 ]
ConvertAllだったかとString.Joinの組み合わせで。
あ、ConvertAllは配列にしてからじゃないとダメだったかな…



879 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 12:17:42 ]
>>877
なるほど……。そんな感じでやってみようかと思ったらStringBuilderを見つけて、
そっちで書いてみたら簡単だったのでコード片を載せておく。

IronPython.Runtime.List python_result;

var builder = new StringBuilder();
foreach(var e in python_result)
{
builder.Append(","+ e.ToString());
}
Console.WriteLine(builder.ToString().Substring(1));

>>878
対象がIronPython.Runtime.ListなんでConvertAllは使えないっぽいね……。


880 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 12:47:10 ]
パイソンは知らないんだが、ToArrayはないのかな?
ToArrayしてConvertAllしてJoinに渡す。

ってまあ別にベタで書いても全然構わないんだけど。

881 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 13:00:37 ]
IEnumeratorは返してくれるんだけど、ToArrayは無いのよね。
枯れたライブラリならともかく、
こんなホットなもの相手に中のコードはいじりたくない。


C#は巨大な.NETクラスライブラリの関係で
同じことをやるのに方法がたくさんあるから、最適な方法を探すのが大変ですね。

882 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 13:05:47 ]
Listって名前なのにIEnumerableのみかよwww

……XmlNodeListもそうなんだよな

883 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 15:31:14 ]
提示された情報だけでは符号付きか符号無しか判断できないし
別に型が確定しなくても今回の質問には答えられる。
ちょっと注意書きを入れれば済むことだから両方書けばいいだけ。
BitConverter.ToUInt16()  符号無し
BitConverter.ToInt16()  符号あり

884 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 15:35:02 ]
DataGridViewの一番左の項目に1,2,3と番号振りたいんだけどどうすればいいですか?
DataGridView.Rows[].Cells[0]のことではないです。

885 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 15:51:39 ]
>>884
DataGridView.CellPaintingで

886 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 15:54:05 ]
すいませんこれでいけました

DataGridView1.Rows[0].HeaderCell.Value

が、なぜか、マス目でいうと上から3つ目のところに表示されます
上から3つ目のマスが最初の行ということですか?
だとしたら、その上の行はなんなのか?あとインデックスって-1になるということ?
どうもよくわからない

887 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 16:00:27 ]
ハァ?
コーディングミスだろ。

www.dotup.org/uploda/www.dotup.org158297.png

888 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 16:08:24 ]
dataGridView1.ColumnCount = 6;

this.dataGridView1.Rows[0].HeaderCell.Value = "0";

Bthis.dataGridView1.Rows.Add("1","2","3","4","5","6");

やってるのはこれだけなんですが、行のヘッダは3マス目に0が入り
Bのデータはなぜか2マス目の行にデータが収まります
どうしてなんでしょうか?



889 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 16:24:38 ]
試しに新規プロジェクト作ってDataGridView貼り付けて
そのコードだけを書いたやつ実行してみなよ。

890 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 16:25:07 ]
>>888
人がわざわざ正しいやり方を示してくれているのに謝意も述べず、
自分勝手なやり方をしてそれがどういう結果をもたらすのか
自分で考えずに人に質問するような態度で、
答えを教えてもらえると思っているのか?

ちなみに887≠オレ

891 名前:887 mailto:sage [2009/06/22(月) 16:26:25 ]
初心者スレの割にキビシイっすね

892 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 16:41:56 ]
愛の鞭です

893 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 17:36:29 ]
飴ちゃんちょうだい

894 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 21:19:42 ]
バイトオーダー嫌って文字列で送った俺は勝ち組。

895 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 21:29:49 ]
数が少なく整数のみならそれが勝ちだね

896 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 22:01:33 ]
エンコードが違って文字化け

897 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 22:36:57 ]
コード以外の文字列はBASE64ヽ(´▽`)ノ検索無くてよかったよかった。

898 名前:デフォルトの名無しさん mailto:sage [2009/06/23(火) 00:45:53 ]
そんな私はwebで公開



899 名前:デフォルトの名無しさん mailto:sage [2009/06/23(火) 03:28:34 ]
byte[]に格納したバイナリデータをascii文字列にするにはどうすればいいですか?

900 名前:デフォルトの名無しさん mailto:sage [2009/06/23(火) 03:33:02 ]
Convert.ToBase64Stringが手軽で鼻血が出る

901 名前:デフォルトの名無しさん mailto:sage [2009/06/23(火) 03:33:06 ]
どんなバイナリをどんな文字列にしたいのさ

902 名前:デフォルトの名無しさん mailto:sage [2009/06/23(火) 03:38:03 ]
31 30 30 25→100%
みたいな感じです

バイナリエディタのようなものを作ろうとしているので
stirlingは左バイナリデータで右側にShift-Jis, ASCIIなどを表示してますよね?
そういう感じのものを作りたい

903 名前:デフォルトの名無しさん mailto:sage [2009/06/23(火) 03:48:11 ]
charにキャスト

904 名前:デフォルトの名無しさん mailto:sage [2009/06/23(火) 04:01:56 ]
Encoding

905 名前:デフォルトの名無しさん mailto:sage [2009/06/23(火) 04:04:34 ]
>>899
dobon.net/vb/dotnet/string/getencoding.html

906 名前:デフォルトの名無しさん mailto:sage [2009/06/23(火) 05:36:19 ]
>>900
>>901
>>903
>>904
>>905
試してみますありがとう

907 名前:デフォルトの名無しさん mailto:sage [2009/06/23(火) 09:47:01 ]
なぜかBio100%を思い出した

908 名前:デフォルトの名無しさん mailto:sage [2009/06/23(火) 10:02:41 ]
どこからの連想か全く分からないが懐かしいな>Bio_100%



909 名前:デフォルトの名無しさん mailto:sage [2009/06/23(火) 13:11:53 ]
俺がバイナリエディタを毎日のように使っていた時代と
Bio_100%の全盛期が重なってね。で、>>902から連想した。

あの頃はアセンブラが必須科目だったし、バイナリのデータ構造なんて
知ってて当たり前だった。ちょっと上の方で揉めてエンディアンの話とか。

910 名前:デフォルトの名無しさん mailto:sage [2009/06/23(火) 13:16:26 ]
>>909
> 知ってて当たり前だった。
の割にはあまり刊行物では取り上げられなかったけどな。

911 名前:デフォルトの名無しさん mailto:sage [2009/06/23(火) 13:21:59 ]
>>910
C/C++の入門書ならほぼ間違いなく取り上げてる話題なんだが、どうよ。

912 名前:デフォルトの名無しさん mailto:sage [2009/06/23(火) 13:23:56 ]
>>911
悪い、勘違いした。
バイナリの構造って、たとえばPEヘッダとかそういうのだと思った。

913 名前:デフォルトの名無しさん mailto:sage [2009/06/23(火) 13:31:43 ]
また話がそれかかってるので燃料投下する。

C#で作ったプログラムで他のモジュールを読み込む場合、
モジュールをサブディレクトリに置いた場合に
アプリケーション設定ファイル(*.exe.config)に
<probing privatePath="libs" />
といった形で検索パスを記入するが、他の方法はどういったものが挙げられるだろうか。
いいところ、悪いところなど教えてくれると助かる。

914 名前:デフォルトの名無しさん mailto:sage [2009/06/23(火) 13:52:31 ]
>>913
API

915 名前:デフォルトの名無しさん mailto:sage [2009/06/23(火) 14:05:15 ]
ttp://www.atmarkit.co.jp/fdotnet/technology/idnfw11_index/index.html
を踏まえた上での話?

916 名前:デフォルトの名無しさん mailto:sage [2009/06/23(火) 15:09:07 ]
確かにPEヘッダは資料が少なくて苦労した

917 名前:デフォルトの名無しさん mailto:sage [2009/06/23(火) 15:18:16 ]
そういうのって、Linkers & Loadersが出るまでは、断片的な情報しか
手に入らなかったような気がするけど。

918 名前:デフォルトの名無しさん mailto:sage [2009/06/23(火) 17:58:25 ]
漠然とした質問ですが、
アセンブリ情報のGUIDってなんですか?
なんのためにあるんでしょう。



919 名前:デフォルトの名無しさん mailto:sage [2009/06/23(火) 18:23:06 ]
厳密名を定義するため

920 名前:デフォルトの名無しさん mailto:sage [2009/06/23(火) 18:47:13 ]
private void button1_Click(object sender, EventArgs e)
{
webBrowser1.Url = textBox1.Text;
}

エラー 1 型 'string' を型 'System.Uri' に暗黙的に変換できません。

webBrouserのURLプロパティに文字列を渡したいのですがどうすればできますか?

921 名前:デフォルトの名無しさん mailto:sage [2009/06/23(火) 18:49:35 ]
できません

922 名前:デフォルトの名無しさん mailto:sage [2009/06/23(火) 18:52:30 ]
string型をUri型に変換するメソッドを使うよ
webBrowser1.Url = New Uri(textBox1.Text);

923 名前:デフォルトの名無しさん mailto:sage [2009/06/23(火) 19:01:04 ]
>>919
何さらっと嘘書いてんだっ

924 名前:デフォルトの名無しさん mailto:sage [2009/06/23(火) 19:11:56 ]
webBrowser1.Navigateでできました。
かなり前に使ったときは別の方法を取ったのですが…

もうひとつ質問なのですがJaneの板一覧とスレ欄の間にある移動可能な敷居?はなんという名前でしょうか?

925 名前:デフォルトの名無しさん mailto:sage [2009/06/23(火) 19:15:12 ]
JaneはWinFormじゃないから同列には論じられないけどな
.NET 2.0のWinFormならSplitContainer

926 名前:デフォルトの名無しさん mailto:sage [2009/06/23(火) 19:18:09 ]
>>925
ありがとう

927 名前:デフォルトの名無しさん mailto:sage [2009/06/23(火) 23:35:14 ]
3週間経たずに埋まってしまいそうだな

928 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 00:33:30 ]
LINQでfromが複数ある場合の挙動ってどうなるんでしょう。
情報を調べても見つけれず、実際の動作調べてはみたものの、
状況次第で動作が変わっているようなのでちょっとキモチワルイです。

 var src = { "Hoge", "Hage", "Huge" };
 var dist1 =
   from p in src
   from q in src // pから取得した値以外をqの情報源にすると...
   select new { P=p, Q=q }; // {Hoge,Hage,Huge}x{Hoge,Hage,Huge} 全組み合わせ9通りに展開される
 var dist2 =
   from p in src
   from q in p // pから取得した値をqの情報源にすると...
   select q; // 全pの中の全qの数だけ展開される。つまりH,o,g,e,H,a,g,e,H,u,g,eの12個
        // {H,o,g,e,H,a,g,e,H,u,g,e} x {Hoge,Hage,Huge}の全組み合わせ36通りにはならない



929 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 00:46:24 ]
それぞれfrom...inの代わりにforeachで列挙してみれば分かると思うよ

930 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 00:48:02 ]
>>929
あぁ、なるほど、納得です。ありがとうございます。






[ 続きを読む ] / [ 携帯版 ]

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

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