ふらっとC#,C♯,C#(初心者用) Part42at TECH
ふらっとC#,C♯,C#(初心者用) Part42 - 暇つぶし2ch446:デフォルトの名無しさん
09/07/05 22:08:32
>>403
でたらめ言ってんじゃねー


447:デフォルトの名無しさん
09/07/05 22:10:07
>>445
状態を持たないという意味で用いられる用語は「静的」ではなく「純粋」。

448:デフォルトの名無しさん
09/07/05 22:19:05
なんだそれ


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

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

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

451:デフォルトの名無しさん
09/07/05 22:25:26
iText で PDF 作ってる。

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

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

454:デフォルトの名無しさん
09/07/05 22:37:16
>>450
ReportingServiceはお勧めしない。
素直にActiveReports使った方が良い。

455:デフォルトの名無しさん
09/07/05 22:52:00
静的クラス
URLリンク(msdn.microsoft.com)

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

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

458:デフォルトの名無しさん
09/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:デフォルトの名無しさん
09/07/06 20:32:51
Array.HogeHogeなんていう化石メソッドの嵐やるぐらいならLINQで書こうよー

460:デフォルトの名無しさん
09/07/06 20:34:17
LINQおそいじゃん

461:デフォルトの名無しさん
09/07/06 20:51:36
え?

462:デフォルトの名無しさん
09/07/06 20:59:27
LINQ書く奴ってなんでテスト端折る奴ばかりなんだ?

463:デフォルトの名無しさん
09/07/06 21:01:44
え?

464:デフォルトの名無しさん
09/07/06 21:05:25
Recentの中身なんて10000ファイルあるわけでもなし。

465:デフォルトの名無しさん
09/07/06 21:25:07
>>460
5~10%のロスを遅いとは言わない。

466:デフォルトの名無しさん
09/07/06 21:28:55
その遅さは致命的だな。

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

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

469:デフォルトの名無しさん
09/07/06 21:58:25
テストまで1/3にしないでください。

470:デフォルトの名無しさん
09/07/06 22:02:29
LINQは書きやすいけどデバッグしづらいよ
皆どうしてんだろ

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

472:デフォルトの名無しさん
09/07/06 22:21:56
は?

473:デフォルトの名無しさん
09/07/06 22:31:52
ん?

474:デフォルトの名無しさん
09/07/06 22:33:28
こ?

475:デフォルトの名無しさん
09/07/06 22:33:53
お?

476:デフォルトの名無しさん
09/07/06 22:39:50
ち?

477:デフォルトの名無しさん
09/07/06 23:53:56
>>470
具体的には何が問題になってます?

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

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

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

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

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

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

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

483:デフォルトの名無しさん
09/07/07 01:07:51
return return;
のようなことはできないの?

484:デフォルトの名無しさん
09/07/07 01:09:41
意味が分からない

485:デフォルトの名無しさん
09/07/07 01:19:24
リンダリンダみたいな感じ?

486:デフォルトの名無しさん
09/07/07 01:33:30
Return to Myself しない、しない、ナツ

487:デフォルトの名無しさん
09/07/07 01:37:57
return @return;
なら記述可能だな ただのネタだが

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

489:デフォルトの名無しさん
09/07/07 12:44:21
>>487を見て意味がわかった
>>488を見て再びわからなくなった

490:デフォルトの名無しさん
09/07/07 14:32:44
C#のバージョンについて教えてください。

URLリンク(www.microsoft.com)
ここからC#をダウンロードしました。
これは特定のバージョンのコンパイラなのでしょうか?
それともどこかで設定できるのでしょうか?

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

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

491:デフォルトの名無しさん
09/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:デフォルトの名無しさん
09/07/07 16:29:57
詳しい説明、どうもありがとうございました。
とてもよく理解できました。

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

494:デフォルトの名無しさん
09/07/08 17:12:13
めんどくさい。ない。

