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


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

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



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

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

前スレ

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


449 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 22:19:16 ]
>>446
C#2008の仕様ではインスタンス化のタイミングは定義されてないけど、
現実には実行開始時でいいんでないの?
そういうツッコミじゃなくて?

450 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 22:22:23 ]
失礼します
C#で帳票作成するとき皆さんどうしてますか
グレープシティーのActiveReportsですか
それともクリスタルレポートですか
それともSQLSERVERについてるレポーティングサービスですか
それともジャイブレポートですか
それともExcelとかPDFにはいてます?
無料ならPDFなんですかねえ?

どうなんでしょう
お勧めありますか

451 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 22:25:26 ]
iText で PDF 作ってる。

452 名前:デフォルトの名無しさん [2009/07/05(日) 22:31:57 ]
>>446
初めてそのクラスを使おうとしたときに静的メンバが初期化されることが多い
言語仕様上は、「使う前には初期化されていることが保証されている」だけ

453 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 22:32:15 ]
>>449
そもそもインスタンスなんて作られない。
それとも別のものをインスタンスと言ってるのか?
Typeとか?

454 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 22:37:16 ]
>>450
ReportingServiceはお勧めしない。
素直にActiveReports使った方が良い。

455 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 22:52:00 ]
静的クラス
ttp://msdn.microsoft.com/ja-jp/library/79b3xss3.aspx

456 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 23:21:11 ]
ActiveReports買いたいけど会社が買ってくれないので
itext調べてみます く^^

457 名前:デフォルトの名無しさん [2009/07/06(月) 04:11:13 ]
vc#保存したやつ開けないんだけど、なぜだorz



458 名前:デフォルトの名無しさん mailto:sage [2009/07/06(月) 15:09:02 ]
>>435>>439の方針で匿名メソッドでやってみた。かなりきもくなった。

// OKワードのどれかを含む要素を配列strsから取り出すメソッド
string[] selectOK(string[] strs, string[] OKwords)
{
return Array.FindAll(strs, delegate(string s) {
return Array.Exists(OKwords, delegate(string word) {
return s.IndexOf(word, 0) >= 0; }); });
}

// NGワードのどれかを含む要素を配列strsから取り除くメソッド
string[] deleteNG(string[] strs, string[] NGwords)
{
return Array.FindAll(strs, delegate(string s) {
return Array.TrueForAll(NGwords, delegate(string word) {
return s.IndexOf(word, 0) < 0; }); });
}



string[] deletefiles = {〜};
string[] getfiles = {〜};
string[] files = Directory.GetFiles(〜);

files = selectOK(files, getfiles);
files = deleteNG(files, deletefiles);

459 名前:デフォルトの名無しさん mailto:sage [2009/07/06(月) 20:32:51 ]
Array.HogeHogeなんていう化石メソッドの嵐やるぐらいならLINQで書こうよー

460 名前:デフォルトの名無しさん mailto:sage [2009/07/06(月) 20:34:17 ]
LINQおそいじゃん

461 名前:デフォルトの名無しさん mailto:sage [2009/07/06(月) 20:51:36 ]
え?

462 名前:デフォルトの名無しさん mailto:sage [2009/07/06(月) 20:59:27 ]
LINQ書く奴ってなんでテスト端折る奴ばかりなんだ?

463 名前:デフォルトの名無しさん mailto:sage [2009/07/06(月) 21:01:44 ]
え?

464 名前:デフォルトの名無しさん mailto:sage [2009/07/06(月) 21:05:25 ]
Recentの中身なんて10000ファイルあるわけでもなし。

465 名前:デフォルトの名無しさん mailto:sage [2009/07/06(月) 21:25:07 ]
>>460
5〜10%のロスを遅いとは言わない。

466 名前:デフォルトの名無しさん mailto:sage [2009/07/06(月) 21:28:55 ]
その遅さは致命的だな。

467 名前:デフォルトの名無しさん mailto:sage [2009/07/06(月) 21:31:24 ]
一体何ファイル処理するおつもりで。
500万ファイルくらいかな?



468 名前:デフォルトの名無しさん mailto:sage [2009/07/06(月) 21:55:25 ]
>>466
うん、致命的だから使わなければいいと思うよ
俺は10%の高速化より、コーディング時間1/3の方を取るけど

469 名前:デフォルトの名無しさん mailto:sage [2009/07/06(月) 21:58:25 ]
テストまで1/3にしないでください。

470 名前:デフォルトの名無しさん mailto:sage [2009/07/06(月) 22:02:29 ]
LINQは書きやすいけどデバッグしづらいよ
皆どうしてんだろ

471 名前:デフォルトの名無しさん mailto:sage [2009/07/06(月) 22:17:24 ]
お前ら初心者用スレで何の話してるの?
本職はマ板にでも消えてくれ。

472 名前:デフォルトの名無しさん mailto:sage [2009/07/06(月) 22:21:56 ]
は?

473 名前:デフォルトの名無しさん mailto:sage [2009/07/06(月) 22:31:52 ]
ん?

474 名前:デフォルトの名無しさん mailto:sage [2009/07/06(月) 22:33:28 ]
こ?

475 名前:デフォルトの名無しさん mailto:sage [2009/07/06(月) 22:33:53 ]
お?

476 名前:デフォルトの名無しさん mailto:sage [2009/07/06(月) 22:39:50 ]
ち?

477 名前:デフォルトの名無しさん mailto:sage [2009/07/06(月) 23:53:56 ]
>>470
具体的には何が問題になってます?



478 名前:デフォルトの名無しさん mailto:sage [2009/07/07(火) 00:03:12 ]
forループを逆アセンブルしたら、まずいきなりループの終わりにジャンプして、
そこでカウンター値をチェックしてからループの入口にもう一度ジャンプして
1回目の処理を開始するというコードになってて吹いた。
てっきり、もっと効率のいいコードを吐いてるもんだと思ってたのに。

479 名前:デフォルトの名無しさん mailto:sage [2009/07/07(火) 00:22:34 ]
>>478
ILの出力であればそんなもんでは、CPUごとのカスタマイズはJITの仕事だし

480 名前:デフォルトの名無しさん mailto:sage [2009/07/07(火) 00:29:45 ]
コードは完成してからベンチしろー。
完成前にあれこれ考えるな時間の無駄だー。

ってスティーブ・マコネルが言っていたよ。

不必要な高速化にかまける馬鹿が多いってさ。
だったらその時間使ってテストしろボケ。

481 名前:デフォルトの名無しさん mailto:sage [2009/07/07(火) 00:30:21 ]
たしかに、アセンブラのLOOP命令は基本的にループの終わりでECXをチェックするから、
JIT通すと最適化されるんかな。

482 名前:デフォルトの名無しさん mailto:sage [2009/07/07(火) 00:32:44 ]
色々なCPUに対応するには、不用意に情報を取り除きすぎないようにしないと、高速化のヒントまで削ってはダメだからな

483 名前:デフォルトの名無しさん mailto:sage [2009/07/07(火) 01:07:51 ]
return return;
のようなことはできないの?

484 名前:デフォルトの名無しさん mailto:sage [2009/07/07(火) 01:09:41 ]
意味が分からない

485 名前:デフォルトの名無しさん mailto:sage [2009/07/07(火) 01:19:24 ]
リンダリンダみたいな感じ?

486 名前:デフォルトの名無しさん mailto:sage [2009/07/07(火) 01:33:30 ]
Return to Myself しない、しない、ナツ

487 名前:デフォルトの名無しさん mailto:sage [2009/07/07(火) 01:37:57 ]
return @return;
なら記述可能だな ただのネタだが



488 名前:デフォルトの名無しさん mailto:sage [2009/07/07(火) 12:18:01 ]
アセンブラならできるけどC#なら無理だな。
そういうスパゲッティコードを書きたいならC、C++使え。

