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


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

C#, C♯, C#相談室 Part45



1 名前:デフォルトの名無しさん [2008/01/21(月) 19:35:37 ]
(#゚ー゚)つ < C#、.NETの話題はこちらでどうぞ。
c++厨の嵐はスルー汁。

前スレ
C#, C♯, C#相談室 Part44
pc11.2ch.net/test/read.cgi/tech/1194956418/

その他テンプレ>>2-5くらい

2 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 19:36:31 ]
Visual C# 2005 Express Edition 日本語版
www.microsoft.com/japan/msdn/vstudio/express/vcsharp/

ふらっとC#,C♯,C#(初心者用) Part23
pc11.2ch.net/test/read.cgi/tech/1200033660/

MSDNライブラリ
msdn.microsoft.com/library/ja/

MSDN2
msdn2.microsoft.com/ja-jp/library/default.aspx

pinvoke.net: the interop wiki!
pinvoke.net/



3 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 19:37:09 ]
Visual C# Express Edition (無料)ダウンロード
www.microsoft.com/japan/msdn/vstudio/express/vcsharp/

.NET Framework SDK (2.0)
msdn2.microsoft.com/ja-jp/library/ms310244.aspx

MSDN Visual C# Express Edition フォーラム
forums.microsoft.com/msdn-ja/ShowForum.aspx?ForumID=187&SiteID=7
Visual Studio ユーザーグループ
vsug.jp/

@IT Insider.NET
www.atmarkit.co.jp/fdotnet/index.html
Insider.NET 会議室 ディレクトリ
www.atmarkit.co.jp/fdotnet/index/bbs/index.html

宇宙仮面の C# プログラミング / C# Programming
ukamen.hp.infoseek.co.jp/
WisdomSoft C#入門
wisdom.sakura.ne.jp/programming/cs/index.html
WisdomSoft Microsoft .NET入門
black.sakura.ne.jp/~third/system/msnet/msnet.html
どっとねっとふぁん
dotnetfan.org/
緑のバイク 初めてのC# 〜 覚え書き 〜
homepage3.nifty.com/midori_no_bike/CS/
どぼん!の .NET Tips
dobon.net/vb/dotnet/

4 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 20:05:26 ]


5 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 22:01:53 ]
>>1乙。

誰もスレ立てないまま前スレあっさり終わったなw

6 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 22:08:05 ]
C#スレはむしろその方が多いような

7 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 22:16:13 ]
>>1乙〜

8 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 22:39:04 ]
.Net 2.0、C# 2005 で Windowsコントロールライブラリを作って
IEに貼り付けて、Windowsコントロールライブラリが通知したイベントを
javascriptで検知する方法を紹介しているサイトをご存じないですか?


9 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 22:47:29 ]
window.external とか InvokeScript とかで検索すれば出てくるかもね

10 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 01:48:30 ]
>>2
次は2008に書き換えようぜ、同志。



11 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 11:46:21 ]
System.IO.Packaging.ZipPackage って、 OPC専用?

既存の zip の中身が読めないし、
zipファイルを作成すれば、勝手に変なファイル([Content_Types].xml)が作られるし。

#ziplib の代わりになるかと思って期待したのに。

12 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 12:59:00 ]
専用。
インターナルなZipArchiveかなんかだっけ?公開してくれたらいいのに

13 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 23:59:56 ]
やっぱりそうか。
DotNetZipを調べてみるよ。

14 名前:デフォルトの名無しさん mailto:sage [2008/01/23(水) 01:56:44 ]
J#のライブラリでzipできるじゃなかったっけ

15 名前:デフォルトの名無しさん mailto:sage [2008/01/23(水) 01:57:22 ]
jslib

16 名前:デフォルトの名無しさん mailto:sage [2008/01/23(水) 09:19:47 ]
J#(笑)

17 名前:デフォルトの名無しさん mailto:sage [2008/01/24(木) 12:16:42 ]