495:デフォルトの名無しさん
09/07/08 22:07:00
WMI 使って Win32_Processor クラスの LoadPercentage 取って来れないかな?
めんどくさい。だな。

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

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

や、

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

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


497:デフォルトの名無しさん
09/07/09 05:31:27
SetCustomAttribute

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

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

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

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

501:デフォルトの名無しさん
09/07/09 12:30:14
>>497
どうもありがとう!!

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

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

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

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


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

503:デフォルトの名無しさん
09/07/09 12:33:59
VisualStudio 2008 Express EditionとVisualStudio 2008 Express EditionとVisualStudio 2008 Express Edition

504:デフォルトの名無しさん
09/07/09 12:35:31
それはwindows2000でも動くのですか?

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

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

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


508:デフォルトの名無しさん
09/07/09 12:44:22
できるよ

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

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

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

URLリンク(www.microsoft.com)


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

513:デフォルトの名無しさん
09/07/09 13:20:46
できるよ

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

515:デフォルトの名無しさん
09/07/09 13:30:43
>>496, >>501

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

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


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

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

517:デフォルトの名無しさん
09/07/09 15:01:07
>>503
VisualStudio 2008 Express Editionなんて無いよ

518:デフォルトの名無しさん
09/07/09 15:12:23
>>517
MSも各製品の総称として使ってるよ

519:デフォルトの名無しさん
09/07/09 15:25:16
一連の流れを見てたらゲシュタルト崩壊してきた

520:デフォルトの名無しさん
09/07/09 15:41:14
できるないないあるよ

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

522:デフォルトの名無しさん
09/07/09 18:25:58
Windows XP
Visual Studio 2005 Professional Edition

.Net Framework 3.0を使いたいので
URLリンク(msdn.microsoft.com)
を参考に
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:デフォルトの名無しさん
09/07/09 18:29:16
止めてくれ。精神を害しそうだ。

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

525:デフォルトの名無しさん
09/07/09 18:59:12
メッセージについて勉強中。

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

526:デフォルトの名無しさん
09/07/09 19:31:29
>>525
普通はWndProcをoverrideするだけで十分。

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

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

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

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

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

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

530:デフォルトの名無しさん
09/07/11 15:24:20
enumにintしか入らないのがむかつく

531:デフォルトの名無しさん
09/07/11 15:28:34
こらえてくだされ

532:デフォルトの名無しさん
09/07/11 15:43:12
>enumにintしか入らない
?????

533:デフォルトの名無しさん
09/07/11 15:46:59
整数型と言いたいんじゃないのか。たぶん。

534:デフォルトの名無しさん
09/07/11 15:48:35
mscorlibのmsってなんですか?

535:デフォルトの名無しさん
09/07/11 15:51:06
マイクロソフト

536:デフォルトの名無しさん
09/07/11 15:54:21
MicroSoft COmmon language Runtime LIBrary
でmscorlib

537:デフォルトの名無しさん
09/07/11 17:07:36
core library かとおもってた

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

539:デフォルトの名無しさん
09/07/11 17:49:43
Orientationプロパティ

540:デフォルトの名無しさん
09/07/11 18:02:12
>>536
mscorlibのCORは、CLRの初期の名称だったComponent Object Runtimeの略。

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

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

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

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

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

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

546:デフォルトの名無しさん
09/07/12 01:12:59
sxa

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

548:デフォルトの名無しさん
09/07/12 03:03:53
勝手にくるくる動いたらウザくない?

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

550:デフォルトの名無しさん
09/07/12 13:26:29
docpanel suite

551:デフォルトの名無しさん
09/07/12 13:52:28
>>550
C#のクラス?

552:デフォルトの名無しさん
09/07/12 13:57:59
ぐぐれ

553:デフォルトの名無しさん
09/07/12 14:21:55
>>552
ググったけどなかった。

554:デフォルトの名無しさん
09/07/12 14:35:36
一番上に出るじゃないか

555:デフォルトの名無しさん
09/07/12 14:35:39
>>553
うそつき