489 名前:デフォルトの名無しさん mailto:sage [2009/07/07(火) 12:44:21 ]
>>487を見て意味がわかった
>>488を見て再びわからなくなった

490 名前:デフォルトの名無しさん mailto:sage [2009/07/07(火) 14:32:44 ]
C#のバージョンについて教えてください。

ttp://www.microsoft.com/japan/msdn/vstudio/express/vcsharp/
ここからC#をダウンロードしました。
これは特定のバージョンのコンパイラなのでしょうか?
それともどこかで設定できるのでしょうか?

またバージョン間の互換性はどうなっていますか?
1.0用のソースは2.0と3.0で、2.0用のソースは3.0でも問題無くコンパイルできるのでしょうか?

自分でも調べてみましたがコンパイラのバージョンなどがヒットしてしまいよくわかりませんでした。
よろしくお願いします。

491 名前:デフォルトの名無しさん mailto:sage [2009/07/07(火) 14:49:41 ]
C#と.NET Frameworkとで二つの側面があるが

C#は今のところ後方互換性はほぼ完全に取れてる
マルチバージョン対応なC#コンパイラは今のところ存在しないけど、
後方互換によって新しいコンパイラは古いバージョンのソースコードをコンパイルできる

.NETの標準ライブラリもソースレベルではまず問題ない Obsoleteになったのもあるけど廃止になったのは記憶にない
.NETは1.x系と2.0/3.0/3.5系(と今ベータ中の4.0)がある 3.0/3.5は2.0の追加ライブラリ的存在
VC#2008は開発ターゲットに.NET 2.0/3.0/3.5を選択できる

C#3.0は.NET3.5と同時公開だが、C#3.0コンパイラで.NET2.0の開発もできる(というかVC#2008がそうやってる)
ただラムダ式みたいな言語の機能はそのまま使えるが
System.Linq名前空間下のクラスとかは.NET3.5で追加されたライブラリなので.NET2.0開発時には使えない

492 名前:デフォルトの名無しさん mailto:sage [2009/07/07(火) 16:29:57 ]
詳しい説明、どうもありがとうございました。
とてもよく理解できました。

493 名前:デフォルトの名無しさん mailto:sage [2009/07/08(水) 17:10:13 ]
使用しているパソコンのCPU使用率を取得するためにはPerformanceCounter以外にも方法はありますか?

494 名前:デフォルトの名無しさん mailto:sage [2009/07/08(水) 17:12:13 ]
めんどくさい。ない。

495 名前:デフォルトの名無しさん mailto:sage [2009/07/08(水) 22:07:00 ]
WMI 使って Win32_Processor クラスの LoadPercentage 取って来れないかな?
めんどくさい。だな。

496 名前:デフォルトの名無しさん mailto:sage [2009/07/09(木) 02:10:39 ]
TypeBuilder.DefineProperty で動的にプロパティを生成しているのですが、

[Description("アアア")]
public int MyProp{ ... }

や、

[Category("イイイイ")]
public int MyProp {...}

などの属性をつけたいときはどうすればよいのでしょう?


497 名前:デフォルトの名無しさん mailto:sage [2009/07/09(木) 05:31:27 ]
SetCustomAttribute



498 名前:デフォルトの名無しさん [2009/07/09(木) 07:13:45 ]
panelコントロールとgroupboxコントロールに違いに、
「キャプションを表示するかどうか」
という内容がありますが、
どういう意味でしょうか?
ラジオボタンを配置してもラベルは表示されますし、
「キャプション」が何を指すかが分かりません(+_+)。
よろしくお願いします。

499 名前:デフォルトの名無しさん mailto:sage [2009/07/09(木) 08:44:12 ]
GroupBoxそのもののTextプロパティを表示するエリアがあるかどうか

グループで括ると左上に名前が出るだろ

500 名前:デフォルトの名無しさん [2009/07/09(木) 08:47:07 ]
>>496
まだやってんのか
いい加減そんな不毛なこと止めてグリッド使ったらどうだ

501 名前:デフォルトの名無しさん mailto:sage [2009/07/09(木) 12:30:14 ]
>>497
どうもありがとう!!

>>500
グリッドだとだめなんですよ.グリッドでプロパティグリッドを代用しようとすると、
列方向にプロパティ一覧(列によって型が異なる)、行方向に、オブジェクト一覧みたいなかんじになりますよね。

編集するオブジェクトはつねに1つでいいんです。
そうすると、常に1行で、編集可能なプロパティの数だけ列が存在する事になってしまいますよね(ヘッダ除く)。
オブジェクト1個に対して20のプロパティが存在するなら、
1行20列(ヘッダ除く)のとても使いにくいデータグリッドになります。

この場合、20行1列にしたい(ヘッダ除く)

グリッドの、行と列の機能を入れ替えられれば良いんですが、


502 名前:デフォルトの名無しさん mailto:sage [2009/07/09(木) 12:31:04 ]
C#の勉強をちょっとしてみたいのですが、
まずはじめに、何と、何と、何を
ダウンロードすればいいですか?

503 名前:デフォルトの名無しさん mailto:sage [2009/07/09(木) 12:33:59 ]
VisualStudio 2008 Express EditionとVisualStudio 2008 Express EditionとVisualStudio 2008 Express Edition

504 名前:デフォルトの名無しさん mailto:sage [2009/07/09(木) 12:35:31 ]
それはwindows2000でも動くのですか?

505 名前:デフォルトの名無しさん [2009/07/09(木) 12:39:12 ]
2000とか話にならない
最新のバージョンの.NETを使って作られたアプリケーションを動かすことすらできない

506 名前:デフォルトの名無しさん mailto:sage [2009/07/09(木) 12:41:54 ]
ネタでなくて、マジで2000だと開発できないの?

507 名前:デフォルトの名無しさん mailto:sage [2009/07/09(木) 12:44:08 ]
ネタではなくて、マジでサポート切れのOSで何しようって言うの?




508 名前:デフォルトの名無しさん mailto:sage [2009/07/09(木) 12:44:22 ]
できるよ

509 名前:デフォルトの名無しさん [2009/07/09(木) 12:46:07 ]
.NET2.0までなら2000でも可能だけど旧バージョンの無料のVS2005は提供終了
XPを買うか、VS2005を買うか、テキストエディタとSDKで頑張るか

510 名前:デフォルトの名無しさん mailto:sage [2009/07/09(木) 12:46:18 ]
>>508
2000の場合は、何をダウンロードすればいい?

511 名前:デフォルトの名無しさん [2009/07/09(木) 12:57:59 ]
Visual Studio 2005 ExpressのCDイメージは落とせるみたいだね

www.microsoft.com/japan/msdn/vstudio/express/maninstall/


512 名前:デフォルトの名無しさん mailto:sage [2009/07/09(木) 13:18:32 ]
>>509
2008の一番グレードの低いやつは無料でゲットできなかったっけ?

513 名前:デフォルトの名無しさん mailto:sage [2009/07/09(木) 13:20:46 ]
できるよ

514 名前:デフォルトの名無しさん mailto:sage [2009/07/09(木) 13:23:48 ]
できるけど2000(笑)にはインストールできない

515 名前:デフォルトの名無しさん mailto:sage [2009/07/09(木) 13:30:43 ]
>>496, >>501

SourceObjectからTypeDescriptor.GetProperties()でプロパティ記述子リストを取得。
名前を第一列に、値を第二列にバインドすればいいんじゃ?

WPFでなら軽く作ったことがあるがそこまで難しくないし、というか知識ゼロからTypeBuilderの方がよっぽどきつい。


516 名前:501 mailto:sage [2009/07/09(木) 14:31:11 ]
ん?それってもしかして
第1列はすべて読み取り専用文字列にして、
第2列は、行によってチェックボックスだったり、コンボボックスだったり、
テキストエディタだったり、というふうにできるということですか?
だとすれば次につくるエディタはぜひそれでつくりたい。。。。