class A
{
private string var="test";

public string func(string name)
{
return xxxx(name);// name="var"のときreturn varになる
}
}

こんなことしてくれる上記xxxxに相当するようなものはないでしょうか?

18 名前:デフォルトの名無しさん mailto:sage [2008/01/24(木) 12:41:38 ]
なんでstring引数にしないと駄目なの?

19 名前:デフォルトの名無しさん mailto:sage [2008/01/24(木) 12:45:42 ]
private Dictionary<string, string> values={{"var","test"}};

public string func(string name)
{
return values[name];// name="var"のときreturn varになる
}
変数名にvarを使うのはやめとけ

20 名前:19 mailto:sage [2008/01/24(木) 12:50:07 ]
無理にC#3.0使おうとして間違えた正しくはこう
Dictionary<string, string> values = new Dictionary<string,string>{{"var","test"}};
C#2.0ならコンストラクタとかで
values.Add("var", "test");



21 名前:デフォルトの名無しさん mailto:sage [2008/01/24(木) 13:05:48 ]
varはまずかったですね

できました


class A
{
private string str="test";

public string func(string name)
{
Type ty = typeof(A);
FieldInfo fi = ty.GetField(name);
return (string)fi.GetValue(this);
}
}


A B = new A();
 Console.WriteLine(B.func("str"));

とすると

test

が表示されます

22 名前:デフォルトの名無しさん mailto:sage [2008/01/24(木) 13:14:28 ]
他のクラスのメンバにそうやってアクセスするならわかるけど
自分のクラスのフィールドでそれをやる意味がわからない

23 名前:デフォルトの名無しさん mailto:sage [2008/01/24(木) 15:13:38 ]
もう、「変数に変数の名前でアクセスする方法教えてください><」は禁止しない?
教えたって本人にとっていいことないし

24 名前:デフォルトの名無しさん mailto:sage [2008/01/24(木) 15:38:55 ]
またスクリプト脳か。

25 名前:デフォルトの名無しさん mailto:sage [2008/01/24(木) 15:57:04 ]
どれがスクリプト脳?22?23?24?

26 名前:デフォルトの名無しさん mailto:sage [2008/01/24(木) 16:00:00 ]
25

27 名前:デフォルトの名無しさん mailto:sage [2008/01/24(木) 16:02:52 ]
FAQということでまとめておいて
FAQ見れ、と答えることにするとか

28 名前:デフォルトの名無しさん mailto:sage [2008/01/24(木) 16:23:00 ]
・コントロールをコントロールの名前で
・クラス名の文字列からインスタンスを
・ジェネリックで計算
・GC

29 名前:デフォルトの名無しさん mailto:sage [2008/01/25(金) 10:46:16 ]
Convert.ToDateTime があるのに Convert.ToTimeSpan がないのが気に食わない

30 名前:デフォルトの名無しさん mailto:sage [2008/01/25(金) 11:22:06 ]
TimeSpan と言えば IFormattable じゃないのも納得できんな



31 名前:デフォルトの名無しさん mailto:sage [2008/01/25(金) 11:32:21 ]
またスクリプト脳か。

32 名前:デフォルトの名無しさん mailto:sage [2008/01/25(金) 12:36:44 ]
IEの「名前を付けて保存」にある
ファイル種類「Web アーカイブ、単一のファイル(*.mht)」を
C#上から実施する方法ってないですか?

33 名前:デフォルトの名無しさん mailto:sage [2008/01/25(金) 13:50:28 ]
多少のエスパー能力を使って
CDO.Message 使えば?

34 名前:デフォルトの名無しさん mailto:sage [2008/01/25(金) 20:35:18 ]
>>32
mht保存はVB.NETだけど公開されてたはず
場所は忘れたけど

35 名前:デフォルトの名無しさん mailto:sage [2008/01/26(土) 02:52:12 ]
ありがとうございます。
調べてみます。

