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


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

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



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

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

652 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 18:27:28 ]
じゃあString.Format("{0}{1}:{2}{3}", time[0], time[1], time[2], time[3])で

653 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 18:27:30 ]
>>647
あ〜昔同じ失敗したな〜

654 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 18:27:37 ]
>>650
早速ありがとうございました。
ToString()でできました。


655 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 18:28:11 ]
>>651
そこで、StringBuilderは使わないだろ。
time = time.Substring(0, 2) + ":" + time.SubString(2, 2);

656 名前:636の者です。 mailto:sage [2009/02/04(水) 18:31:41 ]
>>650
なんとなくいけそうです。

>>653
お〜友よ〜

657 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 18:44:37 ]
>>621
ツール-フォルダオプションは、真っ先に見ました〜。
>>626、636
というか、ここで手動で関連づけを登録しました。

そうしたら、登録したとたん、「詳細設定」のボタンが消え、「元に戻す」というボタンに変化しちゃったのです。

詳細設定のボタンがあれば、アプリケーションの挙動を見れるかと思ったのですけど。
たとえば、txtの詳細設定のopenアクションを見ると、アクションを実行するアプリケーションの項目に、「C:\Windows\system32\NOTEPAD.EXE %1」とあり、これを修正すればよいことがわかります。
ところがなにしろボタンがないから、手も足もでない…。

空白かな〜。う〜〜む。
アプリケーションじたいはデータファイルのダブルクリックで起動しているのですが…。
ま、C#とはあまり関係なさそうなので、この件はこれで。
お騒がせしました。ありがとうございました。


658 名前:デフォルトの名無しさん [2009/02/04(水) 18:57:25 ]
お願いします(゚ω゚)
System.Text.RegularExpressions.Regexを使って
 [ok] 100
 [ok] 0.001
 [ng] 00 → 0
 [ok] 0.1000
前ゼロ入力をReplaceで""に置き換えたいのですが、正規表現が上手く書けませぬ
教えてエロい人

659 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 19:00:35 ]
>>658
正規表現 Part5
pc11.2ch.net/test/read.cgi/tech/1212498448/

660 名前:デフォルトの名無しさん [2009/02/04(水) 19:02:22 ]
あーd>>659 ここで聞きたかったぜっ♪



661 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 21:49:44 ]
>>645
他クラスからアクセスする変数には手当たり次第static使ってるんだが…

何を勉強すればいいんですか?

662 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 21:52:53 ]
構造化プログラミング

663 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 21:55:56 ]
オブジェクト指向プログラミング

664 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 21:57:38 ]
staticフィールドはダメだがstaticメソッドはいいぞ
privateなstaticメソッドが最高だ

665 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 21:58:06 ]
構造化プログラミングを理解してない奴が、オブジェクト指向を学んでも無駄。

構造化プログラミングを学んだら、中規模以上のプログラムをたくさん書く。
それからでもオブジェクト指向は遅くないよ。

666 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 21:59:25 ]
static メンバ変数なんて
ただ1個しか存在しないもんな。
2つ作りてええええええええ!!!! と思っても
1つしか存在できない。
不便過ぎ。

667 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 22:02:02 ]
C言語等の非OOA出身者はstaticをメモ帳や定数保管庫程度に考えてない

668 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 22:02:42 ]
しか が抜けた

669 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 22:02:49 ]
オブジェクト指向も関数型プログラミングも
深いとこに行くと実用的じゃない宗教じみたものがうじゃうじゃ出てくるから
そこに行ってしまわないように気をつけないと

670 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 22:12:08 ]
むしろいきなりOOPでいいと思うよ。
>>665みたいな意見はありがちだけど、構造化プログラミングなんて
中身のないスカスカな話で馬鹿でなければ「畳の上の水泳」で十分だと思う。

っていうか、俺も含めてたかがOOP理解したぐらいで鬼の首とったように語るのは
とても恥ずかしいよなw