P.S
とりあえず、動的なクラス+プロパティ生成によるプロパティグリッドの利用は、
これでほぼ思い通りにできるようになりました。どうもありがとう

517 名前:デフォルトの名無しさん mailto:sage [2009/07/09(木) 15:01:07 ]
>>503
VisualStudio 2008 Express Editionなんて無いよ



518 名前:デフォルトの名無しさん mailto:sage [2009/07/09(木) 15:12:23 ]
>>517
MSも各製品の総称として使ってるよ

519 名前:デフォルトの名無しさん mailto:sage [2009/07/09(木) 15:25:16 ]
一連の流れを見てたらゲシュタルト崩壊してきた

520 名前:デフォルトの名無しさん mailto:sage [2009/07/09(木) 15:41:14 ]
できるないないあるよ

521 名前:デフォルトの名無しさん mailto:sage [2009/07/09(木) 18:25:41 ]
最後のsが抜けてるとかスペースが足りないとかってレベルの揚げ足取りじゃない?
正確な製品名は
○ Visual Studio 2008 Express Editions
× VisualStudio 2008 Express Edition
らしいから
www.microsoft.com/japan/msdn/vstudio/express/

522 名前:デフォルトの名無しさん [2009/07/09(木) 18:25:58 ]
Windows XP
Visual Studio 2005 Professional Edition

.Net Framework 3.0を使いたいので
ttp://msdn.microsoft.com/ja-jp/library/cc825663.aspx
を参考に
Windows Vista™ および .NET Framework 3.0 ランタイム コンポーネント用 Microsoft® Windows® Software Development Kit

Visual Studio 2005 extensions for .NET Framework 3.0 (Windows Workflow Foundation) - 日本語
をインストールしたのですが、
vs2005で.NET 3.0でビルドする方法がわかりません。
教えてください。

523 名前:デフォルトの名無しさん mailto:sage [2009/07/09(木) 18:29:16 ]
止めてくれ。精神を害しそうだ。

524 名前:デフォルトの名無しさん mailto:sage [2009/07/09(木) 18:33:54 ]
>>522
.NET 3.0で開発するためにVS 2008が発売されてるんだ。経緯を考えてくれ。
Hackすればできないことはないという記事を見かけたことはあるが非常にお勧めしがたい。

525 名前:デフォルトの名無しさん mailto:sage [2009/07/09(木) 18:59:12 ]
メッセージについて勉強中。

PeekMessageでメッセージを受信したらTranslateMessageとDispatchMessageを
セットで呼んでおくのがお約束、みたいな解説を見たんだけど、
自前で処理するだけのユーザー定義メッセージにはどちらも必要ないよね?
まだ理解が浅いおかげて、今ひとつ確信が持てないんだけど。

526 名前:デフォルトの名無しさん mailto:sage [2009/07/09(木) 19:31:29 ]
>>525
普通はWndProcをoverrideするだけで十分。

527 名前:デフォルトの名無しさん mailto:sage [2009/07/09(木) 19:55:33 ]
>>526
あ、なるほど。言われてみればそうですね。



528 名前:デフォルトの名無しさん mailto:sage [2009/07/10(金) 00:38:59 ]
>>522
.NET 3.0は単なる追加ライブラリだから
参照の追加で必要なアセンブリ参照するだけ。

WPFのデザイナが使いたいとかならそのページにあるように
もう提供されてないから無理。

529 名前:デフォルトの名無しさん [2009/07/10(金) 08:35:34 ]
>>524, >>528
レスありがとうございます。

>.NET 3.0は単なる追加ライブラリだから
>参照の追加で必要なアセンブリ参照するだけ。

そういうことだったんですね。
勘違いしてました。ありがとうございました。

530 名前:デフォルトの名無しさん mailto:sage [2009/07/11(土) 15:24:20 ]
enumにintしか入らないのがむかつく

531 名前:デフォルトの名無しさん mailto:sage [2009/07/11(土) 15:28:34 ]
こらえてくだされ

532 名前:デフォルトの名無しさん mailto:sage [2009/07/11(土) 15:43:12 ]
>enumにintしか入らない
?????

533 名前:デフォルトの名無しさん mailto:sage [2009/07/11(土) 15:46:59 ]
整数型と言いたいんじゃないのか。たぶん。

534 名前:デフォルトの名無しさん mailto:sage [2009/07/11(土) 15:48:35 ]
mscorlibのmsってなんですか?

535 名前:デフォルトの名無しさん mailto:sage [2009/07/11(土) 15:51:06 ]
マイクロソフト

536 名前:デフォルトの名無しさん mailto:sage [2009/07/11(土) 15:54:21 ]
MicroSoft COmmon language Runtime LIBrary
でmscorlib

537 名前:デフォルトの名無しさん mailto:sage [2009/07/11(土) 17:07:36 ]
core library かとおもってた



538 名前:デフォルトの名無しさん [2009/07/11(土) 17:46:59 ]
はじめまして。
スプリットコンテナーですが、
上下の分割はできないのでしょうか。
ご存知の方、よろしくお願いします。

539 名前:デフォルトの名無しさん mailto:sage [2009/07/11(土) 17:49:43 ]
Orientationプロパティ

540 名前:デフォルトの名無しさん mailto:sage [2009/07/11(土) 18:02:12 ]
>>536
mscorlibのCORは、CLRの初期の名称だったComponent Object Runtimeの略。

もちろん、次世代COMとして名前も中身もCOMの影響を受けていて、その思想は現CLRに受け継がれている、
というようなこと、何の本で読んだか思い出せないけど。

541 名前:デフォルトの名無しさん [2009/07/11(土) 18:38:39 ]
上、下、左、右、中央にpanelを置いており、
全てにスプリッターを入れたけど、
1つしか動いてくれません(+_+)。
何かコツはありますか?

542 名前:デフォルトの名無しさん [2009/07/11(土) 18:40:00 ]
>>539
ありがとうございますっっっ!!!!!!!!!!!!!!!!!

543 名前:デフォルトの名無しさん mailto:sage [2009/07/11(土) 19:38:05 ]
>>541
いきなり5分割じゃなくて上中下の3分割から練習する

544 名前:デフォルトの名無しさん [2009/07/11(土) 23:30:08 ]
>>543
ありがとうございます。

545 名前:デフォルトの名無しさん [2009/07/11(土) 23:39:40 ]
treeviewを作っています。
ノードを選択したとき、初期設定では青色に反転しますが、
反転しているときに、文字が縦に中央揃えになっていません。
この縦位置を中央に指定する方法があれば教えていただけないでしょうか。

546 名前:デフォルトの名無しさん [2009/07/12(日) 01:12:59 ]
sxa

547 名前:デフォルトの名無しさん [2009/07/12(日) 01:43:45 ]
>>546
何の意味ですか…?
教えてください。



548 名前:デフォルトの名無しさん mailto:sage [2009/07/12(日) 03:03:53 ]
勝手にくるくる動いたらウザくない?

549 名前:デフォルトの名無しさん [2009/07/12(日) 13:00:08 ]
vsのツールウィンドウみたいに、
画面の左右にタブを出して自動的に隠すことってできますか?

550 名前:デフォルトの名無しさん [2009/07/12(日) 13:26:29 ]
docpanel suite

551 名前:デフォルトの名無しさん [2009/07/12(日) 13:52:28 ]
>>550
C#のクラス?

552 名前:デフォルトの名無しさん mailto:sage [2009/07/12(日) 13:57:59 ]
ぐぐれ

553 名前:デフォルトの名無しさん [2009/07/12(日) 14:21:55 ]
>>552
ググったけどなかった。

554 名前:デフォルトの名無しさん mailto:sage [2009/07/12(日) 14:35:36 ]
一番上に出るじゃないか

555 名前:デフォルトの名無しさん mailto:sage [2009/07/12(日) 14:35:39 ]
>>553
うそつき

556 名前:デフォルトの名無しさん mailto:sage [2009/07/12(日) 14:40:05 ]
最悪w

557 名前:デフォルトの名無しさん mailto:sage [2009/07/12(日) 14:43:17 ]
>>553
うそつき



558 名前:デフォルトの名無しさん [2009/07/12(日) 14:45:32 ]
すみません。ありました。
yahooで見ていました。

559 名前:デフォルトの名無しさん mailto:sage [2009/07/12(日) 14:46:27 ]
死罪

560 名前:デフォルトの名無しさん [2009/07/12(日) 14:49:26 ]
店舗月の売上一覧を作りたいと思っています。
DBから固定項目を単票形式で見栄え良く表示させるには、
何が一番適しているでしょうか。
datagridviewでしょうか。

561 名前:デフォルトの名無しさん mailto:sage [2009/07/12(日) 14:53:52 ]
SQL

562 名前:デフォルトの名無しさん [2009/07/12(日) 14:55:13 ]
>>561
SQLそのものが表示コントロールになるの?

563 名前:デフォルトの名無しさん mailto:sage [2009/07/12(日) 14:55:28 ]
ExcelとAccess

564 名前:デフォルトの名無しさん [2009/07/12(日) 14:58:38 ]
既存のC#アプリのpanel内に新たに表示させなければいけないんです。

565 名前:デフォルトの名無しさん mailto:sage [2009/07/12(日) 15:00:47 ]
じゃあDataGridViewで良いんじゃないかな

566 名前:デフォルトの名無しさん [2009/07/13(月) 20:35:02 ]
DataGrid にはカラム名の上に、CaptionText という
タイトル名を表示するエリアがあったのですが
DataGridView にそれらしきプロパティが見つかりません。
DataGridView では CaptionText に相当する機能は切捨てられたのでしょうか?
よろしくお願いします。

567 名前:デフォルトの名無しさん mailto:sage [2009/07/14(火) 18:09:07 ]
DataGridは複数の階層状テーブルを表示する機能があったから必要だったけど
DataGridViewは単一テーブル表示になったから不要になった



568 名前:デフォルトの名無しさん mailto:sage [2009/07/14(火) 19:39:56 ]
>>567
そういう経緯があったんですか
ありがとうございます

569 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 09:34:20 ]
Application.Idleにイベントハンドラを登録してディスプレイの毎フレームごとに処理を行うように
作っているところなのですが、
アプリケーションがアクティブなときは問題ないものの、(毎秒60回呼び出される)
アクティブでなくなったときは20フレーム程度まで落ちてしまいます。
これを回避する方法はありませんでしょうか?

570 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 09:46:21 ]
>>569
呼び出す方法を変える

571 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 09:54:37 ]
>>570
呼び出す方法を変えるとしたら、どのような方法が挙げられますか?

572 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 10:26:24 ]
>>571
タイマーを使うとか、きっちり画面に同期させたいならDirectXを使うとか

573 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 10:57:12 ]
>>572
タイマーでは50ms程度の精度しか出ないので60フレーム(16ms)レベルの処理では使えません。

ずばりDirectXを使用しているプログラムです。
リフレッシュレートが60Hzを超えているディスプレイでも秒間60フレームを維持できるようにしようと考えています。

DirectXのフレーム同期では、結果としてリフレッシュレートに同期することになると思うのですがいかがでしょうか。

574 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 12:19:33 ]
>>573
APIで用意されているタイマーには種類がいくつかあって、約55ms間隔のもあるけど
もう少し速い約16ms間隔というのもある。

で、DirectX使ってるのに同期すると困るの?

575 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 12:49:46 ]
その手のリアルタイム処理は標準的なメッセージループと相性があまりよくない
だからそこ弄るか素直にそういうことやってるの使うと吉

576 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 13:14:11 ]
時間測って、必要に応じて中で何度か更新処理だけ繰り返せばいいだろ
描画のタイミングさえあっていれば、更新処理自体は別に等時間間隔で呼び出す必要はないんだから

577 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 13:44:12 ]
質問内容については自己解決しました。
アクティブでないときに50msのウェイトをかける処理が残っていただけでした。

>>574
興味深いですね。そのような精度のタイマー(System.Timer)があるんですね。
System.Threading.Timerとは使い方が微妙に違うようです。
今回は結果として必要なくなったのですが、また必要になったときに詳しく調べてみることにします。
どうもありがとうございます。



578 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 13:54:13 ]
>>576
ほかのウィンドウメッセージと同期的に動かさないといけないので、(フルスクリーンモード切替とか)
他のスレッドを立ててまわすのはまずいんです。

まあ、やってできないことはないんですけどね。

579 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 19:07:57 ]
WebBrowser.NavigateToString メソッド が使いたくてソリューションエクスプローラー参照の追加で
PresentationFrameworkを追加し、namespace WindowsFormsApplication1内に
using System.Windows.Controls;
と記述しても
「'System.Windows.Forms.WebBrowser' に 'NavigateToString' の定義が含まれておらず、
型 'System.Windows.Forms.WebBrowser' の最初の引数を受け付ける拡張メソッドが見つかりません
でした。using ディレクティブまたはアセンブリ参照が不足しています。」
とエラー表示されて使用出来ません
同じ名前空間とアセンブリのWebBrowser.Navigate メソッドは問題なく使えるのですが
設定の仕方が間違っているのでしょうか?

580 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 19:27:11 ]
System.Windows.Controls.WebBrowser使わないと駄目だぜ
でWinForm上で表示するならSystem.Windows.Forms.Integration.ElementHostが必要

581 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 19:45:35 ]
つかHTMLを表示したいだけならSystem.Windows.Forms.WebBrowserでもDocumentTextとか使えば良いんだが…

582 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 20:30:56 ]
>>578
自前でループ書き、メッセージ処理はApplication.DoEventsで処理させるというのはどう?

583 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 20:48:33 ]
>>580
System.Windows.Forms.Integration.ElementHostが必要ということでまだそれを理解するには時間がかかりそうです
勉強してみます ありがとうございました

>>581
.WebBrowser1.DocumentText = "test";
と書いて表示する事が出来ました
ヘルプから調べられるWebBrowserメンバでtextとかstringで検索しても出てこなかったので
あることすら知りませんでした ありがとうございました



584 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 22:17:21 ]
Windows.Formのクラスが

Form1.cs
Form2.cs
Form3.cs



とあってそれらフォームのタイトル、Textを取得することはできますか?
リフレクションでクラス名は取得できたんですが。
そのクラス名からActivator.CreateInstance()してTextも取れるんですが、
どうにも遅いです。
簡単に速い方法があったら教えてください。

585 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 22:21:55 ]
ありません
そんなものが必要になること自体間違っています
まずは考え方を矯正しましょう

586 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 22:51:13 ]
初心者がリフレクションを使う場合、本当は必要ないことがほとんどだ。

587 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 00:09:53 ]
あらかじめ(静的に)FormのタイトルとTextを格納したデータを持てば?



588 名前:デフォルトの名無しさん [2009/07/16(木) 00:14:51 ]
if(hoge==null){return}
if(hoge!=null){...}
nullチェックってどっちがいいんでしょうか?好みでいいんですね?

589 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 00:24:43 ]
>>588
nullかどうかの問題じゃなくて、
if-else は短い方から書けっていう格言があったりする。

590 名前:デフォルトの名無しさん [2009/07/16(木) 00:28:35 ]
APIを利用する為にテキストボックスに入力されたテキストを
constにする必要があるんですがどうすれば良いでしょうか?

591 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 00:29:50 ]
>>589
ありがとうございます。
そんな格言があるんですね。いつも長い方から書いていた。この場合は前者を使用すべきですね。