36 名前:34 mailto:sage [2008/01/26(土) 03:16:41 ]
>>35
ttp://www.atmarkit.co.jp/fdotnet/dotnettips/690createmht/createmht.html
以前見たのはこれじゃないけどコレでどう?

37 名前:デフォルトの名無しさん [2008/01/26(土) 10:30:19 ]
真ん中あたりの、コメントアウトしてるところ、1から3までどれやっても期待する
結果が得られないのは、何でなんだぜ? 0,2,4,...,18 が出て欲しいんだが。

static void Exec()
{
Action<int, int> sumShower = (n, n0) => Console.WriteLine(n + n0);
Action<int> act = n => Bind(sumShower, n);

Action<int>[] acts = new Action<int>[10];

for (int i = 0; i < acts.Length; i++)
{
acts[i] =
//1: n => sumShower(i, n)
//2: n => Bind(sumShower, n)
//3: act
;
}

for (int i = 0; i < acts.Length; i++)
{
acts[i](i);
}

return;
}

static Action<int> Bind(Action<int, int> act, int val)
{
return i => act(tmp, i);
}


38 名前:デフォルトの名無しさん mailto:sage [2008/01/26(土) 12:49:14 ]
>>37
コメントの1はこれで動く。
for (int i = 0; i < acts.Length; i++) 

 int j = i;
 acts[j] = n => sumShower(j, n); 



39 名前:デフォルトの名無しさん mailto:sage [2008/01/26(土) 13:06:47 ]
自分で書いておいてなんだが、つーか、shower ってなんだよw

40 名前:デフォルトの名無しさん mailto:sage [2008/01/26(土) 13:09:56 ]
>>38
やっぱそれしかないわけか。さんくす。
2, 3 は俺が何か根本的な勘違いしてるかもしれないので、わかる人指摘よろ。



41 名前:デフォルトの名無しさん [2008/01/26(土) 13:15:26 ]
何度もすまん。Bind() がこれじゃあコンパイル通らないな。
>>38 で指摘されてる方法を試してたのがそのままになってた。
正しくは、

static Action<int> Bind(Action<int, int> act, int val)
{
 return i => act(val, i);
}


42 名前:デフォルトの名無しさん mailto:sage [2008/01/26(土) 14:49:30 ]
>>40
actとBindが何をしたいのか説明しないとわからんよ。
なにやらループしてるように見える。

43 名前:デフォルトの名無しさん mailto:sage [2008/01/26(土) 15:29:16 ]
Action<int> act = n => Bind(sumShower, n);

Action<int> act = n => Bind(sumShower, n)(n);

44 名前:デフォルトの名無しさん mailto:sage [2008/01/26(土) 18:32:34 ]
>>42
やりたいのは、関数型言語で言うところのカリー化です。束縛(Bind)じゃないですね。
勘違いしていて、またおかしな名前をつけてしまいました。

>43
あー、なるほど。引数が一つ足りないんですね。やってみたら動きました。
ありがとうございました。

45 名前:デフォルトの名無しさん mailto:sage [2008/01/26(土) 20:06:30 ]
C#のジェネリックプログラミングを詳しく解説してある本あったら教えてください

46 名前:デフォルトの名無しさん [2008/01/26(土) 20:08:12 ]
プログラミングMicrosoft .NET Framework 第2版 (マイクロソフト公式解説書): ホーム: ジェフリー リッチャー,Jeffrey Richter,吉松 史彰

47 名前:デフォルトの名無しさん mailto:sage [2008/01/26(土) 20:51:18 ]
>>44
>関数型言語で言うところのカリー化です。

それは部分適用のことをカリー化と呼んでる気がする。

C++界隈ではbindって呼んでるし別にbindでもいいと思うけどね。

参考)
ttp://vader.g.hatena.ne.jp/wata_d/20080123/1201078733