671 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 22:16:29 ]
物事をオブジェクトに切り分けるというのは大成功した考え方だと思うけど
継承は失敗だしインターフェースの実装もそんなに上手くない感じだと思う
そういった抽象化はクロージャにした方がシンプルで分かりやすい

672 名前:デフォルトの名無しさん [2009/02/04(水) 22:19:30 ]
>>636
> 生まれて半年の者です。

おいおい、生後半年でプログラミングかよ。
たいしたもんだな!

673 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 22:21:38 ]
どんな天才だよw

674 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 22:24:22 ]
>>671
使いこなせない人にとって上手くないだけなんだろ

675 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 22:26:16 ]
母国語より先にプログラム言語を覚えたんだな
いったいどんな子に育つやら

676 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 22:28:11 ]
今さらオブジェクト指向だデザパタだインターフェースだってやるのは
正直違うかなと思うよ
今のC#にはもっとよい道具があるから
ただオブジェクト指向の基本的なところは抑えておかないとまずいけど

677 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 22:29:44 ]
だまれ若造

678 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 22:31:19 ]
お年寄りは静かにしてください

679 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 22:32:17 ]
>>676
それはC#が、最近になってより初心者向けの機能を実装をしてるってこと?

680 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 22:33:25 ]
>>676
>今のC#にはもっとよい道具があるから
ないってw
知ったようなこというなよ。

クラスベースのOOPが万能じゃないのは確かだけど、現時点でそのオルタナティブが
C#に限らず発案されているとは思えん。



681 名前:デフォルトの名無しさん [2009/02/04(水) 22:33:31 ]
>>679
クロージャはインターフェースよりも初心者にとって使いやすいと思うよ
直観的だし

682 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 22:35:26 ]
なんでクロージャーとインターフェイスを対置するんだ?

クロージャーとインターフェイスって「代替財」か?
わけがわからんよ。

683 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 22:37:16 ]
覚え方なんて人それぞれだし。

自分が通ってきた道についてしか語れないだろ。

684 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 22:38:00 ]
>>680
クロージャは実際には一つのメソッドを持ったインターフェースを
実装したオブジェクトを簡易に作り出す機能だけど
それさえあればオブジェクト指向の抽象化は全部出来る
オブジェクト指向の継承にまつわるややこしいところはすっ飛ばして
そっちに行くのが今は正解なんじゃないかねえ

685 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 22:39:36 ]
また変な主義者が来ましたねw

686 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 22:44:52 ]
>>684
それって、昔の1ファンクション1機能の構造化プログラミングと同じじゃないの?
静的なメソッドとは何がちがうのけ?

687 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 22:53:45 ]
相談があります。
C#でプログラムを作り始めて半年くらいになります。
ようやく身の回りのソフトは、だいぶ自作できるようになってきました。
ところで、それをリリースしようと思うと、プログラムのなかに直接書いてあるパスワードなどを設定ファイルに移動したり、自分用のディレクトリ構造にあわせて作った部分を汎用にする必要が出てきます。
それはまあやる気になればできそうなのですが、設定不要のかんたんなソフトを知人10人ほどにテストしてもらったところ、だれひとりとして.NETを入れていないため、動作しなかった、ということがわかりました。
ひょっとして、.NETやC#って、すごくマイナーなんでしょうか。
このままC#をつづけた方がよいのか(けっこう使いやすくて気に入ってます)、それとも別の言語に移ったほうがよいのか。
移るとしたら、もっとメジャーな言語ってなんですか?
Webベースのプログラムとか、Ajaxとかですか?
.NETを組み込んだ状態でコンパイルするとかできないんですかね〜?


688 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 22:55:38 ]
WebでできるようなことならSiilverlightというのがある
イメージ的には「C#で書けるFlash」
ランタイムは超小さいので配布が手軽

689 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 22:57:55 ]
だからクロージャとインターフェイスは代替関係にないってw
ただ一部の機能が競合関係にあるだけ。