592 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 01:01:03 ]
>>590
ちょっとそのAPIのDllImportしてるところ書いてみろ

593 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 01:19:10 ]
>>592
DllImportしてるなんて微塵も書いてないが…

594 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 01:26:37 ]
じゃあどうやってAPI呼んでるんだ?

595 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 01:39:01 ]
「APIを利用」とは何の事だよ

596 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 02:13:15 ]
LoadLibraryとGetProcAddressをDllImportして
関数ポインタにMarshal.GetDelegateForFunctionPtr使ってデリゲート取得してAPI呼んでるとか?

597 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 02:27:35 ]
>DllImportしてるなんて微塵も書いてないが
で、してるの?してないの?



598 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 02:43:36 ]
APIを常人とは違う意味で使っているに10ゲイツポイント

599 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 03:35:54 ]
APIと言っただけで、Win32APIと言った訳ではないしね

600 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 05:39:31 ]
それがどうした

601 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 08:00:39 ]
>>598
a πとか?

602 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 08:39:34 ]
>>597
俺にきくな

603 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 11:09:05 ]
>>600>>602
何で一々噛みついてんの?

604 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 18:04:11 ]
APIはDLLだけだと思ってる人があらわれた!

605 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 18:12:03 ]
あらわれなくていいよ

606 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 18:43:42 ]
>>590は現れろよ

607 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 18:45:37 ]
もう逃げたってば



608 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 19:30:34 ]
WebAPIの類とか・・・
そんでもTextBox.Textがほにゃららの件は意味分からんけど

609 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 19:35:39 ]
const char*の引数を持つAPIに
stringを渡したいけどどうすればいいかと
聞いてるだけとか

んで書き込んだ直後に解決してほったらかし

610 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 19:36:51 ]
593が要らん突込みをしなければこんな伸びなかったな。

611 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 19:47:33 ]
みんなこれくらいなら答えられそうだと思っててうずうずしてるんでしょ

612 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 22:54:46 ]
C#ってフリーの開発環境あるんですか?

613 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 22:55:58 ]
まずフリーの意味をだな

614 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 23:02:00 ]
>>612
MONOというものがあるので使ってみたら?

615 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 23:21:31 ]
フリーの開発環境・・・VisualStudioExpressEditionとSharpDevelopがあるが。

616 名前:デフォルトの名無しさん mailto:sage [2009/07/17(金) 00:15:33 ]
emacsでいいよ

617 名前:デフォルトの名無しさん mailto:sage [2009/07/17(金) 00:17:44 ]
へぼすぎて却下



618 名前:デフォルトの名無しさん mailto:sage [2009/07/17(金) 00:52:15 ]
emacsって、慣れてる人には良いんだろうけど、
とても俺には向いてない。

619 名前:デフォルトの名無しさん mailto:sage [2009/07/17(金) 01:39:12 ]
スクリプト言語ならともかくC#でemacsはかえって損だろw

>>603
どのあたりが噛まれてるんだ?
一方的におまいがプッツンしてるようにしかみえん



620 名前:デフォルトの名無しさん mailto:sage [2009/07/17(金) 02:01:20 ]
>>619
>どのあたりが噛まれてるんだ?
>一方的におまいがプッツンしてるようにしかみえん
↑こういうのが 噛みつく って言うんじゃね?
おまいもプッツンしてるようにしかみえん

621 名前:デフォルトの名無しさん mailto:sage [2009/07/17(金) 02:49:05 ]
いいからもう失せろよゴミ君

622 名前:デフォルトの名無しさん mailto:sage [2009/07/17(金) 05:41:04 ]
>>621
プッツンしてるの?

623 名前:デフォルトの名無しさん mailto:sage [2009/07/17(金) 06:35:32 ]
してないよチンカス君

624 名前:デフォルトの名無しさん mailto:sage [2009/07/17(金) 06:51:44 ]
「プッツン」って懐かしいなw

625 名前:デフォルトの名無しさん mailto:sage [2009/07/17(金) 06:56:10 ]
グリコが作ってるプリンだっけ

626 名前:デフォルトの名無しさん mailto:sage [2009/07/17(金) 08:49:52 ]
それプッチンや

627 名前:デフォルトの名無しさん mailto:sage [2009/07/17(金) 09:03:57 ]
>プッツン・ゴミ君・チンカス君
言葉の選び方が古臭いのは何でだろう。書いてる人の年齢が気になるw



628 名前:デフォルトの名無しさん mailto:sage [2009/07/17(金) 09:35:04 ]
IDありなら真っ赤な奴がいるな
単発のフリもしてそうだな

629 名前:デフォルトの名無しさん mailto:sage [2009/07/17(金) 11:30:48 ]
今、入力チェックの勉強中。
Validatingでやるのがいいようだけど問題もいろいろあるみたいで悲しい。
いまいちValidatingが発生する条件が分からん。
TextBox1にいてフィールド移動するとなぜかTextBox5のValidatingが発生したりする・・・
その時はTextBox5でエラー値入れてESCキャンセルでTextBox5のValidatingをスキップするようにしてTextBox1にフォーカス移動してる。
スキップはここ参考にした。www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=29042&forum=7
で、TextBox1からフィールド移動するとなぜかTextBox5のValidatingが発生・・・
VS2003だけど古いから変なのかな?
マシン古いからVS2003でも遅いぜよ(Delphi2007はさくさく動いてるけど)

630 名前:デフォルトの名無しさん mailto:sage [2009/07/17(金) 12:40:20 ]
>>629
リソースファイルをエディタで書き換えると、コントロールとイベントハンドラの
関連付けがおかしくなるよ。
そういう変なことはやってないと言い切れるなら、あとは…

別のテキストボックスへ移る時、キーボード操作(Tabキーなど)とマウスの時とで
イベントの発生する順序が変わるってのがある。
ttp://msdn.microsoft.com/ja-jp/library/system.windows.forms.control.validated.aspx

631 名前:デフォルトの名無しさん mailto:sage [2009/07/17(金) 15:13:10 ]
XmlDocument doc = new XmlDocument();
doc.LoadXml("file.xhtml");

こんな感じで、DOCTYPE宣言のあるxhtmlを読み込んでみたんですが、
たかだか4kくらいのファイルでも1分はかかってしまいます。
こういう仕様なのでしょうか。


632 名前:デフォルトの名無しさん mailto:sage [2009/07/17(金) 15:33:24 ]
外部エンティティとか使ってない?

633 名前:デフォルトの名無しさん mailto:sage [2009/07/17(金) 16:33:00 ]
>>630
> リソースファイルをエディタで書き換えると、コントロールとイベントハンドラの
それは触ってない、っていうかC#始めたばっかりで
リソースファイルが何なのか分からなかったり。

> 別のテキストボックスへ移る時、キーボード操作(Tabキーなど)とマウスの時とで
> イベントの発生する順序が変わるってのがある。
その情報は見つけて問題ないようにはしたんだよねー

なんとなくこれと同じ感じなのかなって気が。
www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=22041&forum=7
仕様なのか・・・ ウヒー

634 名前:デフォルトの名無しさん mailto:sage [2009/07/17(金) 18:50:08 ]
>>633
仕様じゃしょうがないよね。
イベントの発生順序はコントロールできないから、
グローバル変数に状態を覚えておいて
自前で制御ってのはよく使う手。

635 名前:デフォルトの名無しさん mailto:sage [2009/07/17(金) 18:57:43 ]
>>632
使ってないですー


636 名前:デフォルトの名無しさん mailto:sage [2009/07/17(金) 19:07:54 ]
>>635
DOCTYPE宣言でttp://のDTD読み込んでないの?

637 名前:デフォルトの名無しさん mailto:sage [2009/07/17(金) 23:08:32 ]
[DllImport("ws2_32.dll", CharSet = CharSet.Unicode, SetLastError = true, CallingConvention = CallingConvention.StdCall)]
static extern Int32 recv(
Int32 s,
IntPtr buf,
Int32 Len,
Int32 flags);

こんな風にしてDLLを直接呼び出すんだけどwsock32.dllの方も同時に使いたい場合はどう書けばいいの?
例えばwinsock32の方はrecv1でws2_32の方はrecv2で呼び出せるようにしたい

直接呼び出すことに意味のあるプログラムなんで、他に便利なクラスがあるだろとか
片方だけ使えとかそういうのは無しの方向でお願いします



638 名前:デフォルトの名無しさん mailto:sage [2009/07/17(金) 23:20:27 ]
[DllImport("wsock32.dll", CharSet = CharSet.Unicode, SetLastError = true, CallingConvention = CallingConvention.StdCall)]
static extern Int32 recv1(
Int32 s,
IntPtr buf,
Int32 Len,
Int32 flags);

[DllImport("ws2_32.dll", CharSet = CharSet.Unicode, SetLastError = true, CallingConvention = CallingConvention.StdCall)]
static extern Int32 recv2(
Int32 s,
IntPtr buf,
Int32 Len,
Int32 flags);

639 名前:デフォルトの名無しさん mailto:sage [2009/07/17(金) 23:22:03 ]

[DllImport("wsock32.dll", CharSet = CharSet.Unicode, SetLastError = true, CallingConvention = CallingConvention.StdCall, EntryPoint="recv")]
static extern Int32 recv1(
Int32 s,
IntPtr buf,
Int32 Len,
Int32 flags);

[DllImport("ws2_32.dll", CharSet = CharSet.Unicode, SetLastError = true, CallingConvention = CallingConvention.StdCall, EntryPoint="recv")]
static extern Int32 recv2(
Int32 s,
IntPtr buf,
Int32 Len,
Int32 flags);

640 名前:637 mailto:sage [2009/07/17(金) 23:22:37 ]
自己解決した

641 名前:デフォルトの名無しさん mailto:sage [2009/07/17(金) 23:23:20 ]
>>639
その通りでした。どもども

642 名前:デフォルトの名無しさん mailto:sage [2009/07/17(金) 23:28:01 ]
クラス分けるとかって手もあるけどな

643 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 00:31:37 ]
AutoElipsis = trueの時にテキストの省略された部分が
...ではなく…になるのは日本固有の領土ですか?

644 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 00:40:12 ]
>>643
フォントの問題では?
欧文フォントだと「…」のグリフが、 ... のように下のほうに点が配置されているのはよくあるよ。
実際、MS Sans Serif、TahomaやSegoe UIとかの歴代の欧米のUIフォントも軒並みそうなっている。

645 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 00:50:21 ]
とりあえず「日本固有の領土」と関係ないのは確かだw

646 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 01:32:11 ]
MS-IMEの変換候補でも下の方に小さい点が並んだやつが出てくる
まぎらわしいからやめてほしいんだが

647 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 02:35:20 ]
>>481
簡単にいってよー
プロばかりじゃないんだよー



648 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 02:56:53 ]
>>647
JITに任せておけば勝手に上手い事やってくれる。 これだけ頭に入れときゃおk

649 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 08:09:13 ]
>>643
同じ約物であっても言語によって組み方が変わるのはよくあること。

650 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 19:25:57 ]
Winsockで作ったSOCKETをSocketクラスに割り当てることって出来ますか?

651 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 19:34:24 ]
>>650
「割り当てる」ってなにをすること?

652 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 20:16:55 ]
「SafeFileHandleを引数に取るFileStreamコンストラクタのようなもの」のソケット版が欲しいということだろう。

653 名前:デフォルトの名無しさん mailto:sage [2009/07/19(日) 20:46:16 ]
List<string> hogeA の中身

c:\temp\01.dat
c:\temp\02.dat
c:\temp\03.dat
c:\temp\04.dat
c:\temp\05.dat


List<string> hogeB の中身

01.dat
03.dat
05.dat


hogeAのうち、hogeBに含まれない
c:\temp\02.dat
c:\temp\05.dat
を残し、これをあらためてhogeAとしたいです。

これを実現するにはどのようにプログラムを組めばよろしいでしょうか?

654 名前:デフォルトの名無しさん mailto:sage [2009/07/19(日) 20:49:53 ]
1. hogeA の要素を列挙する
2. 各要素が hogeB に含まれているか判断する
3. 含まれていなければ、 hogeC に追加
4. これを繰り返す
5. hogeC を hogeA に設定

655 名前:デフォルトの名無しさん mailto:sage [2009/07/19(日) 20:50:28 ]
hogeB に含まれてたら、hogeA から削除、って方がわかりやすいね。

656 名前:デフォルトの名無しさん mailto:sage [2009/07/19(日) 20:57:53 ]
LINQ に Except ってのがあるよ。
ufcpp.net/study/csharp/sp3_stdqueryo.html#set

657 名前:デフォルトの名無しさん mailto:sage [2009/07/19(日) 20:59:01 ]
2重のfor文を回す必要があるというわけでしょうか?



658 名前:デフォルトの名無しさん mailto:sage [2009/07/19(日) 21:01:20 ]
>>657
突き詰めればその通り。
List<T>.ExistsとかEnumerable.Exceptで見た目上のループは減らせるけどな。

659 名前:デフォルトの名無しさん mailto:sage [2009/07/19(日) 21:03:31 ]
この辺の繰り返し処理はプログラミングの基本の基本。便利なライブラリの機能に
お任せしちゃうのではなく、一度は自分で実装してみることをお勧めするよ。

660 名前:デフォルトの名無しさん mailto:sage [2009/07/19(日) 21:24:42 ]
そして一度実装したあとは、ライブラリの機能のほうを使うようにすべき、だね。

661 名前:デフォルトの名無しさん mailto:sage [2009/07/19(日) 22:47:22 ]
バーで繋いで正規表現にする方法もあるな。あまりお勧めは出来ないが。



662 名前:653 mailto:sage [2009/07/19(日) 23:08:25 ]
removeAllメソッドを使って除去しようと試みました。

for (int i = 0; i < hogeB.Count; i++){
 hogeA.removeAll(
  delegate(string s)

 );
}

663 名前:653 mailto:sage [2009/07/19(日) 23:10:26 ]
失礼、途中で投稿してしまいましたorz・・・

removeAllメソッドを使って除去しようと試みました。

for (int i = 0; i < hogeB.Count; i++){
 hogeA.removeAll(
  delegate(string s)
   {
    s == @"c:\temp\" + hogeB[i];
   }
 );
}

ただこれだとコンパイル時にエラーが発生してしまいました。
どこか書き方に間違いでもあるでしょうか?

664 名前:デフォルトの名無しさん mailto:sage [2009/07/19(日) 23:16:01 ]
エラー読めよ

665 名前:653 mailto:sage [2009/07/19(日) 23:20:54 ]
最も適しているオーバーロード メソッドには無効な引数がいくつか含まれています。
匿名メソッド' から 'System.Predicate<string>' に変換できません。
割り当て、呼び出し、インクリメント、デクリメント、および新しいオブジェクトの式のみがステートメントとして使用できます。

表示されているエラーはこの3つでした

666 名前:デフォルトの名無しさん mailto:sage [2009/07/19(日) 23:22:06 ]
匿名メソッドの戻り値が明示されていない
returnをしてないし

667 名前:653 mailto:sage [2009/07/19(日) 23:38:18 ]
>>666
そういうことでしたか( ̄□ ̄;)!!

for (int i = 0; i < hogeB.Count; i++){
 hogeA.removeAll(
  delegate(string s)
   {
    if ( s == @"c:\temp\" + hogeB[i] )
     return true;
    else
     return false;
   }
 );
}

で、ひとまずはビルドは通ったようです。
これで様子を見てみます。
ありがとうございました。

ちなみにこれよりもっとスマートな記述方法はあると思いますか?
ベースは C#2.0 + .Net Framework2.0 ということで。



668 名前:デフォルトの名無しさん mailto:sage [2009/07/19(日) 23:39:51 ]
.NET 2.0はともかく、C#2.0はもう捨てようよ。

669 名前:デフォルトの名無しさん mailto:sage [2009/07/19(日) 23:40:28 ]
return (s == @"c:\temp\" + hogeB[i]);

670 名前:デフォルトの名無しさん mailto:sage [2009/07/19(日) 23:41:36 ]
3.0
removeAll( (s)=>(s == @"c:\temp\" + hogeB[i]) );

671 名前:653 mailto:sage [2009/07/19(日) 23:48:52 ]
>>669
あ、そんな略記があったのね(;^ω^)

>>668
>>670
それが持ってるのがVS2005なもんで(´・ω・`)・・・

672 名前:デフォルトの名無しさん mailto:sage [2009/07/19(日) 23:49:55 ]
略記って……
おまえが勝手に複雑に書いてるだけだろ……

673 名前:デフォルトの名無しさん mailto:sage [2009/07/19(日) 23:50:59 ]
低品質なスレですね

674 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 01:37:43 ]
>>671
2005 でも LINQ 使えるようにできるだろ

675 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 01:39:09 ]
すまん LINQ じゃなくてラムダ式か

676 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 01:43:14 ]
>>674
2008で.NET 2.0対象のときでもラムダ式を含むC# 3.0の構文が使えるということとごっちゃにしていない?

677 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 02:12:31 ]
>>671
Expressでいいからとっとと2008にすべき



678 名前:653 mailto:sage [2009/07/20(月) 02:12:39 ]
>>674
2005じゃλは使えない気が(;・∀・)・・・

679 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 02:18:56 ]
hogeBのループはforじゃなくてforeach使うべきだね

680 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 02:27:11 ]
JITなんだジットってもー
地頭か?何だ?簡単に頼むよ

681 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 02:47:26 ]

λ......        ザッザッザッ… λ......       λ......λ......         λ......       λ......
     λ......            λ......λ......         λ......       λ......
樹     λ......      λ......            λ......λ......         λ......       λ......
海  λ......                  λ......λ......         λ......       λ......
←       λ......          λ......λ......         λ......       λ......
                λ......λ......         λ......       λ......
    λ......       λ......        λ......         λ......       λ......  λ......トボトボ
                              ザッザッザッザ…

682 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 02:49:36 ]
>>679
どうして?

>>681
ちょっwwwww

683 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 09:25:26 ]
C#2,0捨てようとかアホか。
ラムダ式なんて無理に使う必要ねーよ。

684 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 10:15:07 ]
ラムダ式をありがたがる心理って簡潔至上主義だと思ってるが、どうなんだろ。
簡潔さ以外にメリットある?
そして簡潔さによる保守性低減のトレードオフって収支は本当にプラス?

685 名前:デフォルトの名無しさん [2009/07/20(月) 10:21:06 ]
>>684
2chスレのラムダ支持層レベルだとトレードオフにはならないね。
無駄に使いたがる印象しかない。

686 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 11:39:29 ]
>>684
遠く離れたところに1行関数を作って呼ぶよりも、ラムダにしたほうが簡潔で保守性は良くなるね。

それ以上に凝るのは趣味の世界だね〜。

687 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 11:40:53 ]
>>684
その場に処理書かないとかえって見づらい場合ない?

1・2行だけDispatcher.Invokeしたいときとか、
変換テーブル作りたいときとか。

要するに↓みたいな。

Dispatcher.BeginInvoke(() => { OutputText.Text = hoge; });

var table = new Dictionary<string, Func<int, int>> {
 { "TypeA", x => x * x },
 { "TypeB", x => Math.Abs(x) },
...



688 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 11:43:01 ]
LINQ の仕組みにはラムダ必須だし、

あと、ローカル変数をキャプチャしたい場合、
ラムダ(というか匿名デリゲート)がなかったら
わざわざinnerクラス1個書かなきゃいけなくなるしねぇ。


689 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 11:48:18 ]
>>686
デリゲート使えば遠くに関数作る必要はない。

690 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 12:07:54 ]
匿名メソッドで済むって話でそ。
まあ最初からラムダが使えれば匿名メソッドはあんまいらんけど。
濫用するような話とはまた別ね。


691 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 12:18:38 ]
あー、() => {} 構文じゃなくて delegate(){} 構文使うのじゃダメかって話か。

あれもでも、C# 開発者曰く
「ラムダを先に導入してたらdelegate構文なんて用意しなかった」
って言ってるしなぁ。


692 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 12:29:58 ]
{}で囲めばラムダでも複数のステートメントもreturnも書けるから実際匿名メソッドは要らない
匿名メソッドの唯一のメリットはパラメータを省略できることだけど、
それだけのために表記のゆらぎを許す価値があるかどうか

693 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 12:37:41 ]
そのうちMSがガイドラインで何か言い出すんじゃないかと思ってる

694 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 12:44:38 ]
λ式のトレードオフを語っている割に、デメリットが出ていない気がw

695 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 12:47:32 ]
delegateより視認しにくいくらいじゃねえの

696 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 12:56:09 ]
言語の方向性として、関数型を取り入れていくよと明言されてるわけで
わかりにくいとかいうのは無意味だな

697 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 13:12:06 ]
構文の親和性の低さによる視認性の悪さもあるけど
引数の型を省略できることの分かりづらさってのはどうなの。



698 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 13:12:59 ]
いずれにせよ、初心者用スレで延々と語る話じゃない。

699 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 13:31:53 ]
キャプチャ周りの罠は初心者も気をつけるべきだろ

700 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 14:07:20 ]
保守性下がるので業務では使えない。

701 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 14:29:34 ]
保守性下がるのでC#は使えない。

702 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 14:50:59 ]
ラムダ厨はテスト端折るので一緒に仕事したくない。

703 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 15:00:41 ]

462 名前:デフォルトの名無しさん[sage] 投稿日:2009/07/06(月) 20:59:27
LINQ書く奴ってなんでテスト端折る奴ばかりなんだ?

469 名前:デフォルトの名無しさん[sage] 投稿日:2009/07/06(月) 21:58:25
テストまで1/3にしないでください。

702 名前:デフォルトの名無しさん[sage] 投稿日:2009/07/20(月) 14:50:59
ラムダ厨はテスト端折るので一緒に仕事したくない。






余程な職場環境におかれておられる様で
無様で惨めだな

704 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 15:07:01 ]
職場とか業務でどうとか言われてもねえ…。
ここ初心者スレだし、「そうですか。おつかれさまです」としか言いようがないな。

それともあれか?報われないのを褒めて欲しいのか?
そういうのはマ板でやってくれよ。

705 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 15:08:26 ]
3.0仕事で導入してるのってどんぐらいなんだろうな
今はまだ2.0のほうが意思合わせ楽そうだけど

706 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 15:13:06 ]
>>704
どこの初心者スレも似たようなもんだけどな
javaスレとか

明らかに底辺ドカタのストレス発散場になってる
そんなことをしていてもお前の暮らしは向上しないのにな

707 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 15:19:57 ]
独立すりゃいいのに



708 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 15:22:04 ]
ラムダスレとか建てても、結局初心者スレを荒らしに来るから意味なし。

709 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 15:28:41 ]
弱い者達が夕暮れさらに弱い者をたたく構図ですね、わかります。

710 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 15:41:38 ]
c#はまだおわらんよ!でもVCのほうも同じぐらい力入れてくれるとありがたいです;;

711 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 15:43:42 ]
C#でWindowsコンポーネントを使わないUIってどうやったら作れますか?
情報が載ってる本かサイトを教えてもらえると嬉しいです。
例えば、Mac風デザインのような感じです。

712 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 15:49:45 ]
>>711
GUI ツールキットを使うことになるんだろうけど、あんまりないなぁ。
Qt は使えるんだっけ。

713 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 15:51:32 ]
WPFだろ
デザインは自由自在

714 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 16:02:31 ]
WPFってガワ部分は変えられないんですか?

715 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 16:05:14 ]
ガワ?

716 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 16:13:32 ]
最大化や閉じるボタンなどがある枠です。
その内側では何でもできそうな感じで、かなり素晴らしいのですが。

717 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 16:13:43 ]
ウィンドウの枠を非表示にしてそれっぽいのを自分で描く



718 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 16:16:47 ]
>>717
なるほど。WPFをMSサイトで勉強してきます。
参考になりました。ありがとう。

719 名前:デフォルトの名無しさん [2009/07/20(月) 17:10:08 ]
入門書でC#の基礎文法を一通り勉強しました。
しかし、今までスクリプター(Perl, JavaScript, Ruby)で、
GUIアプリケーションの制作経験は皆無であるため、
Visulal Studio でGUIアプリケーションを作る方法がよく理解できません。
何となくならいじれるのですが、体系的に勉強するにはどうするのがオススメでしょうか?

720 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 17:14:19 ]
>>719
畳の上の水泳より、下手でもとにかく水の中で泳ぐほうが学習効率高いんじゃない?
GUIは特にそうだと思うけど。
(必要なら)体系的学習は後追いでもできるし。

721 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 17:22:27 ]
>>720
入門書は全てcsc.exeを使ってコンソールで作業していたので、
まずは、チュートリアル的なサンプルアプリケーションを何個か作りたいんですよね。

広く浅くでいいので、VSおよびGUIアプリ制作を把握したいのですが、
MS公式の解説書は何だかMSDNチュートリアル同様で、入門の入門という感じだし、
他の入門書は、VSについてほとんど書かれていないしで困っています。

訳分からなくてもとりあえず慣れるがベストなのかなぁ? やはり。


722 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 17:31:14 ]
フォームに手当たり次第にコントロール貼りまくって適当に連動させてごらんよ
方向性は決めなくていいから

723 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 17:36:17 ]
どのコントロールでどんなことができるか、を一通り確認するくらいかなぁ。

具体的な実装は、システム要件に応じて考えるし。

724 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 18:04:40 ]
>>721
C#でcsc.exeを使わせる入門書って、なんて悪書?

725 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 18:11:30 ]
MSの公式解説書だろ
C#できると言ってcsc.exe使えないなんて話もあるまい

726 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 18:23:13 ]
>>724
独習C#です……。プログラミングC#は、最初からは敷居高いかなと思って。

727 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 20:06:49 ]
cscのオプションなんて覚えてもいないぜ。




728 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 21:31:56 ]
>>726
あーあ、かっちゃったかw

729 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 21:33:18 ]
あんなもん立ち読みでいいのに

730 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 23:47:04 ]
泳げないやつは沈めばいい

731 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 23:53:31 ]
プログラミングC#が敷居高いって絶対読んでなさそう
GUIオンリーだった俺はRonRやってるがスクリプトわけわかめw

732 名前:デフォルトの名無しさん mailto:sage [2009/07/21(火) 01:34:19 ]
delegateとかもうちょっと綺麗に実装出来なかったのかね

733 名前:デフォルトの名無しさん mailto:sage [2009/07/21(火) 02:06:53 ]
例えばどういう風に?

734 名前:デフォルトの名無しさん mailto:sage [2009/07/21(火) 02:30:50 ]
例えばキーワードを省略してdelにするとか

735 名前:デフォルトの名無しさん mailto:sage [2009/07/21(火) 02:47:47 ]
delだとdeleteの略みたいになるから却下

736 名前:デフォルトの名無しさん mailto:sage [2009/07/21(火) 03:10:41 ]
もうちょっと綺麗に実装 → 省略してdelに

wwwwwwwwwwwwwww

737 名前:デフォルトの名無しさん mailto:sage [2009/07/21(火) 03:38:19 ]
俺の知ってる英単語を使ってくれ
デレゲートなんて意味がわからんわ



738 名前:デフォルトの名無しさん mailto:sage [2009/07/21(火) 03:54:37 ]
普通にクラスポインタみたいなのを残せばいいのに
なんでいちいち全部の関数のdelegateを定義して呼ばないといけないんだ

739 名前:デフォルトの名無しさん mailto:sage [2009/07/21(火) 04:28:36 ]
>>735
じゃあdeleで

740 名前:デフォルトの名無しさん mailto:sage [2009/07/21(火) 05:28:15 ]
tsun-dele

741 名前:デフォルトの名無しさん mailto:sage [2009/07/21(火) 08:26:30 ]
tsun-delete

742 名前:デフォルトの名無しさん mailto:sage [2009/07/21(火) 08:35:08 ]
>>738
FuncとかActionがあるけど

743 名前:デフォルトの名無しさん mailto:sage [2009/07/21(火) 09:49:41 ]
>>734
キーワードの省略は最悪。
Unix 系のライブラリとか、ときどき見れたもんじゃないのがある。

C# は省略形のキーワード1つもないでしょ。

>>738
型安全性のため。

744 名前:デフォルトの名無しさん mailto:sage [2009/07/21(火) 14:15:48 ]
タイプセーフはデリゲートの目的であって理由じゃない

そうなると別にどういう構文でもタイプセーフなら良いことになるでしょ
実際にそうなってるしね

745 名前:デフォルトの名無しさん mailto:sage [2009/07/21(火) 15:28:29 ]
複数のファイルを連結する方法を教えてください。
下記のようなことって、C#だとどう書くんですか?
ひとつひとつFile.ReadしてFile.Writeしないとだめですか?
copy file01.txt+file02.txt+file03.txt+file04.txt newfile.txt


746 名前:デフォルトの名無しさん mailto:sage [2009/07/21(火) 15:45:26 ]
C#で製品を作ってる会社はexeを暗号化してるんでしょうか?
ソースコード丸見え・・・

747 名前:デフォルトの名無しさん mailto:sage [2009/07/21(火) 15:47:34 ]
>>745
File.ReadAllText()で読んでFile.AppendAllText()で追加してけば楽なんじゃない
使ったことないけどw



748 名前:デフォルトの名無しさん mailto:sage [2009/07/21(火) 15:48:12 ]
今時はライセンスで縛るから丸見えでもどうでもいいのです
難読化くらいはしてるかもね

でも初心者には関係ないよ
お前のコードなんてわざわざ見る気にもならないからね

749 名前:デフォルトの名無しさん mailto:sage [2009/07/21(火) 15:53:53 ]
>>747
やっぱりそれしかないんだ…。
配列に配列を追加するにはどうしたらよいですか?
copy file01.txt+file02.txt+file03.txt+file04.txt newfile.txt
string[] keywords = File.ReadAllLines("file01.txt");
keywords = keywords + File.ReadAllLines("file02.txt");
keywords = keywords + File.ReadAllLines("file03.txt");
keywords = keywords + File.ReadAllLines("file04.txt");
とかで追加できるんですか?


750 名前:デフォルトの名無しさん mailto:sage [2009/07/21(火) 15:55:06 ]
どの言語でも初心者が一番初めに気にする所だよな。
「ゲームは作れますか?」と「中身の暗号化できますか?」は。

少なくともそんなことを聞かなきゃ分からない内は全く関係のない話だ。

751 名前:デフォルトの名無しさん mailto:sage [2009/07/21(火) 15:56:33 ]
>>749
配列ってさあ

string[] strArray = new string[]{ "aaaaa" , "bbbbb" , "ccccc" }

こう書けるのは分かる?






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

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

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