556:デフォルトの名無しさん
09/07/12 14:40:05
最悪w

557:デフォルトの名無しさん
09/07/12 14:43:17
>>553
うそつき

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

559:デフォルトの名無しさん
09/07/12 14:46:27
死罪

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

561:デフォルトの名無しさん
09/07/12 14:53:52
SQL

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

563:デフォルトの名無しさん
09/07/12 14:55:28
ExcelとAccess

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

565:デフォルトの名無しさん
09/07/12 15:00:47
じゃあDataGridViewで良いんじゃないかな

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

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

568:デフォルトの名無しさん
09/07/14 19:39:56
>>567
そういう経緯があったんですか
ありがとうございます

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

570:デフォルトの名無しさん
09/07/15 09:46:21
>>569
呼び出す方法を変える

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

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

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

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

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

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

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

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

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

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

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

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

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

579:デフォルトの名無しさん
09/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:デフォルトの名無しさん
09/07/15 19:27:11
System.Windows.Controls.WebBrowser使わないと駄目だぜ
でWinForm上で表示するならSystem.Windows.Forms.Integration.ElementHostが必要

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

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

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

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



584:デフォルトの名無しさん
09/07/15 22:17:21
Windows.Formのクラスが

Form1.cs
Form2.cs
Form3.cs



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

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

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

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

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

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

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

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

592:デフォルトの名無しさん
09/07/16 01:01:03
>>590
ちょっとそのAPIのDllImportしてるところ書いてみろ

593:デフォルトの名無しさん
09/07/16 01:19:10
>>592
DllImportしてるなんて微塵も書いてないが…

594:デフォルトの名無しさん
09/07/16 01:26:37
じゃあどうやってAPI呼んでるんだ?

595:デフォルトの名無しさん
09/07/16 01:39:01
「APIを利用」とは何の事だよ

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

597:デフォルトの名無しさん
09/07/16 02:27:35
>DllImportしてるなんて微塵も書いてないが
で、してるの?してないの?

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

599:デフォルトの名無しさん
09/07/16 03:35:54
APIと言っただけで、Win32APIと言った訳ではないしね

600:デフォルトの名無しさん
09/07/16 05:39:31
それがどうした

601:デフォルトの名無しさん
09/07/16 08:00:39
>>598
a πとか?

602:デフォルトの名無しさん
09/07/16 08:39:34
>>597
俺にきくな

603:デフォルトの名無しさん
09/07/16 11:09:05
>>600>>602
何で一々噛みついてんの?

604:デフォルトの名無しさん
09/07/16 18:04:11
APIはDLLだけだと思ってる人があらわれた!

605:デフォルトの名無しさん
09/07/16 18:12:03
あらわれなくていいよ

606:デフォルトの名無しさん
09/07/16 18:43:42
>>590は現れろよ

607:デフォルトの名無しさん
09/07/16 18:45:37
もう逃げたってば

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

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

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

610:デフォルトの名無しさん
09/07/16 19:36:51
593が要らん突込みをしなければこんな伸びなかったな。

611:デフォルトの名無しさん
09/07/16 19:47:33
みんなこれくらいなら答えられそうだと思っててうずうずしてるんでしょ

612:デフォルトの名無しさん
09/07/16 22:54:46
C#ってフリーの開発環境あるんですか?

613:デフォルトの名無しさん
09/07/16 22:55:58
まずフリーの意味をだな

614:デフォルトの名無しさん
09/07/16 23:02:00
>>612
MONOというものがあるので使ってみたら?

615:デフォルトの名無しさん
09/07/16 23:21:31
フリーの開発環境・・・VisualStudioExpressEditionとSharpDevelopがあるが。

616:デフォルトの名無しさん
09/07/17 00:15:33
emacsでいいよ

617:デフォルトの名無しさん
09/07/17 00:17:44
へぼすぎて却下

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

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

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



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