たぶん従来ICompareをわざわざ用意していたようなのがデリゲートでスッキリ
書けるようになった、みたいな例を見て短絡したんだろうけど。

690 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 23:03:14 ]
>>687
.netFrameworkをインストールしないって人は多いよね
vista以降は.netはインストされてるから、ある程度は問題なくなると思うけど

なんのインストもなくて利用可能なのは、VisualStudioのC++のネイティブコードか、
Delphiぐらいじゃないのかな。



691 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 23:13:21 ]
しつもんです。

クラス内のメンバの初期化はどこでしてますか?
宣言時に初期化してしまうか、コンストラクタ内で初期化するか迷ってます。

///以下抜粋
internal sealed class 通信
{
private UdpClient UDP;
private Thread スレッド;
private List<byte[]> 受信リスト= new List<byte[]>();///宣言時か
private List<IPEndPoint> クライアントリスト= new List<IPEndPoint>();

public 通信(int ポート)
{
UDP= new UdpClient(ポート);///コンストラクタ内か
スレッド = new System.Threading.Thread(new System.Threading.ThreadStart(受信));
///抜粋以上


692 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 23:18:16 ]
>>691
基本は宣言時じゃないかな。
コンストラクタでもいいけど、コンストラクタをオーバーロードしているときには、
複数のコンストラクタで初期化しなくちゃいけなくなるから。

別のメソッドを用意して、そこで初期化してもいいけど、意味ない気がするし。
条件によるけど。

693 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 23:18:50 ]
C#, C♯, C#相談室 Part50
pc11.2ch.net/test/read.cgi/tech/1229661915/

埋まったけど立てられなかった。
誰か頼む。

694 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 23:22:33 ]
ホスト規制のためNGですた。

695 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 23:22:51 ]
>>693
あっちは相談室と名乗りながら、
質問の揚げ足を取って悦に浸っている常連ばかりだから嫌い

696 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 23:23:14 ]
>>686
Cとの比較で言うと、クロージャは「状態のある関数ポインタ」といえると思う
Xの値が欲しい時に

void Hoge(Func<int> getX){ int x = getX(); }

C#ならこう書ける。getXにはintを返す関数がなんでも入れられるしその場で作れる
Cで書くと

struct Func_int{
int (*func)(void*);
void* args;
};
void Hoge(Func_int fi)
{
int x = fi.func(fi.args);
}
こんなんだけど引数の型も作らなきゃいけないし関数はvoid*をとらなきゃいけないしで大変だ
オブジェクト指向で書くと

class Func<int> : IFunc<int>
{
int x, y;
public Func(int x, int y){ this.x = x; this.y = y; }
public int Method(){ return x + y; }
}
クロージャだと

Hoge(() => x + y);

こうだ。
これが進化だよ。

697 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 23:25:53 ]
>>695
でも作っとかないと、そういう人らがここに常駐されたら困る

698 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 23:31:25 ]
>>691
その前になんちゅうソースだコレ。

699 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 23:31:36 ]
>>697
心配無用
既に常駐してる

700 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 23:36:15 ]
まあとりあえず立てた。
C#, C♯, C#相談室 Part51
pc11.2ch.net/test/read.cgi/tech/1233757615/l50



701 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 23:36:42 ]
>>696
その例だと従来の方法でもStaticなメソッドを使えば
int x = Class.Method(a, b);
で代用がきくから同じことだと思うんだけど。何が違うの?

702 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 23:37:33 ]
読解性

703 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 23:40:36 ]
>>690
VC++ も今は CRT が DLL 推奨だから配るならインストーラ作るべき
なんやけどな。msm があるしサイズも小さいので格段に楽だから
.NET と比べるレベルじゃないけど。


704 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 23:42:54 ]
自分の場合は固定長バッファ持たせる時とか、ソース直書きのデータを持たせる時以外は宣言の所に初期化コードを書かないようにしてる。
基本的にはできるだけコンストラクタに書いたほうが、読みやすいコードになるよ。
#regionと組み合わせるとなお良い。

指すものがコンパイル時点で決まっていて、利用者側のコードに左右されない要素(リテラル的なもの)は宣言と初期化を一緒にしてもいいと思う
上の固定長バッファはあてはまらないけど…

705 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 23:44:00 ]
>>687
「.net Frameworksインストールしてね」で終わりじゃないか?
むしろ、Windows Updateで配布されてるんじゃないのか?.netぐらい

706 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 23:45:31 ]
>>700


707 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 23:47:58 ]
>>687
「めんどくせえなぁ・・・なんでこんな糞プログラムを・・・。そうだ!インストールしてない事にすればいいんだ!」

708 名前:デフォルトの名無しさん [2009/02/04(水) 23:49:28 ]
>>701
void Hoge()
{
int x = Class.Method(a,b);
}
これだとxはMethod(a,b)から返ってくる値しかとれないでしょ。

void Hoge(Func<int> getX)
こうしておけば

Hoge(() => x + y);
Hoge(() => x * y);

外部から自由な演算を入れられる。
ハッシュテーブルのキーが欲しいということになっても

Dictionary<TKey, TValue> CreateDictionary<TKey, TValue>(TValue[] array, Func<TValue, TKey> getKey)
{
Dictionary<TKey, TValue> dic = new Dictionary<TKey, TValue>();

foreach(var item in array)
{
dic.Add(getKey(item), item);
}

return dic;
}

var dic = CreateDictionary(array, item => item.Name);
その型のKeyにしたいものを自由に選べる

709 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 23:52:03 ]
.NET Frameworkは再頒布可能だからその自作ソフトとやらに含めて配布すればいいんだよ。

msdn.microsoft.com/ja-jp/library/xak0tsbd.aspx

ちなみにWindows Server 2003、Windows Vista、Windows 7にはリリース時点で最新の.NET Frameworkが入っている。(より新しいバージョンが出て、それが必要な場合は更に入れる必要がある)

710 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 23:53:57 ]
はやくXPが駆逐されればいいんだがなあ



711 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 23:57:24 ]
デザインパターンは関数型っぽいことを無理やり手続き型OOPLでやるための工夫が主だから
かなり簡単に実装できるよな

712 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 23:58:26 ]
>>708
それみると、君の主張するところの直感的でもないし、
初心者にもわかりにくいと思うよ

713 名前:デフォルトの名無しさん mailto:sage [2009/02/05(木) 00:02:11 ]
>>712
じゃあオブジェクト指向や構造化でもっと直感的に、
初心者に分かりやすく書ける?

714 名前:デフォルトの名無しさん mailto:sage [2009/02/05(木) 00:04:46 ]
スレ違い
よそで存分に議論してくれ

715 名前:デフォルトの名無しさん mailto:sage [2009/02/05(木) 00:05:14 ]
初心者ではないが、何が書いてあるかさっぱりだw

716 名前:デフォルトの名無しさん mailto:sage [2009/02/05(木) 00:07:06 ]
人の揚げ足取りと議論厨は相談スレにお引き取りください

717 名前:デフォルトの名無しさん [2009/02/05(木) 00:07:42 ]
すみませんコレは仕様なんでしょうか
1:public class Foo{
2: private readonly int[] test = new int[]{1,2,3,4,5};
3: public Foo(){
4:  int[] test2 = test1;
5:  test2[0]=2;
6:  Console.WriteLine(@"test[0]=" + test[0].ToString());
7: }
8:}
上記 2行目readonlyにしてるtestが、5行目で書き換えられてしまいます。

718 名前:デフォルトの名無しさん mailto:sage [2009/02/05(木) 00:09:03 ]
>>708 じゃねーけど知りたいんならレキシカルクロージャとかで
ぐぐった方がいいと思うよ。

>>708
2ch で説明するのはさすがに難しいと思う

719 名前:デフォルトの名無しさん mailto:sage [2009/02/05(木) 00:09:15 ]
4:  int[] test2 = test;
のまちがいです

720 名前:デフォルトの名無しさん mailto:sage [2009/02/05(木) 00:09:37 ]
配列の要素がreadonlyになるわけではありません



721 名前:デフォルトの名無しさん mailto:sage [2009/02/05(木) 00:14:31 ]
>>718
2chで説明するのが難しいことが、初心者向けなの?

722 名前:デフォルトの名無しさん mailto:sage [2009/02/05(木) 00:15:02 ]
>>718
ググっても関数型言語ユーザーの宗教じみた言論に圧倒されるばかりだと思う

723 名前:デフォルトの名無しさん mailto:sage [2009/02/05(木) 00:18:22 ]
>>701
匿名関数は生成したスコープの変数をそのまま取り込める(環境を渡してるって言うんだっけ?)
副産物的な物だけど、遅延評価的な振る舞いも持ち合わせてる

724 名前:デフォルトの名無しさん mailto:sage [2009/02/05(木) 00:19:56 ]
この辺の議論からもう13年か。
ttp://java-house.jp/ml/archive/j-h-b/001955.html
ttp://www.google.co.jp/search?hl=ja&q=%E3%82%AF%E3%83%AD%E3%83%BC%E3%82%B8%E3%83%A3+interface+site%3Ajava-house.jp

>>718
むしろ近年のクロージャブームはLLの方が先に火をつけた気もするけどね。
JavaScriptの無名関数とかやっぱり初心者泣かせなのかねぇ?

725 名前:723 mailto:sage [2009/02/05(木) 00:21:07 ]
ごめんさっきの >>718 あてじゃなくて >>722

726 名前:デフォルトの名無しさん mailto:sage [2009/02/05(木) 00:31:46 ]
何々、これでいいじゃん?

public static class Class
{
 static int i;
 public static int Method() { return i++; }
}

727 名前:デフォルトの名無しさん mailto:sage [2009/02/05(木) 00:37:50 ]
>>726
でもさ、C#でクラスそのものを引数に渡すって面倒事が多いでしょ。
だからデリゲートでもインタフェースでもインスタンスを生成して引数に渡していたのに。

728 名前:デフォルトの名無しさん mailto:sage [2009/02/05(木) 00:41:24 ]
クラスそのものって引数に渡せるの?

729 名前:デフォルトの名無しさん mailto:sage [2009/02/05(木) 00:41:29 ]
>>727
staticだからclassそのものを渡す必要なんてないよ
どこでも自由に

this.label1.Text = Class.Method().ToString();

でいいんじゃない?

730 名前:デフォルトの名無しさん mailto:sage [2009/02/05(木) 00:43:56 ]
>>728
private void button1_Click(object sender, EventArgs e)
のobjectはクラスじゃん?



731 名前:デフォルトの名無しさん mailto:sage [2009/02/05(木) 00:48:04 ]
objectはインスタンスだろ

732 名前:デフォルトの名無しさん mailto:sage [2009/02/05(木) 00:48:56 ]
ocjectはクラス名だ

733 名前:デフォルトの名無しさん mailto:sage [2009/02/05(木) 00:49:27 ]
object

734 名前:デフォルトの名無しさん mailto:sage [2009/02/05(木) 00:50:41 ]
この場合は話の流れからインスタンスってことじゃねーの?


735 名前:デフォルトの名無しさん mailto:sage [2009/02/05(木) 00:51:26 ]
public class Class
{
 int i;
 public int Method() { return i++; }
}

これの方がいいだろ
たくさん作れるし

736 名前:デフォルトの名無しさん mailto:sage [2009/02/05(木) 00:54:51 ]
>>734
この流れって話の本筋なわけ?

737 名前:デフォルトの名無しさん mailto:sage [2009/02/05(木) 00:56:27 ]
>>729
それだと元のコードの引数を変えれば動作を変えられるという点が失われているじゃないか。

738 名前:デフォルトの名無しさん mailto:sage [2009/02/05(木) 01:34:39 ]
>>737
その引数を、Staticなメソッドで渡してあげればいいじゃない
public static class test
{
 static int i;
 public static int Method1() { return i++; }
 public static void Method2(int k) { i = i + k; }
}

739 名前:デフォルトの名無しさん mailto:sage [2009/02/05(木) 01:36:47 ]
>>738
いや、>>708とか足し算が掛け算になったり、辞書引いたりするような変化なんだけど。

740 名前:デフォルトの名無しさん mailto:sage [2009/02/05(木) 01:45:46 ]
>>739
つまり

>だからデリゲートでもインタフェースでもインスタンスを生成して引数に渡していたのに。

というのは

>708とか足し算が掛け算になったり、辞書引いたりするような変化なんだけど。

と同義ということ?




741 名前:デフォルトの名無しさん mailto:sage [2009/02/05(木) 01:58:26 ]
C#でCreateToolhelp32Snapshot関数を使いたいのですが、どう書けばいいのか分かりません。
.NET Frameworkに似たようなクラスライブラリはありませんか?

742 名前:デフォルトの名無しさん mailto:sage [2009/02/05(木) 02:41:42 ]
>>741
89.234.50.65/default.aspx/kernel32/CreateToolhelp32Snapshot.html

743 名前:デフォルトの名無しさん mailto:sage [2009/02/05(木) 02:43:11 ]
pinvoke.net/default.aspx/kernel32/CreateToolhelp32Snapshot.html

744 名前:デフォルトの名無しさん mailto:sage [2009/02/05(木) 03:24:45 ]
>>740
いや、同義というより1つの具体例と言うべきかな。
>>696みたいに別の場合だってある。

745 名前:デフォルトの名無しさん mailto:sage [2009/02/05(木) 04:17:38 ]
>>732
objectはキーワードだ

746 名前:デフォルトの名無しさん [2009/02/05(木) 06:18:49 ]
C#でアルファベットをfor文のループにかけてAからZまでを表示したいのですが、うまくいきません。
どのようにすればfor文でアルファベットを数値のようにAからZを表示する事が出来るのでしょうか?

747 名前:デフォルトの名無しさん mailto:sage [2009/02/05(木) 06:20:05 ]
>>746
一番分かりやすいのは配列にすればいいと思うよ

748 名前:デフォルトの名無しさん mailto:sage [2009/02/05(木) 06:22:37 ]
for(int i=0;i<26;i++)
Console.WriteLine((char)('A'+i));

749 名前:デフォルトの名無しさん mailto:sage [2009/02/05(木) 06:47:26 ]
for(char c = 'A'; c <= 'Z'; c++) Console.WriteLine(c);

750 名前:デフォルトの名無しさん mailto:sage [2009/02/05(木) 09:26:15 ]
>>740

>>739
> つまり

> >だからデリゲートでもインタフェースでもインスタンスを生成して引数に渡していたのに。

> というのは

> >708とか足し算が掛け算になったり、辞書引いたりするような変化なんだけど。

> と同義ということ?




751 名前:デフォルトの名無しさん mailto:sage [2009/02/05(木) 09:31:27 ]
>>740
インスタンスを作ることでコンテキストの別な関数オブジェクトができる(イベント処理の時にstaticだとマズいだろう)
値を変えるのと振る舞いを変えるのとでは大違いだし…

デリゲート(委譲)はその名の通り、実行するタイミングを相手に委ねてる
渡すことを意図しているのは値(狭義の)ではなく動作

752 名前:デフォルトの名無しさん mailto:sage [2009/02/05(木) 14:00:29 ]
Form1からForm2をShowDialogした場合、
Formが描画される際に画面の上から順に
貼り付けてあるコントロールが表示される感じで、
Closeする場合も同様にもっさり感があるのだが、回避する方法はある?
ちなみにForm2がLoadされるとDataGridViewにMDBから
データを読込んで表示させているのだけど。






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

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

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