08/08/23 17:44:14
(#゚ー゚)つ < C#、.NETの話題はこちらでどうぞ。
c++厨の嵐はスルー汁。
前スレ
[プログラム板] C#, C♯, C#相談室 Part47
スレリンク(tech板)
その他テンプレ>>2-5くらい
2:デフォルトの名無しさん
08/08/23 17:45:00
Visual C# 2005 Express Edition 日本語版
URLリンク(www.microsoft.com)
ふらっとC#,C♯,C#(初心者用) Part30
スレリンク(tech板)
MSDN2
URLリンク(msdn2.microsoft.com)
pinvoke.net: the interop wiki!
URLリンク(pinvoke.net)
3:デフォルトの名無しさん
08/08/23 17:45:47
@IT Insider.NET
URLリンク(www.atmarkit.co.jp)
Insider.NET 会議室 ディレクトリ
URLリンク(www.atmarkit.co.jp)
宇宙仮面の C# プログラミング / C# Programming
URLリンク(ukamen.hp.infoseek.co.jp)
WisdomSoft C#入門
URLリンク(wisdom.sakura.ne.jp)
WisdomSoft Microsoft .NET入門
URLリンク(black.sakura.ne.jp)
どっとねっとふぁん
URLリンク(dotnetfan.org)
緑のバイク 初めてのC# ~ 覚え書き ~
URLリンク(homepage3.nifty.com)
どぼん!の .NET Tips
URLリンク(dobon.net)
4:デフォルトの名無しさん
08/08/23 18:21:38
新スレぬるぽ
5:デフォルトの名無しさん
08/08/23 18:41:05
自分からテスト専門です、って宣言してる派遣テスターって何なの?
将来プログラマとかSEになりたい、とかならわかるけど。
向上心ないよね、頑固だし。
そういう派遣テスターって、仕様書は読めない、
テスト仕様書も作れない、テストプログラムも作れない
やれることは「テキトーにプログラムを触る」ことだけ。
俺は派遣プだけどさ、こういう派遣テスターがいると
派遣全体がバカにされるんだよ。
テスト専門派遣なんて氏んで欲しいよ、まったく。
今日も正社員の人が派遣テスターに仕様書を読んで
テスト仕様書を作ってください、って説教してたよ。
その派遣は頑固に「何故、仕様書が必要なんですか?」って
反論してたから、きっとテスト専門派遣テスターだな。
仕様書も読まず、テスト仕様書も作らず、ただテキトーに
プログラム触るだけで給料もらおうなんて頭おかしいんじゃねーの?
あ~あ、あの派遣テスターが3ヵ月後に切られるまで、
仕様書も読まねーでテキトーにテストしたバグ票がまわってくんのかよ。
そんな糞なもん、読んで処理する派遣プの身にもなってくれよ。
うわ~、しかもそいつが切られる3ヵ月以内に中間納品あるじゃねーか!
テスト仕様書もなしにテキトーにテストして納品か。
中間納品後にソッコウクレームでデスマ必至だな。俺の休みも返上かよ。
派遣専門テスターさんよ、少しは向上心持てよ!
頑固な性格直して仕様書読めよ!テスト仕様書作れよ!
6:デフォルトの名無しさん
08/08/23 19:41:52
>>5
このコピペ見飽きた。
張ってるヤシって何を主張したいの?
バカなの?
7:デフォルトの名無しさん
08/08/23 19:42:03
IEnumerable<IGrouping<TKey,TValue>>において、
キーが重複するグループが存在する場合、グループをまとめるには
どうすればよいでしょうか?
{{A:{1,2,3}, B:{1,2}, B:{3}} → {A:(1,2,3), B:(1,2,3)}としたいです。
8:デフォルトの名無しさん
08/08/23 19:42:27
そうやって相手をしてくれる人を待ってるんだよ
9:7
08/08/23 19:46:09
バカなことを書きました。自己解決しました。
眠くて頭おかしくなってたみたいです。
10:デフォルトの名無しさん
08/08/23 19:55:36
>>6
最近、素人派遣テスターが増えてるのと関係あるのかもね
増えてる理由は知らんが
11:7
08/08/23 20:44:47
一応解決策を貼っておきます。これって非効率な気がするんですが、
もっとまともな方法はないでしょうか?
IEnumerable<IGrouping<TKey,TValue>> groups;
groups = groups.SelectMany(
g => g.Select(
v => new KeyValuePair<TKey, TValue>(g.Key, v))).GroupBy(
kvp => kvp.Key, kvp => kvp.Value));
12:デフォルトの名無しさん
08/08/23 20:45:05
前スレ>>996
ユーザーにプログラムを配布して実行させる場合、そのユーザーが
鍵にアクセスできなければならない。OSで保護されているのは外からの
攻撃に対してであって、ユーザーが悪意を持っていた場合は防げない。
前スレのようなデコンパイルして中身をみちゃう人に対してはDPAPIは
無力ではないのか
13:7
08/08/23 20:55:42
>>12
デコンパイルでソース見るってよりメモリをみなきゃ無理なような。
俺の今日のべんきょー成果によると、DPAPIならソースみても
ProtectedData.Protect((byte[])pass, null,DataProtectionScope.CurrentUser)
とかでしょ?
ちなみに今回の元ネタのはソース覗くとガチで
string encryptedPass = Tools.Encrypt(rawPass, "asdfgh");
↑こんな感じでした
14:デフォルトの名無しさん
08/08/23 20:55:51
それはそうだ。
それはどんな技術使っても基本的に同じだよな。
最初に出てきたパスワードとかの場合、普通は
ぱっと見ても分からない、他人(リグインできる本人以外)には解読できない、
そのデータが流出しても解読できない
この辺りだからな。
15:デフォルトの名無しさん
08/08/23 20:57:47
>>14は>>12に対して。
>>13
>俺の今日のべんきょー成果によると、DPAPIならソースみても
>ProtectedData.Protect((byte[])pass, null,DataProtectionScope.CurrentUser)
>とかでしょ?
それで十分だろ(本人ならそれで解読可能)
16:デフォルトの名無しさん
08/08/23 21:00:48
おっと、>>13の言いたいことをちょっと勘違いしてた気がする。
ソースを見られてもそれで何かが分かるわけじゃないってことだな。
DPAPIは目的上それで十分(本人は解読できても)。
17:7
08/08/23 21:02:11
>>15
え?どうやって解読するんでしょうか?DPAPIを呼ぶアプリによって秘密鍵
がかわるのだから、同じコードを別のアセンブリで実行しても復号失敗なんでは?
18:デフォルトの名無しさん
08/08/23 21:05:12
多分>>12はそのアプリ自体が隠したい情報をどうやって隠すかって話をしてる。
それは今回のパスワードを保存する話とは全く異なる。
ライセンスキーを暗号化するのにこうやってた、とかならそういう話だが。
19:デフォルトの名無しさん
08/08/23 21:07:21
>>17
>>16
>DPAPIを呼ぶアプリによって秘密鍵がかわるのだから
それは違うっていうか同一プロセスのみってのも別にあるが、ProtectedDataはちがう。
20:デフォルトの名無しさん
08/08/23 21:10:53
ついでに、同一プロセスのみってのは本当に同一プロセスのみで、再起動したらもう復元できない。
同一アプリ(アセンブリ)のみ復号可能なんてのは、ない。
21:デフォルトの名無しさん
08/08/23 21:17:09
同一アセンブリのみ復号可能っていいな。できないもんかな。
22:デフォルトの名無しさん
08/08/23 21:17:19
>>19>>20
すみません。壮絶にボケてました。ユーザーアカウントでの防護ですね。
23:デフォルトの名無しさん
08/08/24 15:21:04
string型から指定したバイト数だけ切り出すうまいやりかたないですかね
たとえば "ああああああああ" をShift_JISで5バイト以内で切り出したりしたいのですが、
string s = "ああああああああ";
int i = 0
byte[] bytes;
do
{
bytes = Encoding.GetEncoding("shift-jis").GetBytes(s.ToCharArray(0, s.Length - i));
i++;
} while (bytes.Length < 5);
のような効率の悪い方法しか思いつきません…
24:デフォルトの名無しさん
08/08/24 15:37:52
>>23
スタートを2文字(5 % 2)から増やすとか、
5文字から減らしてゆくとか多少の改善方法はあるが基本はその方法で正解だろう。
荒っぽい方法だと、
charに分解して16ビット中上位8ビットが0ならばシングルバイトとみなす。
Shift_JISへの変換は1回にして先頭バイトから漢字1バイト目判定を使って5バイトが何文字か調べる。
25:デフォルトの名無しさん
08/08/24 15:42:57
>>23
char二つで一文字というのもあるので、StringInfoを使って切り出したほうがいいかもしれない。
26:デフォルトの名無しさん
08/08/24 15:49:05
Shift_JISに変換できない文字が混じってるパタンは考えなくてもいいじゃね
27:デフォルトの名無しさん
08/08/24 15:52:37
どうしても効率気になるんなら Encoding じゃなく Encoder 直接使え
28:デフォルトの名無しさん
08/08/24 16:59:41
一括で全部sjisに変換して、5バイト目が全角の一バイト目だったら前から4バイトとって、それ以外だったら5バイト取るって
方法でもいいかもしれない。
全角の1バイト目かどうかの判定はググればすぐ見つかるだろうし。
まあ、でも、文字コードかんけいはゴチャゴチャしてるんで、自分で書かないで、標準のライブラリを使ったほうが安心だけど。
29:デフォルトの名無しさん
08/08/24 17:32:23
>>28
シフトJIS1バイト目で使われるコードは2バイト目に現れることもある。
判定は文字列の先頭からたどっていかないと誤作動する。
30:デフォルトの名無しさん
08/08/24 19:25:29
表\示ですねわかります
31:デフォルトの名無しさん
08/08/25 00:36:43
>>30
気持ち悪い奴。精神分析の対象としか思えない。
こういう奴ってひょっとして自分のアイデンティティがリアルで「2チャンネラ」
だったりするのかね。
何が面白いのか常人には理解不能な「2ch的言い回し」を爺の繰言よろしく
オウム返しすれば「これで俺もいっぱしの2チャンネラだぜ」なんて嬉しくなっちゃう
幸せな奴なんかね。
32:デフォルトの名無しさん
08/08/25 00:40:14
>>31
気持ち悪い奴。精神分析の対象としか思えない。
こういう奴ってひょっとして自分のアイデンティティがリアルで「2チャンネラ」
だったりするのかね。
何が面白いのか常人には理解不能な「2ch的言い回し」を爺の繰言よろしく
オウム返しすれば「これで俺もいっぱしの2チャンネラだぜ」なんて嬉しくなっちゃう
幸せな奴なんかね。
33:デフォルトの名無しさん
08/08/25 00:44:07
わかるって言うてんから、エスパーちゃう?
34:デフォルトの名無しさん
08/08/25 00:47:08
伊東ですね。わかります。
35:デフォルトの名無しさん
08/08/25 00:51:47
いや、つまんないから。
36:デフォルトの名無しさん
08/08/25 00:55:20
そもそも面白くする必要ねーし
37:デフォルトの名無しさん
08/08/25 01:10:56
いや、つまんないから。
38:デフォルトの名無しさん
08/08/25 01:16:45
・・・はやくたてろ・・・うるさい・・・
おれ・・・もうめるじかん・・・うるさい・・・
そんあこといって・・・そのままこぴーする・・・わけがまい・・・
パンツがこだわりじゃねーんすよ
パンツからもれることがまったく問題ないすわ
マッカーサーウンコのニュータイプだけ・・・もれる・・・
ウンコはスレ違いですわ・・・おまえ・・・
個人情報の漏洩ですわ・・・もれてるの・・・もう・・・
まっきいろ・・・ぱんつ・・・ちゃいろ・・・
まだ、クローン人間が実践配備されてないとしても、将来的には危険なんす
Do You Understand?
マッカーサーパンツはいてねーす大丈夫なんて思ってねーでしょうな
はいてても・・・もれるんだから・・・どうせ・・・
あっしだってパンツはかないと大丈夫と思いたいが、しかし、
はかない・・・でも・・・うんこはもれたらおちる・・・おれ・・・もらした・・・わかる
せんぱいだって・・・ぱんつのなかにもらした・・・おれはゆかにもらした・・・
ちがいなんて・・・それぐらい・・・
パンツをはかなければ、ズボンがチンコと密着する
ウンコも漏洩するかがNothingですわ
つまり、今度はズボンからDNAが漏洩するんじゃねーすか
もうニュータイプがどうこうのじゃねーす、みんなですわ
パンツは洗わないと捨てるなってのが自己防衛すわ
ウンコは論点があまりにオールドタイプですのですれ違いでFAす
学歴も大切ですわ、しかしここは2CHなんすわ
学歴より・・・もらない・・・
つまり、学歴がない人間が光を当たるようにしてやる必要がありやす
今度こそきちんとニュータイプが議論しあいやしょう!
スレリンク(x3板)l50
39:デフォルトの名無しさん
08/08/25 01:42:31
いや、つまんないから。
40:デフォルトの名無しさん
08/08/25 01:54:16
で、そのウンチはどれほどクサイんだ?
41:デフォルトの名無しさん
08/08/25 02:17:35
いや、つまんないから。
42:デフォルトの名無しさん
08/08/25 21:33:18
C#クックブック第3版買いまちた。
43:デフォルトの名無しさん
08/08/25 22:00:43
ウンチだって臭くないのもあるわけでして・・・
44:デフォルトの名無しさん
08/08/25 22:24:53
ようこそここへ、クッククック
45:デフォルトの名無しさん
08/08/25 22:32:43
なんというクソスレ
46:デフォルトの名無しさん
08/08/25 22:49:46
俺の話は無視かよ
47:デフォルトの名無しさん
08/08/25 23:22:35
いや、つまんないから。
48:デフォルトの名無しさん
08/08/26 00:18:13
ウンチブック第3番を買ったの?
49:デフォルトの名無しさん
08/08/26 00:36:11
いや、つまんないから。
50:デフォルトの名無しさん
08/08/26 00:56:14
便が詰まって困ってるんです
51:デフォルトの名無しさん
08/08/26 01:08:34
集合血といいクックブックといい自分が買った洋書はいつも翻訳されます(´・ω・`)
52:デフォルトの名無しさん
08/08/26 01:14:03
いや、つまんないから。
53:デフォルトの名無しさん
08/08/26 01:22:04
>>51
洋書を買いまくってくれ。
54:デフォルトの名無しさん
08/08/26 15:25:07
>>42
自分も今日あたり家に着いてるはず
他とまとめて通販しちまった
55:デフォルトの名無しさん
08/08/26 16:59:50
CUT SYSTEM のC#システムプログラミングとかいうの、
ちょうど俺の知識が抜けてるとこがてんこ盛りにかかれてて
結構理解しやすそうだったから、買いたいんだけど、5800¥だよ。。
なんで、プログラムの本ってこんなに高いんだよ。
家賃払って飯食ったら金なんて余らんよ。普通。
56:デフォルトの名無しさん
08/08/26 17:02:41
URLリンク(www.cutt.co.jp)
これか。
この内容じゃ、売れる数考えたらどうしても割高になっちゃうだろうなあ。
57:デフォルトの名無しさん
08/08/26 17:17:34
読みたい専門書を色々買ってると、毎月の本代が万単位になって俺涙目。
58:デフォルトの名無しさん
08/08/26 17:17:59
>>42
旧版 古本で探せば 安く買えるかも
#自分は両方積んでるw
59:デフォルトの名無しさん
08/08/26 17:28:52
>>55
これ持ってるよ。
ほかの本2冊我慢しても買うべき。
お勧め。
しかし高いね~。ガソリンが10円くらい下げてくれると助かる。
60:デフォルトの名無しさん
08/08/26 17:30:14
URLリンク(momoneko1.sakura.ne.jp)
書き込み規制てすと
61:デフォルトの名無しさん
08/08/26 17:31:54
書けた…スレッド整理されてうまく繋がってない
スレがあるとか?何か良くわからん
62:デフォルトの名無しさん
08/08/26 17:35:11
何の騒ぎか知らんが、板別規制でもされてるんじゃないか?
規制情報でも見て来い。
あと、そのtest.txtって何だよwww
63:デフォルトの名無しさん
08/08/26 17:45:52
>>62
dannmaku-po. I'll go to operate-board.
thx
64:デフォルトの名無しさん
08/08/26 18:24:30
いや。キモイからw
65:デフォルトの名無しさん
08/08/26 19:09:19
弾幕スクリプト・・ってC#関係ねぇw
66:デフォルトの名無しさん
08/08/26 19:13:46
>>56
面白そうだ
図書館で借りよう
67:デフォルトの名無しさん
08/08/26 19:52:36
なんでBindingSourceにはCurrentChanging(object sender, CancelEventArgs e)がないんじゃー!!!
68:デフォルトの名無しさん
08/08/27 19:37:29
ASP.NETの3.5で、ListViewのEditコマンドを使用するときに、
クリックしたレコードにカラム分のテキストボックスを表示するのが一般的ですが、
動的にいくつかのテキストボックスをReadOnlyにして表示したいのです。
ItemEditingのメソッド内で、FindControlを使用して該当テキストボックスを取得、
プロパティを読み取り専用に変更しようと思ったのですが、
どうやらFindControlで更新用テキストボックスが取得できないようです。
ListViewの<EditItemTemplate>以下で定義しているコントロールは、
ItemEditingイベントメソッドで動的に変更できないモノなのでしょうか‥‥?
69:デフォルトの名無しさん
08/08/27 22:13:12
VS2005のC#を使っています。
DataGridViewを使って50000行×10列の一覧を表示したいと思っており
ます。それぞれのCellには10文字程度でString値が入ります。
必要なデータをディスクから読み出し、DataGridViewRowを50000用意し、
DataGridViewにそれらのRowを入れて、実現しました。
結果、表示には5秒程度(XP, Core2 Duo 約2.3GHz)かかり、これはまだ
我慢できるのですが、ColumnHeaderを押すことによるソートが
10分ほどかかります。
おそらくデータの内容などにもよると思いますが、上記のデータリスト
をGUIに表示する場合、どのような方法がベターなのでしょうか?
教えていただけたら幸いです。
70:デフォルトの名無しさん
08/08/27 22:19:49
仮想モード(VirtualMode)を使う。
実装方法に関しては先例が幾つもあるのでググレ
71:69
08/08/27 22:26:18
>70
ありがとうございます。仮想モードですね。初めてその言葉を
聞きました。調べてみます。
72:デフォルトの名無しさん
08/08/27 22:46:23
約2.3GHzがネック
73:デフォルトの名無しさん
08/08/27 23:08:38
てーかDGV使わないでソートしたらどれくらいかかるんだ?
74:デフォルトの名無しさん
08/08/28 07:26:05
>>72
あほか
75:デフォルトの名無しさん
08/08/29 00:46:52
VisualStuidoのエクスプローラやプロパティウインドウの
インタフェースみたいに
フォームのの任意の場所にドッキングできたり
押しピンボタンを備えたコントロールって
あらかじめ用意されていますでしょうか?
あるならどうやって使えばいいのか
ヒントだけでも教えていただけませんでしょうか
76:デフォルトの名無しさん
08/08/29 00:50:11
ないよ
77:デフォルトの名無しさん
08/08/29 10:00:16
いずれ追加されるかもな。
今のMFCはあるしな。
78:デフォルトの名無しさん
08/08/29 12:38:35
やっぱないですか.
ありがとうです
79:デフォルトの名無しさん
08/08/29 14:38:53
コレクションの中身に検索でアクセスしたい時と、
入れた時の順番に全部をListとして取り出したい時の
2つの出力が可能なデータ構造が欲しいのです。
ということで、Dictionaryを使った場合には、
入れるときに工夫すれば、前者はKeyでアクセスできますよね。
問題は後者なんですが、Dictionary.Valuesで返ってくる値は、
Listみたいに入れた時の順序が保障されているのでしょうか?
80:デフォルトの名無しさん
08/08/29 14:51:21
SortedDictionaryでなくて?
81:デフォルトの名無しさん
08/08/29 15:01:34
>>80
ソートされるから入れた順にならないな
KeyedCollection/KeyedByTypeCollectionとか
82:デフォルトの名無しさん
08/08/29 15:24:06
こんなの?
List<Dictionary<string, string>>
83:デフォルトの名無しさん
08/08/29 15:24:58
それは・・・w
84:デフォルトの名無しさん
08/08/29 15:42:11
List<ClassA>はAddした順番が保持されますよね?
Dictionary<string, ClassA>へ同じ順番でAddした時、
List<ClassA> lst = dic.Values;
として得られるlstの内容は1行目のList<ClassA>と同じ内容なのでしょうか?
ちょっと試してみたところ、同じっぽいのですが‥‥
85:デフォルトの名無しさん
08/08/29 15:44:47
Dictionaryのなかみはハッシュテーブルだから構造上そんなことは保証できない。
86:デフォルトの名無しさん
08/08/29 15:45:15
順番に関してはMSDNの解説読め
87:デフォルトの名無しさん
08/08/29 15:51:17
OrderedDictionaryとかそれっぽいけど
88:デフォルトの名無しさん
08/08/29 15:51:32
だって、MSDN読んだら、Valuesの順番はKeysの順番と同じで、
Keysの順番はValuesの順番と同じだって書いてあるし‥‥。
89:デフォルトの名無しさん
08/08/29 15:54:57
>>87
どうも有り難うございます。そんなのがあったとは‥‥
ジェネリックじゃないですけれど、それっぽいですね。
そして、それがわざわざあるということは、
Dictionary<>では保障されないっぽいですね‥‥。
90:デフォルトの名無しさん
08/08/29 15:56:55
81ガン無視?
91:デフォルトの名無しさん
08/08/29 16:02:02
>>90
すみません、今、ググってみました。
どうも有り難うございます。
えぇ?なんか違うような‥‥。
最初の質問が悪かったですよね。
面白いものを教えてもらって、ありがとうございます。
92:デフォルトの名無しさん
08/08/29 16:07:17
淋しがり屋の>>81
93:デフォルトの名無しさん
08/08/29 21:48:14
81カワユス
94:デフォルトの名無しさん
08/08/29 21:58:18
ハッシュテーブルも知らずにプログラムかけているとはすごいな
自分が何してるのかほとんどわからん状態だろうに
95:デフォルトの名無しさん
08/08/29 22:52:37
趣味でやる分には全く問題ないけど。
96:デフォルトの名無しさん
08/08/29 23:13:03
フリーソフトとか作るんじゃねーぞ
使う側が迷惑する
97:デフォルトの名無しさん
08/08/29 23:18:44
HASHテーブルが云々で迷惑すかw
そういう貴方こそプログラムを書くだけじゃなくて
ソフトちゃんと「創れて」ますか?
言語に振り回されてコードでオナニー、できたものは
処理はすごいが実装いまいちとかよくあるはなし。
98:デフォルトの名無しさん
08/08/29 23:19:33
フリーソフトをいまどき作って公開するなんてマゾにしか思えん。
99:デフォルトの名無しさん
08/08/29 23:21:51
フリーじゃないなら、金取るの?
100:デフォルトの名無しさん
08/08/29 23:22:46
>>97
そういうのはふらっとでどうぞ
101:デフォルトの名無しさん
08/08/29 23:31:17
C#で作られたソフトを使いたいって人いなくね?
102:デフォルトの名無しさん
08/08/29 23:37:42
そんな事を考えながらソフト使う馬鹿がどこにいる
お前くらいか?
103:デフォルトの名無しさん
08/08/29 23:37:51
いや、それは偏見。
104:デフォルトの名無しさん
08/08/29 23:38:45
.NETだから嫌とかいうやついるが、あれはレジストリ触られるから嫌とかと同じレベルのアレルギーだろ。
105:デフォルトの名無しさん
08/08/29 23:40:10
.NETで書かれた、CGグラフィックソフトがあるか?
106:デフォルトの名無しさん
08/08/29 23:42:18
PAINT.NETって何でつくられてるんだろう
107:デフォルトの名無しさん
08/08/29 23:45:08
.NET Frameworkが必要だから.NETで作ってるんだろうな
108:デフォルトの名無しさん
08/08/29 23:47:07
いまだにレジストリいやがるやつがいるな。
109:デフォルトの名無しさん
08/08/29 23:47:32
C#で作ったとは限らないが?
110:デフォルトの名無しさん
08/08/29 23:49:17
どうしてそんなつっこみになるんだ
111:デフォルトの名無しさん
08/08/29 23:49:27
金取るなら自分で作るよ。お前ごときが作るのなんてバグも多いしそんな糞はいらんな。
112:デフォルトの名無しさん
08/08/29 23:50:03
PAINT.NETを使ったるひとがいるか?
113:デフォルトの名無しさん
08/08/29 23:50:46
地味に使ってるよ俺は
114:デフォルトの名無しさん
08/08/29 23:50:52
使ってるが、なにか?
115:デフォルトの名無しさん
08/08/29 23:51:24
俺使ったる(?)んだけど
C#で自作プラグインとか書けて重宝してる。
116:デフォルトの名無しさん
08/08/30 00:05:30
何が聞きたかったんだろう
117:デフォルトの名無しさん
08/08/30 00:17:17
それならカッコつけてCの系列じゃなくて、VB(とかJScript)でサクッと作っちゃえばいいんじゃんか!
118:デフォルトの名無しさん
08/08/30 00:19:30
なにを?
Cの系列って何のこと?
119:デフォルトの名無しさん
08/08/30 00:22:03
>>117みたいなレスを見ると普及し始めてるのかなぁと思う。
120:デフォルトの名無しさん
08/08/30 00:31:02
Cの系列といえば、次はDじゃん!D言語なんてかっちょいい響きじゃんか!
121:デフォルトの名無しさん
08/08/30 00:38:49
ぶっちゃけVBとC#の差って如何程も無いんじゃないかと思ってるんだがどうなんだ?
122:デフォルトの名無しさん
08/08/30 00:41:08
>>117
どちらかというとCよりJavaの血統で、
もろjavascript臭くなってきてるやん>C#
123:デフォルトの名無しさん
08/08/30 00:41:54
Reflector使えばVBだのC#だの言うのが馬鹿らしくなるよ
124:デフォルトの名無しさん
08/08/30 00:43:13
VB.NETのほうが便利なクラスがあったり、
インテリセンスが優秀(候補リストをグループ化できるぽい)だったりで
ときたま羨ましくなる。
125:デフォルトの名無しさん
08/08/30 00:47:37
>>122
ecmascriptはecmascriptでジェネリックとか追加されててホント臭い言語になりつつあるよ。
126:デフォルトの名無しさん
08/08/30 00:52:45
ActionScript 3.0 なんかパッと見 Java か C# かって感じだもんね
あれにはげんなりした
127:デフォルトの名無しさん
08/08/30 00:57:53
みんな、それでもC#を使う理由は何?
やっぱ俺は開発環境の最強っぷりだと思う。たぶんそれに関しては敵なし。
128:デフォルトの名無しさん
08/08/30 01:00:03
>>125
ecmascriptのジェネリックは死滅しました。
URLリンク(steps.dodgson.org)
129:デフォルトの名無しさん
08/08/30 01:29:37
>>128
つまらんなー
130:デフォルトの名無しさん
08/08/30 01:44:21
>>127
VB はなんか感覚的にあわん。仕事でやれといわれればやるけどさ…
ネイティブ(C, C++)相手の比較なら「イマドキ」の環境、言語で
生産性、保守性とかが別次元の癖に相互運用機能がやばすぎて
ほとんどなんでも出来る点だろうよ。
Web なサービスさくっとみたいな上位な話と OS のコアな機能ゴリゴリ
みたいな低レベル処理とかが同居とかなかなかありえんよまじで
131:デフォルトの名無しさん
08/08/30 02:06:58
Excelのセルに
=hogehoge()
として、C#を呼び出したく思い
Excelアドインを作ろうとしていますが、参考になるhPありますか?
132:デフォルトの名無しさん
08/08/30 02:16:51
そのゴリゴリとサクットは逆じゃないの?
Webはhtmlとかjspとかxmlとかjsとかゴリゴリじゃんw
133:デフォルトの名無しさん
08/08/30 06:56:04
VB.netでも良いけどなんとなくC#の方が自己満足感があるというか
なんかかっこいいから。
134:デフォルトの名無しさん
08/08/30 08:22:23
C#で作ったコンソールアプリ(実行ファイル)のクラスのメソッドを
別C#プログラムから呼び出したいんですけど方法ありますでしょうか?
135:デフォルトの名無しさん
08/08/30 08:27:09
CreateProcess
136:134
08/08/30 08:46:01
実行ファイルの中の特定のクラスの特定のメソッドなんですけど、
CreateProcessって実行ファイルを起動するだけですよね?
137:デフォルトの名無しさん
08/08/30 10:35:52
普通に参照して普通に呼ぶだけ
138:デフォルトの名無しさん
08/08/30 11:53:50
>>121
自分もそう思う .NET Framework系のPGの資料が多いから触ってる感じ>C#
構文的にはC#の方が好きだけど(ちょっとだけJAVAなんで、なじみやすい)
ただ 親クラスのコンストラクターの呼び方が・嫌・かも
ExcelたたくのはVBの方が楽だよね
139:デフォルトの名無しさん
08/08/30 12:54:21
BackgroundWorkerで別スレッドを立ち上げて、
そこでForm.Refresh() や StatusBar.Visible を変更したりすると、
InvalidOperationException が発生するんですが、
別スレッドからコントロールを操作するにはどうすればいいんでしょうか?
140:デフォルトの名無しさん
08/08/30 13:09:25
InvokeRequired で調べろ
141:デフォルトの名無しさん
08/08/30 13:29:12
>>140
できました。どうもありがとう。
142:デフォルトの名無しさん
08/08/30 20:01:02
>>136
リフレクション
143:デフォルトの名無しさん
08/08/30 21:13:45
>>142
おぉ!ありがとうございます。目的のAPIみたいなんで試してみます!
144:デフォルトの名無しさん
08/08/30 21:22:51
いやリフレクション使わなくてもそのexeをdllと同じように参照設定に入れれば使えるよ
型のアクセスレベルをpublicにしないといけないので注意
145:デフォルトの名無しさん
08/08/30 21:24:53
リモーティングの話しかと思ったよ
146:デフォルトの名無しさん
08/08/30 21:50:32
>>144
publicにしたら出来ました!ありがとう!
ただ自分が探しいたのはリフレクション(まだ使用してないですけど)っぽいので、こっちを使用してみたいと思います。
ありがとうございました!
147:デフォルトの名無しさん
08/08/31 03:12:19
以前にPart45をIEで保存したのですが、
その時保存したフォルダに作成されるC#, C♯, C#相談室 Part45.files
フォルダにグロ画像が入っていました。
Part45の368にグロ画像のリンクがあり、
ファイル名が同じなので恐らくこの画像だと思うのですが、
この画像を表示して保存した覚えはありません。
IEでスレを保存すると、リンク先の画像も保存されてしまうのでしょうか。
148:デフォルトの名無しさん
08/08/31 03:49:46
C#と全く関係ないな。
149:デフォルトの名無しさん
08/08/31 03:54:03
>>148
ごめんなさい。私もそう思ったのですが、あまりの恐怖でつい。
これって普通のことなのでしょうか。
150:デフォルトの名無しさん
08/08/31 03:56:43
板違いです
151:デフォルトの名無しさん
08/08/31 03:58:38
あまりの恐怖に吹いた
リンク先の画像を保存するくらいはやるような気がするが
まあ板違いだな
152:デフォルトの名無しさん
08/08/31 07:01:32
>>149
IEは普通リンク先の画像までは保存しない
オカルト的なことは信じたくないがその画像が入っていたことは事実だし
何か特別な怨念の力が働いたのかもしれない
これからの生活には気をつけたほうがいい
ぜんぜん関係ないときにそのグロ画像が突然現れたりするかもしれない
153:デフォルトの名無しさん
08/08/31 08:29:35
お気に入りに追加で、オフラインで使用するを選択してリンク先を保存したんじゃないの?
154:デフォルトの名無しさん
08/08/31 13:22:59
ローカルに保存する事なんて滅多にないから忘れてたけど、そういやそんな機能もあったな。
155:デフォルトの名無しさん
08/08/31 14:42:21
2chのアンカーは直リンクじゃないと思うんだけど。
っていうか普通mhtで保存しないの?
Outlook Expressをアンインストールでもしてなきゃmhtでいいと思うんだけど。
Vistaからはmhtがデフォになったようだし。
156:147
08/09/01 02:54:55
完全に板違い、すれ違いでした。
スルーして下さい。申し訳ありません。
157:デフォルトの名無しさん
08/09/01 03:07:34
スレはあってるけどなw
158:デフォルトの名無しさん
08/09/01 03:14:07
あってないよ。
159:デフォルトの名無しさん
08/09/01 03:35:37
C#, C♯, C#相談室 というスレがあってるw
160:デフォルトの名無しさん
08/09/01 13:12:27
DevComponentsのDotNetBarの、
ローカライズの仕方教えてください><
非常に英語が苦手なんです。。。
161:デフォルトの名無しさん
08/09/01 15:15:24
ぐーれかす
162:デフォルトの名無しさん
08/09/01 15:37:16
ローカライズの仕方わかりました。
163:デフォルトの名無しさん
08/09/01 20:16:32
コンパイルが通らない恐怖
どこかで誰かが捕捉してない例外を投げちゃう恐怖
164:デフォルトの名無しさん
08/09/01 21:22:41
どこかで誰かが例外を握りつぶしちゃうよりはましな件
165:デフォルトの名無しさん
08/09/02 06:22:40
いわゆるウィザード画面を作ってるんですが、画面切り替え方法で迷ってます。
panel固定で、中のコントロールだけremove-newするか、
毎回panelごとremove-newするか、
どっちが良いのでしょうか?
自分的には、後者のほうが楽なんですが、ゴミ増えたりしますか?
166:デフォルトの名無しさん
08/09/02 08:59:44
タブコントロール貼り付けろ
167:デフォルトの名無しさん
08/09/02 09:48:34
タブとか枠とかが見えてるのがマズイんですよ、ビジュアル的に。
168:デフォルトの名無しさん
08/09/02 09:49:31
枠もタブも消せるだろうがアホ
169:デフォルトの名無しさん
08/09/02 10:08:20
昼休みに外に出たら、ペットの子豚が飼い主と道路をトコトコ散歩していると、なんか生意気だから蹴飛ばしたくなるよな
170:デフォルトの名無しさん
08/09/02 10:42:14
消し方分からんからいっとるんじゃかす
171:デフォルトの名無しさん
08/09/02 10:44:45
去ねゴミ
172:デフォルトの名無しさん
08/09/02 10:50:22
VBだと簡単なのに…なんでカッコつけたがるんだろう……ダサw
173:デフォルトの名無しさん
08/09/02 10:52:35
そりゃC#はC系統の言語だからです。
Lispよりは括弧少ないので許してください。
174:デフォルトの名無しさん
08/09/02 11:44:03
カッコあったほうが絶対便利だよな?
175:デフォルトの名無しさん
08/09/02 12:32:58
VBは継続行のアンダーバーが見苦しい。
カスタム属性を指定するとたいてい継続になるからあれだ。
176:デフォルトの名無しさん
08/09/02 12:56:41
あとはC#と同等の機能を実装するために新キーワードやら特殊メソッドやらが氾濫している印象だな。
どんどん冗長になっていく。あれは気持ち悪い
177:デフォルトの名無しさん
08/09/02 13:08:31
誰に話しかけてんだ?
おまえの方が気持ち悪いんだけどw
178:デフォルトの名無しさん
08/09/02 16:49:17
>>176
VB6の頃ならVBは簡単さが売りだったわけだけど、今はC#と大差ないよな
パフォーマンスと引き換えにシンプル簡単路線で行けばいいのに、
無理してジェネリックとか導入するからどっちつかずのキモイ言語になっちゃうんだよ
179:デフォルトの名無しさん
08/09/02 16:51:06
LINQ向けキーワードの追加っぷりだけはちょっと魅力的。
180:デフォルトの名無しさん
08/09/02 17:24:07
文字列から事前定義のクラスのプロパティやメソッドを呼び出すことは可能でしょうか?
例えば、string str1 = "Address"; string str2 = "Hokkaido"; だった場合に、
ClassA.Address = str2というように保存したいのです。
str1の内容で分岐して代入するようなコードを書いておけば良いのですが、
あまりにも数が多いと萎えてしまいます。
クラス名の文字列があればCreateInstance()でクラスのインスタンスが作れるのと同じ感じで、
プロパティやメソッドにも同じようなことはできないのでしょうか?
181:デフォルトの名無しさん
08/09/02 17:24:23
文字列から事前定義のクラスのプロパティやメソッドを呼び出すことは可能でしょうか?
例えば、string str1 = "Address"; string str2 = "Hokkaido"; だった場合に、
ClassA.Address = str2というように保存したいのです。
str1の内容で分岐して代入するようなコードを書いておけば良いのですが、
あまりにも数が多いと萎えてしまいます。
クラス名の文字列があればCreateInstance()でクラスのインスタンスが作れるのと同じ感じで、
プロパティやメソッドにも同じようなことはできないのでしょうか?
182:デフォルトの名無しさん
08/09/02 17:25:38
書き込みに失敗したってエラーが出たのにも関わらず、2連投になってしまいました。
どうもすみません。
183:デフォルトの名無しさん
08/09/02 17:27:44
Dictionaryでいいじゃん
184:デフォルトの名無しさん
08/09/02 17:33:36
なるほど‥‥
ClassAというクラスが、たくさんのパブリックフィールドを持っている形
なのですがClassA自体がDictionaryで書かれていれば確かに‥‥。
ClassAにプロパティやメソッドを追加する程度の変更は出来る気がするのですが、
ClassAをDictionaryにしてしまうと、他のプログラムが動かなくなってしまいます‥‥
185:デフォルトの名無しさん
08/09/02 17:36:37
いやでも、ClassAの方の内部保持をDictionaryにして、
既存部分のためのプロパティで、ラップして対応しておけば良いのですよね。
それが良い気がしてきましたー。
どうも有り難うございます。
186:デフォルトの名無しさん
08/09/02 18:33:01
PropertyInfo.SetValue()でできる
詳しくはWebで
187:デフォルトの名無しさん
08/09/02 19:10:51
そんな瑣末なことにリフレクション使うなんてやめなさい
188:デフォルトの名無しさん
08/09/02 19:16:30
文字列でメンバーにアクセスしたいって人時々いるけど(以前はVBスレで多かった)
いまだになんでそんなことがしたいのかよく理解できないものがある。
javaScript出身のプログラマ(そんな人いるのか?)にありがちな発想って説もあるようだけど、
普通郷に入れば郷に従うよなあ。。
189:デフォルトの名無しさん
08/09/02 19:31:58
不用意にリファクタリングとかすると大変なことになりそうだな……
190:デフォルトの名無しさん
08/09/02 19:51:36
>>186
どうも有り難うございます。さっそく調べてみます。
>>188
ASP.NETのGridViewとかListViewとか、全要素にプロパティが用意された
データアクセスレイヤークラスをやりとりするように設計されているから、
DataSetクラスとか、自前で新しいクラスを作ると、プロパティだらけのクラスで
橋渡ししなくちゃならんことになるのです。
XMLを隠ぺいしたシリアライザブルなクラスでも、全要素にパブリックなプロパティが
必要になるし‥‥
191:デフォルトの名無しさん
08/09/02 22:26:03
部分的にやりたくなることは結構あると思うけどな。
192:デフォルトの名無しさん
08/09/02 22:32:57
C#というか.net frameworkでFFTWを簡単に扱うためのクラスとかありませんか。
193:デフォルトの名無しさん
08/09/02 22:56:47
>>192
URLリンク(www.sdss.jhu.edu)
URLリンク(windale.com)
URLリンク(thorshammer.blog95.fc2.com)
この手のものはサンプルコード的なものがあちこちに転がってると
思うけど。
194:デフォルトの名無しさん
08/09/02 23:42:13
eventなんだけど、複数スレッドからイベントハンドラが登録される可能性があるときは
add/removeを自分で書かいてlockで保護しないとダメ?
195:デフォルトの名無しさん
08/09/02 23:45:19
駄目ではない。
196:デフォルトの名無しさん
08/09/03 00:36:47
できあいのやつはちゃんとスレッドセーフになってるよ
197:デフォルトの名無しさん
08/09/03 08:40:58
196 じゃないがコンパイラの生成コードは add に某属性ついててスレッドセーフぽ
198:デフォルトの名無しさん
08/09/03 14:59:02
>>188
Excelで出力するとき 日付、col位置のhash作ると
DBからひらった日付毎の合計を書き込むとき楽でしょ?
199:デフォルトの名無しさん
08/09/04 14:49:30
WPFのマルチスレッドでUIスレッドへの通知で、下記のようにラムダ式で書くとき
ラムダ式のままじゃ渡せないんでデリゲートを宣言してるんだけど
もっと簡単な書き方ないのかな?
private delegate void HogeFunc(int param);
this.Dispatcher.BeginInvoke(new HogeFunc((param) => {~}));
200:デフォルトの名無しさん
08/09/04 15:04:16
private void BeginInvoke(Func<int> param) {
this.Dispatcher.BeginInvoke(param);
}
this.BeginInvoke(param => { ... });
201:デフォルトの名無しさん
08/09/04 15:08:41
あ、Actionだった。
もう一歩進めると
private void BeginInvoke<T>(Action<T> arg) {
this.Dispatcher.BeginInvoke(arg);
}
this.BeginInvoke(param => { ... }, 6);
202:デフォルトの名無しさん
08/09/04 15:09:56
またミス
private void BeginInvoke<T>(Action<T> action, T arg) {
this.Dispatcher.BeginInvoke(action, arg);
}
203:デフォルトの名無しさん
08/09/04 15:33:26
WPF使ったことないので間違ってるかもしれんが
リファレンスみたところ引数が合ってないみたいだけど?
Dispatcher.BeginInvoke (DispatcherPriority, Delegate)
Dispatcher.BeginInvoke (DispatcherPriority, Delegate, Object)
Dispatcher.BeginInvoke (DispatcherPriority, Delegate, Object, Object[])
204:デフォルトの名無しさん
08/09/04 16:36:50
>>203
MSDNが間違ってるっぽい
205:デフォルトの名無しさん
08/09/04 17:55:44
DispatcherPriority があるのはWPF、ないのはsilverlight2 。なぜか非互換。
silverlight2や両方で互換を取りたい場合はbackgroundworkerが推奨されている。
206:デフォルトの名無しさん
08/09/04 18:41:02
WPFアプリケーションでプロジェクト作って、インテリセンス見てみると
Dispatcher.BeginInvoke (Delegate, Object[])
Dispatcher.BeginInvoke (Delegate, DispatcherPriority, Object[])
なんだけど、これはどっちなんだ?
207:デフォルトの名無しさん
08/09/04 18:48:33
エンターブレイン、ツクール最新作「アクションゲームツクール」を発表、XBOX360/XNAにも対応
URLリンク(news4xbox.blogspot.com)
208:デフォルトの名無しさん
08/09/04 19:00:06
SP1でメンバーが追加になってた。silverlightとの互換がらみかも。
July 2008 Added topic for new member. SP1 feature change.
BeginInvoke(Delegate, object[])
BeginInvoke(Delegate, DispatcherPriority, object[])
209:デフォルトの名無しさん
08/09/04 20:37:30
動作が軽いHTMLDOMありませんか?
HtmlDocumentは重すぎて使い物になりません……
210:デフォルトの名無しさん
08/09/05 12:18:05
ボタンコントロールに、テキストと画像を設定したときに、
ボタンをクリックすると、ボタンがすこし凹み込みんで、そのときにテキストは
すこし凹み込むのですが、画像の方は凹まずに止まったままです。
これを画像も一緒に動かすにはどうするのがベストなのでしょうか?
211:デフォルトの名無しさん
08/09/05 15:39:02
>>210
WPFで望み通りの動作を自前で実装するのがベスト。
WinFormでやるならオーナードローかな?かなり面倒くさそうだが。
212:210
08/09/05 16:51:40
>>211
WPFかオーナードローですか。そのキーワードで調べてみます
ありがとうございましたー
213:デフォルトの名無しさん
08/09/08 14:47:17
C#でスムーススクロールってどうしたら出来ますか
214:デフォルトの名無しさん
08/09/08 14:49:00
そ~とマウスを動かす
215:デフォルトの名無しさん
08/09/08 15:17:09
なるほど
ありがとうございました
216:デフォルトの名無しさん
08/09/08 15:22:35
SQLCEとDatasetを使ってプログラミングをしています。
そこで、Datasetの更新をDBにも反映しようと思い、以下のようなコードを書いたのですが、プログラム終了後にDBを確認しても更新が反映されていませんでした。
private void button1_Click(object sender, RoutedEventArgs e)
{
DatabaseDataSet.CategoriesDataTable categoriesTable = new DatabaseDataSet.CategoriesDataTable();
DatabaseDataSetTableAdapters.CategoriesTableAdapter adapter = new SQLCompactTest.DatabaseDataSetTableAdapters.CategoriesTableAdapter();
adapter.Fill(categoriesTable);
DatabaseDataSet.CategoriesRow newRow = categoriesTable.NewCategoriesRow();
newRow.Category_ID = categoriesTable.Count + 1;
newRow.Category_Name = String.Format("TEST {0}",categoriesTable.Count + 1);
newRow.Description = "Test Description";
categoriesTable.AddCategoriesRow(newRow);
adapter.Update(categoriesTable);
ListBox2.DataContext = categoriesTable;
}
昨日からいろいろと試行錯誤しているのですが、イマイチ原因がよくわかりません。
よろしくお願いします。
217:デフォルトの名無しさん
08/09/08 15:43:33
これじゃないか?
URLリンク(msdn.microsoft.com)(VS.80).aspx
218:216
08/09/08 16:22:47
>>217
これも試してみたのですが、AcceptChangesはDatasetの更新を行うだけで、DBの更新は行ってくれないと認識しています。
219:デフォルトの名無しさん
08/09/08 16:42:54
はぁ?
コミットとかトランザクションの意味はわかる?
220:デフォルトの名無しさん
08/09/08 16:46:45
そんなの分かってるわ。というか、おまえは分かってんのかよww
221:デフォルトの名無しさん
08/09/08 17:14:45
よくわからんけどCategoriesTableAdapterがちゃんと機能するか確認したほうが良さそうね
222:デフォルトの名無しさん
08/09/08 17:21:19
実は違うDB見てたとかビルドで上書きしてたとか
AcceptChangesなんかやったら更新されなくなるぞw
223:216
08/09/08 17:59:11
>>221
ありがとうございます。
一度確認してみようと思います。
>>222
実は、一度実行して普通に終了して、再度実行するとDBには変更(この場合は挿入)が追加されているように見えて、ちゃんとテーブルにも表示されます。
しかしながら、サーバーエクスプローラで実際にデータベースのテーブル内の内容を見に行ったりした場合には、追加された項目などは無くなってしまいます。
ビルドで上書きといったことは無いと思うのですが、なぜこのような挙動になるのかわかりません…
AcceptChangesについては、DatasetとDBについて元との差分がわからなくなり、Updateが効かなくなるということは理解しています。
224:デフォルトの名無しさん
08/09/08 18:07:02
ロールバックしたんだね。
どっかで例外無視してないか?
225:デフォルトの名無しさん
08/09/08 18:25:07
WebBrowserコントロールで Navigate() を呼んだときの
HTTP通信でやり取りされたリクエストヘッダとレスポンスヘッダを
プログラムから取得することはできますでしょうか?
226:デフォルトの名無しさん
08/09/08 18:34:24
どのみち全部はそのままじゃ無理だな
ローカルプロクシ通したりせんと
227:デフォルトの名無しさん
08/09/08 18:37:12
サーバエクスプローラ→プロジェクトフォルダのDBファイル
アプリケーション→ビルド先のDBファイル
とでもなってんじゃないの?
ってことを言ったんだが、そんなことないか?
228:デフォルトの名無しさん
08/09/08 19:16:58
>>226
なるほど、ありがとうございます
229:216
08/09/08 19:20:07
>>224
症状的には確かにロールバックなのですが、先ほどの「サーバーエクスプローラで実際にデータベースのテーブル内の内容を見に行く」という操作だけでロールバックするということはあるのでしょうか。
# 説明不足で大変申し訳ありません。上記の操作はプログラムが終了してから行っています。
>>227
> サーバエクスプローラ→プロジェクトフォルダのDBファイル
> アプリケーション→ビルド先のDBファイル
あぁ!確かにそのような状態になっています。
# DB以外の事ではよくわかっていたのですが、DBはについては初心者で、盲点でした…。
ちなみに、もしそのような状態の場合、>>223のような操作でデータベースが書き換わる(元に戻る)といった事は考えられるのでしょうか。
# もしそうならこの件はばっちり解決です。
230:デフォルトの名無しさん
08/09/08 20:04:46
いやあのな、別のDB見てたら内容が違うのは当たり前だろが
231:デフォルトの名無しさん
08/09/08 20:12:18
>>230
仰るとおりなのですが、特にビルドなどの作業をしなくても、Debugに置いてあるDBが元に戻ることがあるのかと疑問に思いまして。。。
# ビルドをすれば当然出力フォルダに置いてあるDBファイルは上書きされるはずですが、今回の場合は単に実行をして、別の(Projectフォルダにある)DBの内容を見ただけなのですが…。
232:デフォルトの名無しさん
08/09/08 21:11:06
>>231
解決したんだし、もういいだろ
233:デフォルトの名無しさん
08/09/08 21:14:58
サーバエクスプローラで見た内容が違うのが疑問なんじゃなくて、
一度サーバエクスプローラで見ると戻ってしまうってこと?
それは俺も分からんわw
234:デフォルトの名無しさん
08/09/08 21:23:23
エスパーが必要ですね
235:216
08/09/08 22:29:28
一応解決したので、皆様ありがとうございました。
>>233
具体的には、サーバエクスプローラで該当するデータベースのテーブルを右クリックして、最新の情報に更新を行ってから実行すると、DBが初期化されて実行されます。
VSが何をやっているかわかりませんが、そういうものとして扱おうと思います。
236:デフォルトの名無しさん
08/09/08 22:52:14
それはビルドした時に再度コピーされてるんだろう。
新しい場合のみコピーみたいな設定になってるだろ?
サーバエクスプローラで最新の情報に更新すると、何らかの事情でDBファイルが更新されるんだろうな。
237:デフォルトの名無しさん
08/09/09 10:06:54
任意のMethodInfoをデリゲートにバインドしてDelegate.DynamicInvokeで呼び出したいのですが
引数の数が決まっていないのでデリゲート型をどう用意したらいいか悩んでいます。
・あらかじめたくさんのパターンのジェネリックデリゲート型を定義しておいてMakeGenericType
・デリゲート型を動的に生成する
くらいは考えたのですがもっとスマートな方法があれば教えてください
238:デフォルトの名無しさん
08/09/09 10:17:45
Delegate.CreateDelegateでなにか問題が?
239:デフォルトの名無しさん
08/09/09 10:32:15
CreateDelegateを使うためにはデリゲートの型を引数で指定する必要がありますが
最低でも戻り値の有無と引数の数がわからないとデリゲート型は定義できないですよね
240:デフォルトの名無しさん
08/09/09 10:45:38
new Action(() => methodInfo.Invoke(obj, new object[] { ... }))
で統一とか
241:デフォルトの名無しさん
08/09/09 11:47:36
ActionやFuncの範疇ならそれで。
それで足りないならそもそもデリゲートにする意味はあるのか?
242:デフォルトの名無しさん
08/09/09 13:31:38
public Delegate GetProcAddress(string name, Type type)
{ return Marshal.GetDelegateForFunctionPointer(GetProcAddress(this.handle, name), type); }
DLLのラッパー作ってるんだけど、ジェネリクス使ってもっと簡潔にかけないかな?
public T GetProcAddress<T>(string name)
{ return (T)Marshal.GetDelegateForFunctionPointer(GetProcAddress(this.handle, name), typeof(T)); }
って書いても"CS0030: 型 'System.Delegate' を型 'T' に変換できません。"って言われる。
243:デフォルトの名無しさん
08/09/09 13:36:17
(T)(object)Marshal.…
244:デフォルトの名無しさん
08/09/09 13:50:44
enumとかdelegateとかで制約したいよねー
245:デフォルトの名無しさん
08/09/09 18:39:14
Visual Studio のツールボックスウィンドウの中身の表示が変になったときに、
再構成して元に戻すためのコマンドがあった記憶があるのですが、
どうやるのでしょうか?
246:245
08/09/09 18:43:57
だー、ツールボックスウィンドウを右クリックしてリセットでした。
メインメニューから行ったような気がして、ずっと探してしまいました‥‥
吊ってきます。
247:デフォルトの名無しさん
08/09/09 23:26:24
Alt+tabみたいにタスク切り替えしたいんだけど、プロセスの起動や終了はすぐ見つかったんだけど切り替え方法が見つかりませんDllImport使ってもいいからC#で可能ですか
248:デフォルトの名無しさん
08/09/09 23:28:32
はい。
249:デフォルトの名無しさん
08/09/10 11:22:59
テーブルレイアウトを使ったコントロールを作成しているのですが、
デザイン時に、配置しているコントロールを選択状態にする、
というのは可能でしょうか。
スマートタグから処理を呼び出して、テーブル内のコントロールを
全て選択した状態にしたいと思っています。
250:デフォルトの名無しさん
08/09/10 19:22:14
FindDialog(検索画面)表示時のIMEモードを変更させるにはどうすればよいでしょうか・・
251:デフォルトの名無しさん
08/09/10 20:31:55
>>216
解決した、って本人が言ってるんだからもういいだろ、っていわれそうだけど(w
>>236 をもう一度確認すべし。
ここら辺でも、同様のこと言ってるし
URLリンク(www.ailight.jp)
252:216
08/09/10 21:05:45
>>251
わざわざありがとうございます。
> 何らかの事情でDBファイルが更新される
ということで、自分の中では解決していました。
# リンク先では同じような悩みを持っている人がいるということで、勉強になりました。
返信ついでに質問させてください。
リンク先で、「デバッグで更新した後に、デバッグフォルダ内のDBを見れば、更新はされているんですけどね。」
とありますが、単体のDB(SQLCEなので.sdfファイルですが)のDB内を覗くツールというのはあるのでしょうか?
もしあれば教えていただけると嬉しいです。
253:デフォルトの名無しさん
08/09/11 06:07:57
>>252
URLリンク(www.atmarkit.co.jp)
サーバー エクスプローラーでいいんじゃ?
あるいはSql Management Studio?
254:216
08/09/11 15:35:39
>>253
ありがとうございます!
早速試してみたいと思います。
255:デフォルトの名無しさん
08/09/11 16:46:23
Linq to XML を使っているのですが、ネームスペース定義が大量に出現して、XMLファイルが肥大化して困っています。
XAttribute を使ってネームスペース宣言をルートエレメントでやっておけば、小さくまとまる事が判ったのですが
自動的につけるようなオプション等の機能というのはないのでしょうか?
# C#のジェネリックスは、実はType型の引数が余分にあるだけで実質中身一緒なんだな、自作シリアライザを作っていてビックリした。
# なんにもできない訳だ・・・
# 逆にこういう構造なら<>の中にType型オブジェクトも指定できるようにして欲しい。
# リフレクション使ったら Type 型引数版と、ジェネリックス版で似たようなコードの山になっちまった orz
256:デフォルトの名無しさん
08/09/11 21:14:28
>>255
↓見たいなコード書いたら、ネームスペース宣言最上位エレメントにしかつかなかったぞ。
new XElement(ns + "tests",
new XElement(ns + "test",
new XAttribute("a", "1")),
new XElement(ns + "test",
new XAttribute("b", "2")),
new XElement(ns + "test",
new XAttribute("c", "3")),
new XElement(ns + "test",
new XAttribute("d", "4"))
))
ちゃんと全部に ns + つけてる?
257:デフォルトの名無しさん
08/09/11 21:16:09
>>255
# コメントの部分に関しては、
<> の中身が値型の時にboxing/unboxing発生しないとか、少々特殊なこともしてる。
キャストが発生しないってのがgenericsの利点の1つだから、動的に型指定すると利点なくなるし。
258:デフォルトの名無しさん
08/09/11 22:38:03
MakeGenericTypeやMakeGenericMethodというのがあるよ
うまく使えば、素直にやったらILGeneratorとか使わないといけないようなコード生成が
簡単にできる場合がある
動的にダウンキャストするとかね
259:デフォルトの名無しさん
08/09/12 08:12:53
>>256
static XName ns = ...;
として一か所にまとめています、これをやめるのは・・・かなり嫌かも
>>257
すみません、言葉不足でした定義時に使えないのは当然です、使用する側の問題でした。
object ins = new MyType<typeof(int)>() ;
my_ins.Func<typeof(int)>( ... );
といった使い方です。
>>258
これが効率よく利用可能になるためには
typeof<T>(List<T>)
といった感じで型の適用前の型を取得できる機能が欲しいですね、元になる型を探るのが超絶に面倒くさかったです。
ダミー型引数とGUIDからそれらしいものを探し出しましたよ・・・
それと、memberInfoOf( 型.メンバ ) とかも欲しいです、文字列でメンバを指定していてリファクタしたら沈没した orz
260:デフォルトの名無しさん
08/09/12 08:46:14
>>259
オープン型はtypeof(List<>)で取れる
引数が複数ある時はtypeof(Dictionary<,>)
261:デフォルトの名無しさん
08/09/12 08:47:15
>>259
・Linq のほうはなんだその ns って。Namespace なら XNamespace やし
静的にしたところで変わらんし…
・Type type = typeof(List<>);
262:デフォルトの名無しさん
08/09/12 09:01:44
>>259
>memberInfoOf( 型.メンバ )
デリゲートのオブジェクトを作ればDelegate.MethodプロパティからMethodInfoは取得できるよ
263:デフォルトの名無しさん
08/09/12 09:32:55
>>259
リフレクションでLIST<T>からList<>もってくるのあったろ。GetGenericsContain?うろ覚えだが。
そういう話とは違う?
264:デフォルトの名無しさん
08/09/12 09:35:11
>>262 >>260
そういう風にできるんだ、助かりますた
ところでフィールドやプロパティーについてのそれはないですかね?
265:デフォルトの名無しさん
08/09/12 09:36:28
>>263
GetGenericTypeDefinitionだね
266:デフォルトの名無しさん
08/09/12 19:44:30
HTTP、SQL Serverと通信するGUIアプリケーションを作成しています。
try{ 例外の起きるコード }catch(SomeException e){}... としたとき、
VS上から実行すると例外が正しくキャッチされるのですが、
直接実行ファイルから実行すると例外をキャッチしてくれません。
発生するすべての例外について起きているのですが、何か原因等考えられるでしょうか。
環境は、Windows XP SP3、VS2008 SP1、Release/Debugビルド共です。
よろしくお願いします。
267:デフォルトの名無しさん
08/09/12 20:47:26
キャッチされてないことはどうやって判断したの?
あとtryやcatch書いてるのはどこ?
ひょっとしてMainだったりする?
普通の処理の流れでキャッチされないってのはまず考えられない。
268:デフォルトの名無しさん
08/09/12 21:09:00
>>267
キャッチされてないと判断したのは
・VSから実行するとcatchしてエラー内容をdumpしてくれる
・実行ファイルから実行すると「ハンドルされていない例外が…」と表示される
という部分です。
例外をキャッチしてるのはMDI親フォーム内の子フォームをShowする部分です。
もしかしたらスレッドが別に生成されたかと思ってデバッグ→ウィンドウ→スレッドを開いてみても特にスレッドが生成されてる様子はありませんでした。
もちろん、明示的にスレッドは生成していません。
269:デフォルトの名無しさん
08/09/12 21:11:21
catch( SomeExpection e ) {
MessageBox.Show(e.Message)
}
270:デフォルトの名無しさん
08/09/12 22:57:10
そりゃ無理
ThreadExceptionを調べてみな
271:デフォルトの名無しさん
08/09/12 23:20:32
よくわかんないけどモードレスダイアログって別スレッドではないの?
272:デフォルトの名無しさん
08/09/13 03:04:42
WebBrowserを使ってフレームページを扱っているんだけど
Browser.Document.Window.Frames[0]のフレームに
<A HREF="javascript:ShowFrames('11')">全表示</A>
っていう記述で貼られているリンクをクリックした動作をしたいんだが
NAMEがないからGetElementsByNameが使えない.
Javascriptを直接実行しようと思って
URLリンク(web.sfc.keio.ac.jp)
を参考にしながら
Browser.Url = new Uri("javascript:" + Uri.EscapeDataString(@"ShowFrames('11)") + ";");
としてみたけどランタイムエラー(オブジェクトを指定してください)
とでます.
なにかいい方法はないでしょうか,
あとオブジェクトの指定ってどのことを指してるのか教えてもらえませんでしょうか.
273:デフォルトの名無しさん
08/09/13 07:28:50
レベルの低い質問で申し訳ないのだが、生成したファイルパスが有効な書式(ファイルが存在するとかそういうのは無視)
かどうかを検査する方法ってないかな?無効な文字列を含んでいないとかそういうの。
正規表現自作で弾くか、DirectoryInfoやFileInfoのコンストラクタにそのファイルパス渡して、例外をキャッチしなかった
おkとか。そういうのしか思いつかないんだが・・・どうだろう?
274:デフォルトの名無しさん
08/09/13 09:55:19
File.Exists
275:デフォルトの名無しさん
08/09/13 10:18:25
C丼
276:デフォルトの名無しさん
08/09/13 12:32:53
>>273
「有効な書式」ってのが多数のこんがらがった条件受けまくり
なので実質それしかないです。はい。
一応使えない文字レベルなら GetInvalidPathChars あたりで
取れるが…色々保障されてません
277:デフォルトの名無しさん
08/09/13 13:28:33
正規表現は以前やってみてキツかった記憶が
278:デフォルトの名無しさん
08/09/13 13:49:38
Path.CheckInvalidPathCharsとかPath.NormalizePathあたりを参考にするか
面倒くさければそのまま呼び出しちゃえば
と思ったけど、FileInfoコンストラクタやPath.GetFullPathでも最終的には
Path.CheckInvalidPathChars, Path.NormalizePathに行き着くようだ
279:デフォルトの名無しさん
08/09/13 14:07:15
考え方を変えてみたらどうだろう。
パスが無効であることを確実に検査するメソッドを作ることは難しいが、
パスが有効であることを確実に検査するのはそんなに難しくない気がする。
何をいっているか分かりにくいかもしれないけど、
要はそのメソッドで「無効」と判定されたパスが実際には有効なパスである場合があっても、
それは許容することにするってこと。
Winのそれより厳しいルールを適用する、と言い換えてもいい。
280:デフォルトの名無しさん
08/09/13 17:01:59
>>272
Document.LinksからinnerTextが「全表示」であるaタグを拾えばまず
HtmlElementとしてリンクが取得できる。
そのHtmlElementでinvokemember("click")すればいけるんじゃないか?
281:デフォルトの名無しさん
08/09/13 18:40:29
>>270
ありがとうございます。
無事例外発生時にイベントハンドラを呼び出せるようになりました。
282:デフォルトの名無しさん
08/09/13 22:57:47
C#だとforやforeachで宣言した変数が、ブロック外まで有効なんだな。
C++みたいにブロック内に閉じ込めてくれた方が好きなんだが、どうしようもないんかな?
283:デフォルトの名無しさん
08/09/13 23:19:33
いやいや、ブロック内だぞ。
ブロックでるときにデストラクタ呼ばれないという意味でならそうだけど。
284:デフォルトの名無しさん
08/09/13 23:22:20
>>282
そんな仕様は旧VBぐらいだと思うけど。
まあ現VB.NETにも一部引き継がれているようだが。
285:デフォルトの名無しさん
08/09/13 23:27:22
ブロック外では使えないけども、
ブロック外で同じ名前の変数を宣言できない仕様にはなってる。
バグの原因だからいっそのこと禁止してる。
for (int x = 0; x < 10; x++)
{
int y = 0; // この y をブロック外から参照できはしない。
}
int y = 0; // これは確かにエラー。
286:デフォルトの名無しさん
08/09/13 23:59:40
いや、それはシャドーイングの禁止、つまり、外のスコープに存在する変数を内側で再宣言できない制約だよ。
287:282
08/09/14 00:30:15
for(int i = 0; i < N; ++i) { }
int i;
これがダメだったから外に漏れてるんだと思ったが、そういうことか。
288:デフォルトの名無しさん
08/09/14 00:50:37
それは特例というか救済措置。
289:デフォルトの名無しさん
08/09/14 02:01:43
>>274-279
多忙な中、お答え頂いて感無量です。
GetFullPathを利用することにしました。
ありがとうございました。
290:デフォルトの名無しさん
08/09/14 23:06:02
viライクな操作形態にしたいんですがやり方有りませんか?
補完機能は便利なんで、補完機能そのままに操作形態をviライクにする方法教えてください。
291:デフォルトの名無しさん
08/09/14 23:07:15
うぜえ氏ね
292:デフォルトの名無しさん
08/09/14 23:32:27
下記のサイトのサンプルを使って2台の映像を表示とキャプチャをしたいのですが、
どのようにすればいいのでしょうか?
URLリンク(mobiquitous.com)
293:デフォルトの名無しさん
08/09/14 23:37:22
お前には無理。
294:デフォルトの名無しさん
08/09/15 02:06:07
昨日あたりからC#はじめたものなのですが、とっかかりとして、
簡単な例として典型的な図形クラスつくってみているところです。
以下のように書いてAreaを取得する関数はどうやってかけばいいんでしょうか?
DoubleとT型が違うんでだめじゃ!とおこられます。(T)Math.PIもやってみたが
だめでした。例では、Cylinder<float>, Cylinder<double>での使用を考えています。
class Cylinder<T>
{
protected T r;
protected T h;
public Cylinder(T _radius, T _height)
{
this.r = _radius;
this.h = _height;
}
public virtual T Area()
{
T area;
area = 2 * Math.PI * r * r;
return area;
}
}
295:デフォルトの名無しさん
08/09/15 02:08:47
>>294
ジェネリクスはテンプレートとは違うからそういう用途には向かないよ。
まあ今回の場合はとりあえずキャストしとけばいんじゃない?
296:デフォルトの名無しさん
08/09/15 02:09:18
C++のテンプレートと違ってそういうことは無理。
297:デフォルトの名無しさん
08/09/15 02:11:47
>>294
そういう風には現状使えない。
Generics != Template
…まぁ抜け道はあるんだがそれを話すにはここでは
スペースが足りない
298:デフォルトの名無しさん
08/09/15 02:13:08
そうなのですか。。。残念。結局、Volume、Area等の計算は別にだすしかないのかー
でも普段使うクラスのどっかにfloat,doubleと違うのが入り込んだら
他の汎用的に書いたクラスの汎用性を著しく妨げる方向に働くのが
いやなんですよね><
299:デフォルトの名無しさん
08/09/15 02:15:58
C++/CLIを…
300:デフォルトの名無しさん
08/09/15 02:19:46
結局C++にもどれっていうのかいw
301:デフォルトの名無しさん
08/09/15 02:25:49
>>298
double間と暗黙の型変換できるようにしたりT同士の四則演算子を定義したりした
doubleやfloatのラップクラスを用意しておけば出来ないことも無いけどね。
302:デフォルトの名無しさん
08/09/15 02:28:54
>301
やるしかなさそうですね。今がんばってそこまで学習しておくのも手かとおもいますが
なに分まだ舐め終わってないのでもうちょいいってから戻ってきてみます。
とりあえず、ここは、
public virtual double Area()
{
return 2 * Math.PI * (double)(object)r *(double)(object)r;
}
みたいにdouble返り値でつくっておき次へいきます。
(実際の使用時に、floatには自動的にキャストされるだろうと。)
303:デフォルトの名無しさん
08/09/15 02:29:25
>>301
そしてそれの内部は LCG か Expression Tree あたり使うって感じだな
304:デフォルトの名無しさん
08/09/15 02:39:04
ExpressionTreeおもしろそうですね。でも3.0からの機能みたいなので2.0の学習が一段落したら
みてみます。LCGは難しそう。1回機能全体みたら、中間コードの出力しらべながら学習してみます。
305:デフォルトの名無しさん
08/09/15 02:45:42
>>304
URLリンク(d.hatena.ne.jp)
理論的には簡単に出来るはずだから誰かやってねーかなぁと思って
ぐぐったら、やっぱり NyaRuRu 氏が取り上げてた
2.0 考えた LCG 版でも書いてみようかなぁ
306:デフォルトの名無しさん
08/09/15 02:55:32
おー、いいサイトですね。ありがとうございます。
今このスレでおきた事象は、デザインパターン化できそうです。
『PublicBrainStorming Pattern』
Aが解決できないPという課題を公開する
ObserveしているB、C、D、… が解決案か、ヒントを出す。
Aを含めてPを一個すすめたP´という課題をだすというようにして
解決にむけて相互作用しながらすすめていく方式。
似ているパターンいくつかありますが、微妙にちがいますよね。
307:デフォルトの名無しさん
08/09/15 02:56:34
>>305
ただし、NyaRuRu さん本人も言ってるけども、
LCG なんて最後の最後、よっぽどせっぱつまった時の奥の手よ。
書くのも大変だし、メンテはもっと大変。
動的コード生成の類は C# 4.0 で動きがありそうなんで、
それまで待った方がいいと思う。
308:デフォルトの名無しさん
08/09/15 04:25:27
>280
おそまきながらありがとうございます.
おかげさまでうまくいきました.
309:デフォルトの名無しさん
08/09/15 04:44:29
どういたしまして
310:デフォルトの名無しさん
08/09/15 05:42:11
>>305
その記事微妙に勘違いしてる部分がある
そのままでも動くんだが組み込み演算/ユーザ定義演算で場合分けは不要
IL見れば分かるけど、内部にGetUserDefinedBinaryOperatorOrThrowというようなメソッドがある
ほぼすべての演算を定義した構造体をなんとなく作ったけど、あまり使ってないな
311:デフォルトの名無しさん
08/09/15 06:41:54
というか今書いてみてるんだが、そもそも組み込み型は
固定なのでそれを固定でメソッド化していくと結論として
LCG も Expression Tree もいらね。
312:デフォルトの名無しさん
08/09/15 06:46:59
作ったこと無くて言ってる奴がおるなぁ(・∀・)クスクス
313:デフォルトの名無しさん
08/09/15 09:57:28
気色わる
314:デフォルトの名無しさん
08/09/15 14:00:45
頭わる
315:デフォルトの名無しさん
08/09/15 15:52:26
わる
316:デフォルトの名無しさん
08/09/15 16:07:44
る
317:デフォルトの名無しさん
08/09/15 16:43:38
318:デフォルトの名無しさん
08/09/15 17:42:41
>>565
10kg10回が限界なら、12kg5回が限界。20kgなら1回。
319:デフォルトの名無しさん
08/09/15 17:46:26
どこの誤爆か聞こうか?
320:デフォルトの名無しさん
08/09/15 17:50:14
>>319
ああ、ごめん、筋トレスレ。いかんな。
今日も昼飯食わずにトレーニングしてたら倒れそうになって、
嫁さんに脳トレもしとけと諭された。
321:デフォルトの名無しさん
08/09/16 04:31:38
>>297
フェルマー先生乙
322:デフォルトの名無しさん
08/09/16 12:02:22
>>305
これ、いちいちExpression Treeなんか使わなくてもCreateDelegate使えばいいじゃん
プリミティブ型に関しては別扱いでそれぞれあらかじめメソッドを用意しないといけないけど
323:322
08/09/16 12:12:01
DelegateクラスのCreateDelegateね
リフレクション経由の呼び出しが無くせる
324:デフォルトの名無しさん
08/09/16 14:11:46
そりゃ「できる」だろう。
だれもその目的ではExpressionTreeを使わなきゃできないなんて言ってない。
つか俺は遊びでやりかけて止めた。
単にわざわざメソッドいっぱい作るの面倒臭かったから。
325:デフォルトの名無しさん
08/09/16 14:14:22
あれ?CreateDelegateいったっけかな?忘れちまった。
326:デフォルトの名無しさん
08/09/16 14:31:55
型関連でコード生成が必要な時って
LCG使わなくてもMakeGenericTypeとCreateDelegateで結構いろんなことできるよね
327:デフォルトの名無しさん
08/09/16 14:47:21
ジェネリックと+-*/のような演算子が相性が悪いということで、
どうするかって話だったと思うけど。
MakeGenericTypeとCreateDelegateで何とかなるの?
328:デフォルトの名無しさん
08/09/16 15:03:20
もちろん強引にしかできない
329:デフォルトの名無しさん
08/09/16 15:05:24
+演算子を使うためにはop_Additionという名前のメソッドを呼び出す必要がある。
もちろんリフレクションを使えばMethodInfo.Invokeで呼び出せるんだけどすごく遅い。
そこで、デリゲートにそのメソッドをバインドしてしまえば、通常のデリゲート呼び出しと同じ
オーバーヘッドで呼び出せるわけ。CreateDelegateを使えばMethodInfoからデリゲートが作れる。
330:デフォルトの名無しさん
08/09/16 17:01:56
すいません。質問です。
スレッドにてSuspendとResumeを使用しているのですが
使用しないでくださいとMSDNにあります。
そこで代わりになるようなのを見つけようと思ったのですが見つかりません。
Suspendのような、特定メソッドが呼ばれるまでスレッドを待機させると言う事は出来ないのでしょうか
331:デフォルトの名無しさん
08/09/16 17:29:13
>>329
たしか、基本データ型はop_色々を実装していない。
勿論ユーザー定義型の演算子なら大丈夫だが不便。
struct Int32 : IAdd<Int32> ... とかすればいいのにとか、この設計は凄くイライラする。
332:デフォルトの名無しさん
08/09/16 17:32:01
DynamicMethodでいいやん
333:デフォルトの名無しさん
08/09/16 17:41:37
DynamicMethodなんか使う暇があったら
各プリミティブ型に対してそれぞれ演算を行うメソッドを全て書いたほうがマシ
334:333
08/09/16 17:44:04
op_○○に相当するものを自分で定義するという意味だよ
335:デフォルトの名無しさん
08/09/16 18:16:22
ラムダ式羅列でOK
336:デフォルトの名無しさん
08/09/16 18:17:34
>>330
素直にMomitorかEvent系使え
337:デフォルトの名無しさん
08/09/16 18:54:02
>>330
AutoResetEventでいいんじゃない?
URLリンク(msdn.microsoft.com)
338:デフォルトの名無しさん
08/09/16 19:44:49
もみたー
339:デフォルトの名無しさん
08/09/16 20:24:09
ワロタorz
340:デフォルトの名無しさん
08/09/16 20:59:03
すみません。
usingステートメントに二次元配列クラスを渡す方法を教えて下さい。
御願いします。
341:デフォルトの名無しさん
08/09/16 21:00:53
日本語で御願いします
342:デフォルトの名無しさん
08/09/16 21:07:06
public MapSearch[,] msc = new MapSearch[256,256];
for (i = 0; i < 256; i++)
{
for (j = 0; j < 256; j++)
{
msc[i,j] = new MapSearch();
}
}
//↓ステートメント内で宣言できません
//MapSearch内には多く変数が入っています
using (MapSearch[,] msc = new MapSearch[256,256]){
}
すみません。絶対何か間違った方法だと思いますが
343:340
08/09/16 21:09:43
あ、>342=>340です。申し訳ありません。
344:デフォルトの名無しさん
08/09/16 21:10:06
usingはメモリ使用量の大小とは無関係です。
IDisposableインターフェイスを実装しているもののみに限りusingが必要と覚えておきましょう。
マネージ配列はIDisposableを実装していませんから使えません。放置しましょう。
345:340
08/09/16 21:17:28
>>344
ありがとうございます。
もう少し言葉を覚えたいと思います。
346:デフォルトの名無しさん
08/09/17 01:22:22
配列を以下のように宣言したら、別の関数に渡せるのですが?
private int[] func1() {
int[] testarrays = {1,2,3,4,5};
return testarrays;
}
private void func2(int[] a) {
int[] testarrays2 = func1();
}
自分の環境だと動いているのですが、C#では配列はスタックに
作成されないのですか?
347:デフォルトの名無しさん
08/09/17 01:22:53
配列はオブジェクトです。
348:デフォルトの名無しさん
08/09/17 02:43:17
そうか。
そして開放は、ガーベージコレクターにまかせればいいんですよね。
ありがとうございました。
349:デフォルトの名無しさん
08/09/17 03:19:35
すみません。最近プログラムに目覚めてC#の本を買って勉強中です。
まずやりたいことは、Excelを使ったグラフ作成での資料提出です。
Consoleでの操作はある程度やったのでそろそろExcelに手を出したいのですが・・
350:デフォルトの名無しさん
08/09/17 03:38:40
>>349
こんな時間に、なんか軽い感じの書き込みだな。
もしかして、あんたのいるところは昼間?
英語問題ないんだったら、
Visual Studio Tools for Office:
Using C# with Excel, Word, Outlook, and InfoPath
とかどうスか?
351:デフォルトの名無しさん
08/09/17 10:48:12
>>350
知り合いが言うにはそこまで複雑ではないそです。
一般家庭にあるExcelを使ってグラフと作成して印刷するだけです。
基本的なことだとは思いますがC#を勉強しててもまったくそのことに触れません。
昨日数時間も本屋さんに通いつかれて疲れました
352:デフォルトの名無しさん
08/09/17 11:49:53
C#を使わずにExcelのマクロだけでやったほうがいいんじゃないかな
353:デフォルトの名無しさん
08/09/17 12:07:48
何考えてC#選んだのか知らないけど、直接Excel触るのにはC#は不向きなんだよね
354:デフォルトの名無しさん
08/09/17 13:27:07
>>331
>たしか、基本データ型はop_色々を実装していない。
Reflectorで見たらマジでそうだったんだけどさ
どうして演算できる訳?なんでこんな仕様?
355:デフォルトの名無しさん
08/09/17 13:32:16
もちろん理由はパフォーマンス
数値演算ごときに一々メソッド呼び出しとかコスト高すぎ
ILレベルで数値演算用のオペランドが使われる
356:デフォルトの名無しさん
08/09/17 13:33:51
正しくはオペランドではなくオペコード
357:デフォルトの名無しさん
08/09/17 13:56:44
構造体みたいに見えるように工夫してるけど実際は対応するIL組み込み型として扱われる
358:デフォルトの名無しさん
08/09/17 14:17:24
decimalは真っ当な構造体なんだぜ?
359:デフォルトの名無しさん
08/09/17 14:36:26
decimalも他ほどではないにしろやっぱりCLRにべったりくっついてるね
360:デフォルトの名無しさん
08/09/17 15:04:58
Excel触るならVB.Netの方が使いやすいと思う(というか、かなりめんどくさいw>C#)
自分は遅さに耐えかねてVBAで組むことが多い
361:デフォルトの名無しさん
08/09/17 15:11:07
VB.NETもC#も変わらん
362:デフォルトの名無しさん
08/09/17 15:13:55
オプショナル引数に対応できる分だけVBが楽
あとは推奨じゃないがCreateObjectでレイトバインディングも可能
まあたいして変わらないのは確かだがね
363:デフォルトの名無しさん
08/09/17 15:46:52
すまん、基本だと思うんだが、Equals、==について教えてたもれ
一応、ガイドラインはみますた
URLリンク(msdn.microsoft.com)(vs.80).aspx
・基本的に値的なオブジェクトでなければEqualsをオーバーラードする必要はないのか?
・演算子==のオーバーライドについてガイドラインではオブジェクトが不変な場合に同じ値を持つ限り同一云々とあるが、自分的にはそのオブジェクトが値的なものであればオーバーライドしなければいけないように思うのだが違うのか。
・その上でDictionaryのようなKey的なオブジェクトを使うものはそのキーの同一性を比較するのに、==とEqualsのどちらを使うべきなのか。
・GetHashCodeの効率的な実装方法
以上のことを教えてくれ。エロい人
364:デフォルトの名無しさん
08/09/17 15:57:28
・ない。
・その項目は参照型の場合のみ。
・IEqualityComparer<T>を使う。特別な実装がない場合はEqualityComparer.Default。
・知らん
365:デフォルトの名無しさん
08/09/17 20:03:27
>>361
遅延バインディングが(手軽に)できるのとできないのじゃ天と地ほと違うと思うけど。
あと暗黙的なキャストができないと面倒な場面も多い。
366:デフォルトの名無しさん
08/09/17 22:53:30
>>365
>・その項目は参照型の場合のみ。
いや参照型のオブジェクトで値的な性質のものについて値としての比較を強制するために==をoverrideしなければいけないのかと。
367:デフォルトの名無しさん
08/09/17 22:56:25
>>363
> ハッシュ
Point構造体を例にすると
- Xを返す (.NETはこれ)
- Yを返す
- XとYの上位16ビットを並べたものを返す
などの実装が考えられるけど、
事前に確率分布が分かっていなければ基本的にどれでも一緒だから、
適当にフィールドから32ビット見繕って返せばいいよ
368:デフォルトの名無しさん
08/09/17 23:04:34
ここにはXorなんてどうよ、と書いてある。
URLリンク(msdn.microsoft.com)
369:デフォルトの名無しさん
08/09/17 23:08:03
>>367
あれ、PointはXとYのxorだったはず
370:デフォルトの名無しさん
08/09/17 23:19:28
ごめん、何か別のと勘違いしてた
371:デフォルトの名無しさん
08/09/18 00:21:55
とりあえずはメンバ全部の GetHashCode Xor だな普通
あとは分布とコスト次第で調整(必要なのはあまりない)
372:デフォルトの名無しさん
08/09/18 00:24:24
俺は少しビットずらすのがすき。
あんま深く考えてはいないけど。
373:デフォルトの名無しさん
08/09/18 00:26:37
floatはどうすると?
374:デフォルトの名無しさん
08/09/18 00:29:34
float.GetHashCode
375:デフォルトの名無しさん
08/09/18 00:30:25
質問です。
String s = (o==null)?"":o.ToString();
みたいにいちいちNullチェックするの面倒だから
static String ObjToString(Object o){
return (o==null)?"":o.ToString();
}
みたいな野作ったんですが邪道でしょうか
もっといい方法ないでしょうか
376:デフォルトの名無しさん
08/09/18 00:39:21
>もっといい方法
VBを使う。
VBだとnullはString.Empty扱いされる。(本当)
377:デフォルトの名無しさん
08/09/18 00:43:20
まじかーでもVB使いにくいしなー
慣れかな
378:デフォルトの名無しさん
08/09/18 00:51:12
>>375
自分なら拡張メソッドにする。
おかげで自分のプログラムではobjectのメソッドが増えること増えること('A`)
379:デフォルトの名無しさん
08/09/18 00:54:28
三項演算子ってこわくね?
String s = (dataSet.Tables.Count == 0) ? "" : (dataSet.Tables[0].Rows.Count == 0) ? "" : (dataSet.Tables[0].Rows[0]["Field0"] == null) ? "" : dataSet.Tables[0].Rows[0]["Field0"].ToString();
380:デフォルトの名無しさん
08/09/18 01:00:30
そうか?俺平気で結構連結するよ
改行とインデントしっかりすれば個人的にはこっちのほうが
みやすい
とはいえその例はしないかな
381:デフォルトの名無しさん
08/09/18 01:00:58
>>378
拡張メソッド はずかしながら知りませんでした。
これは便利ですね。
382:デフォルトの名無しさん
08/09/18 01:02:06
>>378
>objectのメソッドが増えること増えること
せめてジェネリクス使おうよ。
public static string SafeToString<T>(this T obj)
{
return (obj != null) ? obj.ToString() : string.Empty;
}
383:デフォルトの名無しさん
08/09/18 01:11:19
>>382
それにジェネリクス使っても何の意味もなかろーもん
384:デフォルトの名無しさん
08/09/18 01:12:05
それに何の意味があるのか教えてくれたまえ。
385:デフォルトの名無しさん
08/09/18 01:12:14
この場合ジェネリクスにしたら何がうれしいの?
よくわからんがnull許容型に対してボクシングが行われないとかなのかな?
386:デフォルトの名無しさん
08/09/18 01:13:00
値型だとボクシングが回避できるんだぜ?
387:デフォルトの名無しさん
08/09/18 01:13:35
T が値型だと boxing が起きませんな
デメリットも思いつかんし付けたほうがいいね
388:デフォルトの名無しさん
08/09/18 01:13:49
余計なnullチェックもなくなるんだぜ?
389:デフォルトの名無しさん
08/09/18 01:14:34
だけどToStringするようなもんならあんまり意味はないんだぜ?
390:デフォルトの名無しさん
08/09/18 01:19:12
>>388
おお、値型ならアクティブ時に条件分岐すら消滅しますな確かに
391:デフォルトの名無しさん
08/09/18 01:21:59
むしろこうすると値型で余計なメソッドが見えなくなってうまーかな。
public static string SafeToString<T>(this T obj)
where T:class
{
return (obj != null) ? obj.ToString() : string.Empty;
}
392:デフォルトの名無しさん
08/09/18 01:24:38
DataGridViewかRDBMS関連のお話かな
393:384
08/09/18 01:25:27
しょうじきすまん買った
今は反省している
394:デフォルトの名無しさん
08/09/18 01:31:17
俺はcoalesceの方が好きだな
(obj ?? "").ToString()
395:デフォルトの名無しさん
08/09/18 02:41:21
その系のパターン結構多いんだよな。
で思わず??で書こうとして無理じゃんってのが多いんだよな。
396:デフォルトの名無しさん
08/09/18 06:06:23
c#2008EE使っているんだけど
F5デバッグしてプログラム終了後、エディタ画面にもどるまで
2秒ほどもたつくんだけど、これは無料だからわざとやってるのかな?
c2d E8400でやっているんだけど、これでも足りないとは思えないんだけど・・・
397:デフォルトの名無しさん
08/09/18 09:08:45
そんな現象に会ったこと無い
398:デフォルトの名無しさん
08/09/18 10:18:24
Webプロジェクトやフォームアプリでも、ちょっとした小さなコードを書いて挙動を確認したい時が
あるじゃないですか。例えば、Enumのパースってこれで良かったっけ?とか。
そういう時、Visual Studioだとマイクロコードを書いて確かめる方法なかったでしたっけ?
皆さん、どうしています?
ソリューションにコンソールアプリプロジェクトを追加するのは大げさだし、
別にテスト用ソリューションを用意しておくほどのものでもないし。
テストプロジェクトでも流用して、小さなコンソールアプリでも追加できないんですかね。
399:デフォルトの名無しさん
08/09/18 10:19:36
またスタートページ切ってないとかじゃないのどうせ
400:デフォルトの名無しさん
08/09/18 10:24:32
EEって書かれると、エンタープライズエディションかと思っちゃうよね~。
2008チームスイート使ってるけれど、SP1で確かにもたつきが無くなった気がするよ。
401:デフォルトの名無しさん
08/09/18 10:34:11
>>398
小さいテストコードって意味なら、適当にブレークして
イミディエイトでご自由にどうぞ。
402:デフォルトの名無しさん
08/09/18 11:00:29
オブジェクトテストベンチ
ちょっと違うか…
403:396
08/09/18 13:00:24
>>399
スタートページ表示したままだったので消してみました。様子見
>>400
一応最新です
404:デフォルトの名無しさん
08/09/18 13:03:03
>>396
俺も、Vistaマシンに入れたら同じ現象おきるな。
なので今はXPマシンでやってる。
405:396
08/09/18 13:13:58
スタートページ切ったら不可思議なラグがなくなった
ありがとう
406:デフォルトの名無しさん
08/09/18 17:07:24
3.5SP1にしてからインテリ扇子が英語になってもーた
407:デフォルトの名無しさん
08/09/18 17:38:50
翻訳が間に合わなかったらしい
URLリンク(blogs.msdn.com)
408:デフォルトの名無しさん
08/09/18 18:12:06
>>407
そうだったんですか。
ありがとうございました。
409:デフォルトの名無しさん
08/09/18 19:33:17
.NETリモーティングで双方がどちらもクライアントかつサーバーになる
サンプルをどこかで見た記憶があるんだけど、今ググっても見つからない。
誰か心当たりある人いない?
しかし、.NETリモーティングって同じことをやる方法が複数あるわ、
必要なクラスがバラバラの名前空間に散らばってるわでもう訳がわからん。
410:デフォルトの名無しさん
08/09/18 21:41:45
よく双方向なんてやる気になるな。
リクエストリプライのステートレスでしか使ったことないぜ。
411:デフォルトの名無しさん
08/09/18 22:01:19
>>398
MonoのMiguelたんがやってくれたぜ。
CSharpRepl
URLリンク(www.mono-project.com)
412:デフォルトの名無しさん
08/09/18 23:17:59
DataColumn.Expression プロパティについて教えてください。
あるフォルダの中で、条件に一致するファイル(名)を取得したいと思っています。
そこで、条件をテキストボックスなどで[abc def xyz]などのようにスペースで区切って、AND検索をしたいと思っているのですが、Dataset.DataTable.SelectのExpressionの記述方法で困っています。
具体的には、
string[] keywords = textbox1.Text.Split(' ');
というように各キーワードの抜き出しを行っているのですが、ここからどうすればいいのか困っています。
abcだけならDataset.DataTableTable.Select("\"FileName = 'abc'\"");などでできると思うのですが。。。
よろしくお願いします。
413:デフォルトの名無しさん
08/09/18 23:23:09
それのSelectの中身ってSQL文だっけ?
そんなに詳しくないけども、in 演算子ってなかった?
Filename in { 'abc', 'def', 'xyz' } みたいなの。
414:412
08/09/18 23:28:12
>>413
すみません。リファレンスを書き忘れました。
URLリンク(msdn.microsoft.com)(VS.80).aspx
IN演算子ありました!
ちなみに、IN演算子を使って、
Filename IN { 'abc', 'def', 'xyz' }
415:デフォルトの名無しさん
08/09/18 23:29:48
すみません。間違えてShif+Enterを押してしまいました。
ちなみに、IN演算子を使って、
Filename IN { 'abc', 'def', 'xyz' }
と記述した場合に、結果にはabc def xyzを含むファイル名が取得できるということでいいでしょうか?
416:デフォルトの名無しさん
08/09/18 23:38:15
「を含む」じゃなくて「のいずれかに一致する」
Expression の IN は ()
「を含む」の場合は LIKE 演算子が必要だが IN と併用できたっけ。
無理なら OR でつなげるしかないかな?
417:デフォルトの名無しさん
08/09/18 23:42:28
>>415
in は「右辺の配列の中に左辺が含まれているかどうか」
今の場合、Filename が abc, def, xyz のいずれかと一致するかどうか
になると思う。
418:412
08/09/18 23:45:08
>>416
>>417
なるほど。
LIKEとINが併用できるか調べてみます。
# だめだった場合は、ORでつなげるか、複数回Selectを実行してやってみようと思います。
ありがとうございました。
419:デフォルトの名無しさん
08/09/18 23:46:11
というか、こういう処理こそ LINQ の出番なんだけどねぇ。
420:412
08/09/18 23:58:31
>>419
すみません。
LINQについてはまだ勉強不足です。
# 将来的には勉強しなければと思っていますが・・・。
421:デフォルトの名無しさん
08/09/19 00:03:37
元々から非 LINQ の DataTable 使ってるとか
会社の方針として使うものが決まってるんなら別にいいと思うけど、
新規に学ぶなら LINQ の方が楽というだけ。
422:デフォルトの名無しさん
08/09/19 00:14:59
RDBMSやSQLをきちんと理解していれば、LINQの勉強なんて大した手間でもない
423:412
08/09/19 00:37:03
>>421
>>422
助言ありがとうございます。
今後勉強する際の参考にしたいと思います。
424:デフォルトの名無しさん
08/09/19 22:25:12
すれ違いで間違ったところに投稿してしまったのでここへ書かせてもらいます。
C#2.0
CTIのシステムを自分のソフトにも組み込んでみたいんですが
どんな感じで実現するんでしょう?
着信があってその番号から検索するのはわかるんですが、
どうやって電話を邪魔せずに番号だけ抜き出せばよいのか…・
外からの着信→PCのモデム→TEL
こんな感じでつなぎそうな気がするのですが・・・・
425:424
08/09/19 22:27:26
おぉ・・・・間違ってShift+Enterを・・・orz
以下追記です。
対象はC#2.0+WinXP環境です。
また、単純に着信があれば顧客のデータにある電話番号か携帯番号のどちらかからデータが取得したい程度のことです。
番号さえフックできればあとは簡単な話なのですが・・・
426:デフォルトの名無しさん
08/09/19 22:39:36
C#のクラスライブラリには直接サポートするものはなかったと思う。
何か市販のミドルウェアを使うならそのマニュアルを、モデムを直接制御するならモデムのマニュアルを。
ふらっとでスレ違いといわれたら当然ここでもそうだろう。
427:デフォルトの名無しさん
08/09/19 22:40:38
Creed Taylor Issue レコードを C# で作りたいのか。
まあ、冗談は置いとくとしても3文字略語(・A・)イクナイ
428:デフォルトの名無しさん
08/09/19 22:41:59
TAPI3Libで検索するとちょっとは幸せになるかもしれない。
429:デフォルトの名無しさん
08/09/19 23:05:07
>>424
ここに書き込んだからには、そのCTIとやらの知識はあって
Cないし他言語では組めるんだろ
で、C#だと何が問題なんだ?
430:デフォルトの名無しさん
08/09/20 00:12:29
>>424
.NET / Visual Basic環境でのCTI開発ツール“VBVoice”、トライアル版の無償ダウンロードの開始
URLリンク(japan.zdnet.com)
検索したらこんなのが見つかったけど調べてみれば?
431:424
08/09/20 02:02:22
レスありがとうございます。
ひとまずCTIでやるべき事はわかるんですがその手法かなと
>>428
どうもTAPI3Libは電話機器とかその辺の関連DLLみたいですね
今軽く見たらなんとなくいけるかもしれない希望が見えてきた気がします。
>>426
そうですか、それがわかれば逆に範囲は狭められる感じがします。
TAPI3Libが今回やろうとしていることにうまいこと使えればうれしいものなのですが・・・
>>427
いわゆる広義でいう Computer Telephony Integration
のことを言おうとしていました。
ただ、もっと具体的に書くべきかなと思いました。
>>429
とりあえず組めるには組めるのですが、何ができないかというと
かかってきた電話を邪魔せずに電話番号(ナンバーディスプレイ)をPCで取得しようとする方法です。
ハード寄りな部分というのはあんまりしたことがないのでノウハウが・・・
>>430
それはどうもその会社の製品を買ったおまけで、しかも開発ライセンスはタダだけど配布ライセンスはいるという感じなorz
まずは頂いた情報であれるだけやってみようと思います。
ありがとうございました。
432:デフォルトの名無しさん
08/09/20 08:42:09
ワンギリ業者氏ねよ
433:デフォルトの名無しさん
08/09/20 10:54:22
C#でソースを書いていて、タブキーを押すと押せば押しただけタブが挿入されるのがいやです。
タブを何回押しても、決まったインデントの位置に行くだけになるよう設定できますか?
環境はVisual C#2008です。よろしくお願いします。
434:デフォルトの名無しさん
08/09/20 11:35:49
文字列をtextBoxに表示するとき、改行を\r\nと書かないとだめなのはなぜですか?
MessageBoxに表示するときは\nで改行できるのに。
435:デフォルトの名無しさん
08/09/20 12:03:36
寧ろMessageBoxがおかしい。
436:デフォルトの名無しさん
08/09/20 13:27:27
コモンコントロールに依存してるところがそうなってる感じかな。
437:デフォルトの名無しさん
08/09/20 13:44:33
コモンコントロールに依存してないWPFのTextBoxは\r\n \r \nのどれもOKだった
438:デフォルトの名無しさん
08/09/20 19:47:22
>>431
CTIは知らんけど、auの携帯電話ならシリアルで接続すれば、着信時にシリアルポートから電話番号の情報が受信できるけど・・・
439:デフォルトの名無しさん
08/09/21 03:15:28
[C#, Delphi] いい加減 C# 信者がうざい件
URLリンク(tobysoft.net)
---
C# 信者の特徴
Hejlsberg は神であり神による実装である C# こそが唯一絶対の言語である
他の言語(特に DelphiとJava)は存在自体が悪である
他の言語を使っているのは C# を知らないからである
C# を布教することでそのような不幸な子羊たちを救済することこそが正義である
どこかの世界宗教のようですね。
440:デフォルトの名無しさん
08/09/21 03:28:21
まあ文句は使ってみてから言えや
もちろんこっちはPASCALもJavaも使える
441:デフォルトの名無しさん
08/09/21 03:42:37
C#使ってるけど別に信者じゃないからどうでもいいよ。
だいいち信者がウザイのはどこの言語でも一緒だから
ことさら言うまでのことじゃないんだ。
442:デフォルトの名無しさん
08/09/21 09:48:13
C#で書かれているチャートソフトを使用しています
いろいろとソース弄って表示を変えたいところがあります
プログラミングをした事がないのですが
いきなりC#から入ったら無謀でしょうか?
443:デフォルトの名無しさん
08/09/21 09:51:24
具体性のない質問をされてもな。具体的に困ったことがおきてからふらっとへ。
444:デフォルトの名無しさん
08/09/21 09:55:03
言語によらず入ってくるの自体が無謀
445:デフォルトの名無しさん
08/09/21 12:17:37
>>442
ソース見て頭がフリーズしなけりゃ大丈夫
446:デフォルトの名無しさん
08/09/21 18:44:36
プログラミングがしてみたいんじゃなくてそのソフトを弄るのだけが動機なんだったら
言語問わずすぐ挫折するよ