621:デフォルトの名無しさん
09/07/17 02:49:05
いいからもう失せろよゴミ君

622:デフォルトの名無しさん
09/07/17 05:41:04
>>621
プッツンしてるの?

623:デフォルトの名無しさん
09/07/17 06:35:32
してないよチンカス君

624:デフォルトの名無しさん
09/07/17 06:51:44
「プッツン」って懐かしいなw

625:デフォルトの名無しさん
09/07/17 06:56:10
グリコが作ってるプリンだっけ

626:デフォルトの名無しさん
09/07/17 08:49:52
それプッチンや

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

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

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

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

別のテキストボックスへ移る時、キーボード操作(Tabキーなど)とマウスの時とで
イベントの発生する順序が変わるってのがある。
URLリンク(msdn.microsoft.com)

631:デフォルトの名無しさん
09/07/17 15:13:10
XmlDocument doc = new XmlDocument();
doc.LoadXml("file.xhtml");

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


632:デフォルトの名無しさん
09/07/17 15:33:24
外部エンティティとか使ってない?

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

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

なんとなくこれと同じ感じなのかなって気が。
URLリンク(www.atmarkit.co.jp)
仕様なのか・・・ ウヒー

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

635:デフォルトの名無しさん
09/07/17 18:57:43
>>632
使ってないですー


636:デフォルトの名無しさん
09/07/17 19:07:54
>>635
DOCTYPE宣言でhttp://のDTD読み込んでないの?

637:デフォルトの名無しさん
09/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:デフォルトの名無しさん
09/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:デフォルトの名無しさん
09/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
09/07/17 23:22:37
自己解決した

641:デフォルトの名無しさん
09/07/17 23:23:20
>>639
その通りでした。どもども

642:デフォルトの名無しさん
09/07/17 23:28:01
クラス分けるとかって手もあるけどな

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

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

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

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

647:デフォルトの名無しさん
09/07/18 02:35:20
>>481
簡単にいってよー
プロばかりじゃないんだよー

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

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

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

651:デフォルトの名無しさん
09/07/18 19:34:24
>>650
「割り当てる」ってなにをすること?

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

653:デフォルトの名無しさん
09/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:デフォルトの名無しさん
09/07/19 20:49:53
1. hogeA の要素を列挙する
2. 各要素が hogeB に含まれているか判断する
3. 含まれていなければ、 hogeC に追加
4. これを繰り返す
5. hogeC を hogeA に設定

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

656:デフォルトの名無しさん
09/07/19 20:57:53
LINQ に Except ってのがあるよ。
URLリンク(ufcpp.net)

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

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

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

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

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



662:653
09/07/19 23:08:25
removeAllメソッドを使って除去しようと試みました。

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

 );
}

663:653
09/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:デフォルトの名無しさん
09/07/19 23:16:01
エラー読めよ

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

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

666:デフォルトの名無しさん
09/07/19 23:22:06
匿名メソッドの戻り値が明示されていない
returnをしてないし

667:653
09/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:デフォルトの名無しさん
09/07/19 23:39:51
.NET 2.0はともかく、C#2.0はもう捨てようよ。

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

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

671:653
09/07/19 23:48:52
>>669
あ、そんな略記があったのね(;^ω^)

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

672:デフォルトの名無しさん
09/07/19 23:49:55
略記って……
おまえが勝手に複雑に書いてるだけだろ……

673:デフォルトの名無しさん
09/07/19 23:50:59
低品質なスレですね

674:デフォルトの名無しさん
09/07/20 01:37:43
>>671
2005 でも LINQ 使えるようにできるだろ

675:デフォルトの名無しさん
09/07/20 01:39:09
すまん LINQ じゃなくてラムダ式か

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

677:デフォルトの名無しさん
09/07/20 02:12:31
>>671
Expressでいいからとっとと2008にすべき

678:653
09/07/20 02:12:39
>>674
2005じゃλは使えない気が(;・∀・)・・・