48 名前:デフォルトの名無しさん [2008/01/27(日) 19:18:27 ]
googleでC#の情報を効率よく検索するには
どうしたらよいでしょうか

検索時に ○○ VC# などと検索しても
#が検索対象にならんのですわ

49 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 19:21:31 ]
VC#じゃなくてC#ならおk

50 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 19:22:50 ]
>>48
c int
c# int
検索結果をくらべてみよう。
vc# は認識されないが、c#はgoogleが認識する。

それにしてもMSのネーミングセンスひどいよな。
".NET" のノイズが入らない検索方法があったら知りたい。



51 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 19:23:26 ]
>>49
おおぅ
これはすばらしい。コロンブスの卵でした

52 名前:デフォルトの名無しさん [2008/01/27(日) 19:55:08 ]
アプリケーションの発行 って何に使うの?

53 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 19:59:32 ]
前は +"C#" で検索してたけど、
最近は C# で絞れるんだな。

54 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 21:57:14 ]
それ系の Web サイトや blog やってる人は、ことごとく csharp という
キーワードを入れておくってのを、みんなでやればいいかも。

55 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 21:58:27 ]
>>50
COM とかもアレだな。

56 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 22:03:13 ]
COMって時々聞くけど知っとくべきもん?
今のところまったく経験なし

57 名前:デフォルトの名無しさん mailto:sage [2008/01/27(日) 22:07:28 ]
DirectX を生で使うつもりがあるなら。

58 名前:デフォルトの名無しさん mailto:sage [2008/01/28(月) 00:13:24 ]
Officeやシェルなどに手を出す必要があれば。

59 名前:デフォルトの名無しさん mailto:sage [2008/01/28(月) 00:34:36 ]
ExcelもCOM

60 名前:デフォルトの名無しさん mailto:sage [2008/01/28(月) 00:35:14 ]
IE コンポーネントブラウザ作ったり



61 名前:デフォルトの名無しさん mailto:sage [2008/01/28(月) 00:57:45 ]
次期バージョンで遅延バインディングが入るらしいね

62 名前:デフォルトの名無しさん mailto:sage [2008/01/28(月) 01:39:08 ]
COM楽しいよ
シェルの深みに嵌まってる
半分溺れかけてるとも言えるけど(;´Д`)

63 名前:デフォルトの名無しさん mailto:sage [2008/01/28(月) 01:55:50 ]
>>61
マジで?

64 名前:デフォルトの名無しさん mailto:sage [2008/01/28(月) 02:15:18 ]
>>63
blogs.msdn.com/charlie/archive/2008/01/25/future-focus.aspx
unsafeみたいに,書く人に罪悪感を与えるような構文でいいねw

65 名前:デフォルトの名無しさん mailto:sage [2008/01/28(月) 14:01:32 ]
Formatで-を出すことはできるけど、+はだすことできないですかね?

66 名前:デフォルトの名無しさん mailto:sage [2008/01/28(月) 14:22:23 ]
ToString("+0;-0;0")
string.Format("{0:+0;-0;0}", x)

67 名前:デフォルトの名無しさん mailto:sage [2008/01/28(月) 14:31:05 ]
>>66
ありがとう!!

68 名前:デフォルトの名無しさん mailto:sage [2008/01/29(火) 17:18:49 ]
this.を普段書かない方に質問です。

staticなプロパティと非staticなプロパティとで、命名規則って変えてますか?
変えている場合は、どういう違いをつけていますか?

今は非staticな方に_を付けていますが、どうもしっくりこなくて・・・


69 名前:デフォルトの名無しさん mailto:sage [2008/01/29(火) 17:24:41 ]
しっくりも何も命名ガイドライン的にアウトじゃん。
たぶんメンバ変数のことだろうけど、それでいいんじゃね?
俺はthis付ける派だけど。

70 名前:デフォルトの名無しさん mailto:sage [2008/01/29(火) 17:38:50 ]
>たぶんメンバ変数のことだろうけど
違います



71 名前:デフォルトの名無しさん mailto:sage [2008/01/29(火) 18:22:59 ]
じゃアウトだよ

72 名前:デフォルトの名無しさん mailto:sage [2008/01/29(火) 18:28:05 ]
_つけてpublicだったりしてるの? >プロパティ

73 名前:デフォルトの名無しさん mailto:sage [2008/01/29(火) 18:44:04 ]
普通はstaticなプロパティなりフィールドなりって
staticであることが意味的に明らかな場合が多いから、タグで区別する必要性は感じないな。

というか、今までインスタンスメンバと混同するような状況になったことが
たぶん一度もないと思う。

結論。
それってそもそも設計が変なんじゃないの?

74 名前:68 mailto:sage [2008/01/29(火) 18:45:28 ]
>>69
>しっくりも何も命名ガイドライン的にアウトじゃん。
どこのガイドラインですか?
(C/C++で禁止になっていること・MSではPascalにしてくれとなっていることは知っています)
仕様上禁止だというのであれば、ソースをお願い致します。

>>72
メソッド内で、staticか非staticか見た目で判別できないじゃないですか
そのプロパティが定義されているクラス内でのことなので、publicかどうかは関係ないです…

75 名前:デフォルトの名無しさん mailto:sage [2008/01/29(火) 18:50:31 ]
判断できなくて困るほどでかいクラスを書かない

76 名前:デフォルトの名無しさん mailto:sage [2008/01/29(火) 18:51:37 ]
仕様上なんて誰も言ってない
命名ガイドラインには沿っていないって話だろ。
「ガイドライン」の意味分かる?
msdn.microsoft.com/library/ja/default.asp?url=/library/ja/cpgenref/html/cpconpropertynamingguidelines.asp

77 名前:デフォルトの名無しさん mailto:sage [2008/01/29(火) 18:53:22 ]
>>76
アナタC++のソースでハンガリアン記法とかやっちゃう人ですね

78 名前:デフォルトの名無しさん mailto:sage [2008/01/29(火) 18:54:15 ]
>そのプロパティが定義されているクラス内でのことなので、publicかどうかは関係ないです…

多分基本的な語彙について、話が噛み合ってない気がする

79 名前:デフォルトの名無しさん mailto:sage [2008/01/29(火) 18:57:01 ]
>>77
(゚д゚)ハァ?

80 名前:68 mailto:sage [2008/01/29(火) 19:31:00 ]
>>75
自作クラスばかりで構成されたアプリでは問題になっていないのですが、
既存のライブラリorフレームワーク上のクラスを継承した時に問題になるんです。

>>76
階層をもう少しのぼってよく読んでみたらいいと思います



81 名前:68 mailto:sage [2008/01/29(火) 19:40:19 ]
いっぱい釣れたので、今日のところは帰ります。

82 名前:デフォルトの名無しさん mailto:sage [2008/01/29(火) 19:40:20 ]
>>80
具体例をあげてみたら?

83 名前:デフォルトの名無しさん mailto:sage [2008/01/29(火) 19:48:28 ]
メインのFormのメソッド呼びたいとき、

・static void Mainが書かれてるクラスにFormのインスタンスを取得するメソッドを書く
・シングルトンにする

どっちが一般的なの?

Dispose Finalizeパターンとシングルトンって相性悪そうだけど、
Program.GetForm()とか書くのも気持ち悪い・・・

あ、複数ウインドウ出さないアプリの前提で回答よろ

84 名前:デフォルトの名無しさん mailto:sage [2008/01/29(火) 20:03:33 ]
program.csってあんまりいじらないんじゃね?
その前提なら
1)Form.ActiveForm
2)Application.OpenForms[0]
3)
static Form1 frm1;
public Form1()
{
 Form1.frm1 = this;
}
public static Form1 MainForm
{
 get{return frm1;}
}


85 名前:デフォルトの名無しさん mailto:sage [2008/01/29(火) 20:07:54 ]
>>84 thanks
シングルトンにはしないほうが良いという結論でいいかな?
Form以外(XNAのGameクラスとか)でも使えるのは3かな

86 名前:デフォルトの名無しさん mailto:sage [2008/01/29(火) 21:55:01 ]
どのみちFormには依存するだろ

87 名前:86 mailto:sage [2008/01/29(火) 21:57:37 ]
>>85
書き込んでから理解した
忘れてくれ

88 名前:デフォルトの名無しさん mailto:sage [2008/01/30(水) 13:17:39 ]
いいものみつけた
download.microsoft.com/download/f/2/7/f279e71e-efb0-4155-873d-5554a0608523/CLRInsideOut2008_01.exe
winsiggen.exe便利……かな?

89 名前:デフォルトの名無しさん mailto:sage [2008/01/30(水) 13:23:23 ]
こわくてクリックできない

90 名前:デフォルトの名無しさん mailto:sage [2008/01/30(水) 13:24:36 ]
記事は
msdn.microsoft.com/msdnmag/issues/08/01/CLRInsideOut/default.aspx?loc=jp

日本語版記事にはダウンロードリンクがないんで
末尾のja削ってenにすると出てくるが



91 名前:デフォルトの名無しさん mailto:sage [2008/01/30(水) 15:27:24 ]
Marshal.AllocHGlobal()やMarshal.ReAllocHGlobal()の引数でサイズを指定するところはなんでIntPtrなんだろうか?
AllocHGlobal()にはintで指定するのもあるけどReAllocHGlobal()はIntPtrだけだし
intかlongが自然に思うんだけれど

92 名前:デフォルトの名無しさん mailto:sage [2008/01/30(水) 15:41:33 ]
size_t は int/long じゃないぜ

93 名前:デフォルトの名無しさん mailto:sage [2008/01/30(水) 16:34:33 ]
それが何か?

94 名前:デフォルトの名無しさん mailto:sage [2008/01/30(水) 17:05:03 ]
あほの俺が推測すると、64bit環境で2GB以上確保するため

95 名前:デフォルトの名無しさん mailto:sage [2008/01/30(水) 17:47:10 ]
>>91
メモリを確保するんだから、native intである必要があるだろ。

96 名前:デフォルトの名無しさん mailto:sage [2008/01/30(水) 18:01:20 ]
ありませんよ

97 名前:デフォルトの名無しさん mailto:sage [2008/01/30(水) 18:06:24 ]
CLIのnative int型をC#で表現してるからIntPtrになってるだけでしょ。
int32, int64, native int の中で一番自然なのはnative intだと思う。

98 名前:デフォルトの名無しさん mailto:sage [2008/01/30(水) 23:03:10 ]
>>88
これすげえ
Cのヘッダから自動生成してくれる

99 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 02:09:45 ]
>>97
うん でもさ、IntPtrのままじゃ演算できなくて結局intからキャストしてたり
SizeOfの返り値がintだったりと他の部分との整合性が取れてない点を不自然に思ってる
インターフェースがint/longでもいいし、もしくはIntPtrでもいいけどそれで演算できてたらよかったと思ってる

100 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 09:14:53 ]
LinqのIQueryableのProvider実装してる人いる?
ブログとかでやってる人の見たけれどなんかめんどくさそう・・・



101 名前:デフォルトの名無しさん [2008/01/31(木) 20:25:20 ]
C#でどこまでが言語仕様でどこからがライブラリか
という区別がよくわかりません.たとえば foreach
は予約語ですが,IEnumerable とか IEnumerator は
単なる識別子です.yield のように reserved word
ではないけど contextual keyword だというような
ものもあり,そのあたりのあいまいさが使っていて
美しくないというか・・・・

その辺をすっきりと理解して使いたいのですが,
どのような本を読めばいいのでしょうか?






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

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

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