679:デフォルトの名無しさん
09/07/20 02:18:56
hogeBのループはforじゃなくてforeach使うべきだね

680:デフォルトの名無しさん
09/07/20 02:27:11
JITなんだジットってもー
地頭か?何だ?簡単に頼むよ

681:デフォルトの名無しさん
09/07/20 02:47:26

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

682:デフォルトの名無しさん
09/07/20 02:49:36
>>679
どうして?

>>681
ちょっwwwww

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

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

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

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

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

687:デフォルトの名無しさん
09/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:デフォルトの名無しさん
09/07/20 11:43:01
LINQ の仕組みにはラムダ必須だし、

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


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

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


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

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


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

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

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

695:デフォルトの名無しさん
09/07/20 12:47:32
delegateより視認しにくいくらいじゃねえの

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

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

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

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

700:デフォルトの名無しさん
09/07/20 14:07:20
保守性下がるので業務では使えない。

701:デフォルトの名無しさん
09/07/20 14:29:34
保守性下がるのでC#は使えない。

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

703:デフォルトの名無しさん
09/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:デフォルトの名無しさん
09/07/20 15:07:01
職場とか業務でどうとか言われてもねえ…。
ここ初心者スレだし、「そうですか。おつかれさまです」としか言いようがないな。

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

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

706:デフォルトの名無しさん
09/07/20 15:13:06
>>704
どこの初心者スレも似たようなもんだけどな
javaスレとか

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

707:デフォルトの名無しさん
09/07/20 15:19:57
独立すりゃいいのに

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

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

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

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

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

713:デフォルトの名無しさん
09/07/20 15:51:32
WPFだろ
デザインは自由自在

714:デフォルトの名無しさん
09/07/20 16:02:31
WPFってガワ部分は変えられないんですか?

715:デフォルトの名無しさん
09/07/20 16:05:14
ガワ?

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

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

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

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

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

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

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

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


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

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

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

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

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

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

727:デフォルトの名無しさん
09/07/20 20:06:49
cscのオプションなんて覚えてもいないぜ。


728:デフォルトの名無しさん
09/07/20 21:31:56
>>726
あーあ、かっちゃったかw

729:デフォルトの名無しさん
09/07/20 21:33:18
あんなもん立ち読みでいいのに

730:デフォルトの名無しさん
09/07/20 23:47:04
泳げないやつは沈めばいい

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

732:デフォルトの名無しさん
09/07/21 01:34:19
delegateとかもうちょっと綺麗に実装出来なかったのかね

733:デフォルトの名無しさん
09/07/21 02:06:53
例えばどういう風に?

734:デフォルトの名無しさん
09/07/21 02:30:50
例えばキーワードを省略してdelにするとか

735:デフォルトの名無しさん
09/07/21 02:47:47
delだとdeleteの略みたいになるから却下

736:デフォルトの名無しさん
09/07/21 03:10:41
もうちょっと綺麗に実装 → 省略してdelに

wwwwwwwwwwwwwww

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

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

739:デフォルトの名無しさん
09/07/21 04:28:36
>>735
じゃあdeleで

740:デフォルトの名無しさん
09/07/21 05:28:15
tsun-dele

741:デフォルトの名無しさん
09/07/21 08:26:30
tsun-delete

742:デフォルトの名無しさん
09/07/21 08:35:08
>>738
FuncとかActionがあるけど

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

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

>>738
型安全性のため。

744:デフォルトの名無しさん
09/07/21 14:15:48
タイプセーフはデリゲートの目的であって理由じゃない

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

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


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

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

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

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

749:デフォルトの名無しさん
09/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:デフォルトの名無しさん
09/07/21 15:55:06
どの言語でも初心者が一番初めに気にする所だよな。
「ゲームは作れますか?」と「中身の暗号化できますか?」は。

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

751:デフォルトの名無しさん
09/07/21 15:56:33
>>749
配列ってさあ

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

こう書けるのは分かる?


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch