C# と VB.NET の質問掲示板
ASP.NET、C++/CLI、Java 何でもどうぞ
掲示板トップ
C# と VB.NET 入門
新規作成
利用方法
ツリー表示
トピック表示
ランキング
記事検索
過去ログ
ログ内検索
キーワードを複数指定する場合は 半角スペース で区切ってください。
検索条件は、(AND)=[A かつ B] (OR)=[A または B] となっています。
[返信]をクリックすると返信ページへ移動します。
キーワード
/
検索条件
/
(AND)
(OR)
検索範囲
/
(現在のログ)
(全過去ログ)
(過去ログ1)
(過去ログ2)
(過去ログ3)
(過去ログ4)
(過去ログ5)
(過去ログ6)
(過去ログ7)
(過去ログ8)
(過去ログ9)
(過去ログ10)
(過去ログ11)
(過去ログ12)
(過去ログ13)
(過去ログ14)
(過去ログ15)
(過去ログ16)
(過去ログ17)
(過去ログ18)
(過去ログ19)
(過去ログ20)
(過去ログ21)
(過去ログ22)
(過去ログ23)
(過去ログ24)
(過去ログ25)
(過去ログ26)
(過去ログ27)
(過去ログ28)
(過去ログ29)
(過去ログ30)
(過去ログ31)
(過去ログ32)
(過去ログ33)
(過去ログ34)
(過去ログ35)
(過去ログ36)
(過去ログ37)
(過去ログ38)
(過去ログ39)
(過去ログ40)
(過去ログ41)
(過去ログ42)
(過去ログ43)
(過去ログ44)
(過去ログ45)
(過去ログ46)
(過去ログ47)
(過去ログ48)
(過去ログ49)
(過去ログ50)
(過去ログ51)
(過去ログ52)
(過去ログ53)
(過去ログ54)
(過去ログ55)
(過去ログ56)
(過去ログ57)
(過去ログ58)
(過去ログ59)
(過去ログ60)
(過去ログ61)
(過去ログ62)
(過去ログ63)
(過去ログ64)
(過去ログ65)
(過去ログ66)
(過去ログ67)
(過去ログ68)
(過去ログ69)
(過去ログ70)
(過去ログ71)
(過去ログ72)
(過去ログ73)
(過去ログ74)
(過去ログ75)
(過去ログ76)
(過去ログ77)
(過去ログ78)
(過去ログ79)
(過去ログ80)
(過去ログ81)
(過去ログ82)
(過去ログ83)
(過去ログ84)
(過去ログ85)
(過去ログ86)
(過去ログ87)
(過去ログ88)
(過去ログ89)
(過去ログ90)
(過去ログ91)
(過去ログ92)
(過去ログ93)
(過去ログ94)
(過去ログ95)
(過去ログ96)
(過去ログ97)
(過去ログ98)
(過去ログ99)
(過去ログ100)
(過去ログ101)
(過去ログ102)
(過去ログ103)
(過去ログ104)
(過去ログ105)
(過去ログ106)
(過去ログ107)
(過去ログ108)
(過去ログ109)
(過去ログ110)
(過去ログ111)
(過去ログ112)
(過去ログ113)
(過去ログ114)
(過去ログ115)
(過去ログ116)
(過去ログ117)
(過去ログ118)
(過去ログ119)
(過去ログ120)
(過去ログ121)
(過去ログ122)
(過去ログ123)
(過去ログ124)
(過去ログ125)
(過去ログ126)
(過去ログ127)
(過去ログ128)
(過去ログ129)
(過去ログ130)
(過去ログ131)
(過去ログ132)
(過去ログ133)
(過去ログ134)
(過去ログ135)
(過去ログ136)
(過去ログ137)
(過去ログ138)
(過去ログ139)
(過去ログ140)
(過去ログ141)
(過去ログ142)
(過去ログ143)
(過去ログ144)
(過去ログ145)
(過去ログ146)
(過去ログ147)
(過去ログ148)
(過去ログ149)
(過去ログ150)
(過去ログ151)
(過去ログ152)
(過去ログ153)
(過去ログ154)
(過去ログ155)
(過去ログ156)
(過去ログ157)
(過去ログ158)
(過去ログ159)
(過去ログ160)
(過去ログ161)
(過去ログ162)
(過去ログ163)
(過去ログ164)
(過去ログ165)
(過去ログ166)
(過去ログ167)
(過去ログ168)
(過去ログ169)
(過去ログ170)
(過去ログ171)
(過去ログ172)
(過去ログ173)
(過去ログ174)
(過去ログ175)
(過去ログ176)
(過去ログ177)
(過去ログ178)
(過去ログ179)
強調表示
/
ON
(自動リンクOFF)
結果表示件数
/
20件
30件
40件
50件
100件
記事No検索
/
ON
大文字と小文字を区別する
全過去ログを検索
ヒット / 7件
(1-7 を表示)
<<
0
>>
■6268
Re[10]: 画面切替をスムーズにしたい
□投稿者/ とっちゃん -
(2007/08/07(Tue) 11:23:53)
>
■
No6247
(れい さん) に返信
> キューがあるかないかは、
> 他のスレッドからPostThreadMessageを呼べばわかります。
> キューがなければGetLastErrorがERROR_INVALID_THREAD_IDを返します。
>
あら、そうなんですか。そいつは知らんかった...
> この方法で調べてみたのですが、
> 驚いたことに、
> SendMessageやPostMessgeでもRegisterClassでもキューが作成されています。
>
えっと、RegisterClass はいずれウィンドウが作られるであろうことから考えれば
その時点でキューを起こしちゃっても問題はないでしょうけど...
SendやPostでもキューが作られちゃうんですか?HWND = NULL ということはないですよね?
#HWND=NULLだと自スレッドにも当てられちゃうので...
> たくさんのワーカースレッドを使うときには
> SendMessageやPostMessageで通信してはいけない
> ということのようです。
がーん(T_T)
ってことは、寿命の長いスレッドからメッセージ投げちゃうのはやばいということですね。
覚えておこ( ..)φメモメモ
記事No.6188 のレス /過去ログ16より /
関連記事表示
削除チェック/
■6269
Re[3]: 時計回り、反時計回り判定
□投稿者/ セイン -
(2007/08/07(Tue) 11:25:06)
>y4yama さんへ
わざわざコードまで書いていただきありがとうございます。
C++で書いた僕の式でも同じ値-8464.73637が出ましたのですっきりしました。
ちなみに僕のコードで/10000.0 と割る数字が2.0でない理由は、
大きな円を0.1度刻みぐらいにした座標を受けたとき、
Dim sum As Double = 0.0
の最大値をオーバーしてしまうことがあるためです。
自分で作っていたにもかかわらず、これが面積をあらわすことを忘れていました。ありがとうございます。
現状のままでやってみますが、問題がありそうでしたら、ぜひ教えてください。
記事No.6130 のレス / END /過去ログ18より /
関連記事表示
削除チェック/
■11975
Re[2]: メッセージボックス
□投稿者/ 774RR -
(2007/12/26(Wed) 14:02:56)
2007/12/26(Wed) 14:04:43 編集(投稿者)
そーいう設定を「サーバ側の ASP/CGI で任意に」できるとしたら、
Web サーバ上に置いてある悪意の有るファイル (木馬やウィルス) を
ボタンクリックひとつで開く=インストールできる
ということになるわけで、もしできたらセキュリティホールで大騒ぎ。
もしどうしてもやりたいのであれば「クライアント側の設定」で可能となるので、
クライアント側の設定を変更してもらうことになる。
クライアントに設定を変えてもらえるかどうかはクライアント次第。
表示したいだけだったら、ほとんどのユーザが使っているであろう pdf にするのが簡単
編集:ファイルサーバのファイルは開けて当然なのでファイルサーバの旨は削除
記事No.11965 のレス /過去ログ26より /
関連記事表示
削除チェック/
■46255
初めて海外旅行について-MVP Global Summitへ
□投稿者/ やじゅ -
(2010/01/28(Thu) 22:47:33)
>
分類:[雑談]
2010/01/30(Sat) 13:53:16 編集(投稿者)
2010/01/30(Sat) 13:17:31 編集(投稿者)
会社の了解も得て、2010年2月16日〜2月19日に開催されるMVP Global Summitに
行けることとなりました(^-^)
さて、私自身、初めての海外旅行ということもあり、右も左も分からない状態です。
パスポートは作成し、その他必要な書類等は、ツアー会社の指示に従って準備してます。
残り2週間ちょっとありますので、必要なものは購入しないといけないと思っております。
過去に行かれた方で、持ち物の準備(後で持っていかなくて後悔した物とか)や飛行機や
ホテルでの過ごし方など、助言して頂ければ助かりますm(_ _)m
追記:タイトル変更しました。
文字数制限でよねKENさんの提案より短くなりました。
「はじめての海外旅行について 〜 MVP Global Summitに行く」
親記事 /過去ログ78より /
関連記事表示
削除チェック/
■86453
Re[3]: 空の delegate は null なの?
□投稿者/ 魔界の仮面弁士 -
(2018/01/30(Tue) 18:27:56)
■
No86407
(774RR さん) に返信
> そういやオイラ event ハンドラにはいつも「何もしない」ハンドラを割り振ってますな。
それって、イベントを提供する側の話でしょうか。
それとも、イベントを利用する側の話でしょうか。
button1.Click += delegate {}
いずれにしても、EventHandler や EventHandler<TEventArgs> に限った話ですよね。
C# では、戻り値を返すイベントを定義できますが、
この場合、「何もしない ハンドラ」を割り当てるわけには行かないはず。
public delegate bool FooDelegate(int x);
public event FooDelegate Foo;
一方 VB.NET の場合、『戻り値を持ったイベント』を定義しようとすると
Visual Basic ではコンパイルエラー(BC31084)となる仕様です。
定義済みのものを利用する分には、VB6 でも VB.NET でも可能なのですが。
実際のところ、複数のメソッド呼び出しを束ねるのはイベントの場合ぐらいで、
ましてや戻り値を持つメソッドを連結させることは非常に稀だとは思いますが、
もしも個々の戻り値を個別に受け取る必要がある場合は、そのデリゲートの
GetInvocationList メソッドを利用できるようになっています。
> // メンバ宣言して new してない段階では d は null なのは納得
未初期化のローカル変数 d に対しては
d = Method1;
は実行できても、
d += Method1;
はコンパイルエラーになりますね(CS0165)。当然のことではありますが。
■
No86445
(774RR さん) に返信
> おお
non-
static メンバ関数ではなくて static メンバ関数の syntax sugar だったわけですか・・・
ちなみにデリゲートは、インスタンスメソッドの呼び出しに最適化されているため、
静的メソッドの呼び出しだと、効率がかなり悪いそうです。
これについて、カリー化(curried delegate)で回避できます。
http://ufcpp.net/study/csharp/functional/miscdelegateinternal/
> C++ では += が static メンバにはなりえないのでそういう認識でいました。
> this が必須のような構文をしておいて実は static っつーのはずいぶん罪作りな糖衣構文っすね。
delegate 以外でも、
string s = null;
s += null;
と書けますけれどね。しかも上記の結果は、null ではなく string.Empty です。
# 上記は『s = System.String.Concat(null, null);』相当
> # += が Combine の糖衣構文であるとはどこに書いてあるんだろう・・・探す気力なし
同じ意味になると、大昔に TechEd あたりで聞いたような気がするのですが、
済みません、私もうろ覚えなので情報ソースは提示できないです。
公式資料として書いたものがあるかどうかまでは分からないので、
糖衣構文と呼べるかどうかは自信がなくなってきました。今更ですが。
ただ言語仕様面で捉えてみると、+= が Combine というよりは、
「a += b」が「a = a + b;」の糖衣構文と捉えた方が良いかと思っています。
「変数 a」の型が、「a + b」の演算が返す型と同じ(あるいは暗黙変換可能)でない場合、
a += b; はコンパイルエラーとなります。
// これはエラー
int a = 0;
a += 0L;
// これは OK
float b = 0F;
b += 0L;
ただしデリゲートが event 化されている場合は話が変わってきます。
イベントは特別扱いされており、デリゲート型変数とは違って、
演算子として += と -= しか使えません。(デリゲートなら + や - や = も使える)
しかも代入式の左辺にしか記述できないという制限付き。
この制限があるため、匿名メソッドやラムダ式を、
button2.Click += delegate { MessageBox.Show("Test"); };
のように、変数を介さずにイベントハンドラとして直接割り当ててしまうと、
後で解除あるいはクリアできずに難儀することになりますね。
ちなみに上記の += 処理は、
button2.add_Click(new EventHandler(delegate { MessageBox.Show("Test"); }));
相当の処理としてコンパイルされます。
といっても、C# からの add_Click メソッドの呼び出しは禁止されているのですけれども。
(JScript.NET や PowerShell の場合は、add_Click メソッドを使って割り当てます)
記事No.86407 のレス / END /過去ログ148より /
関連記事表示
削除チェック/
■86459
Re[4]: 空の delegate は null なの?
□投稿者/ furu -
(2018/01/30(Tue) 22:05:06)
2018/01/30(Tue) 22:05:52 編集(投稿者)
2018/01/30(Tue) 22:05:43 編集(投稿者)
■
No86453
(魔界の仮面弁士 さん) に返信
> ただ言語仕様面で捉えてみると、+= が Combine というよりは、
> 「a += b」が「a = a + b;」の糖衣構文と捉えた方が良いかと思っています。
言語仕様(JIS規格X3015:2008)では、x op= yは
x op yの演算の結果がxの型に暗黙に変換される場合、x = x op y
x op yの演算の結果がxの型に明示的に変換され、yがxの型に暗黙的に変換される場合、x = (T)(x = x op y)
※Tはxの型,仕様にはシフト演算子の場合の記述もある
>
> 「変数 a」の型が、「a + b」の演算が返す型と同じ(あるいは暗黙変換可能)でない場合、
> a += b; はコンパイルエラーとなります。
byte b = 0;
b += 1; //OK
b = b + 1; //エラー
b <<= 1; //OK
b = b << 1; //エラー
また、x op= y が x = x op yと決定的に違うのは、xの評価が1度だけだということが保証されています。
int[] x = new int[100];
x[new Random().Next(100)] += 7; //new Random().Next(100)は、1度だけ計算
> ただしデリゲートが event 化されている場合は話が変わってきます。
言語仕様で、通常の+=,-=は、「複合代入」ですが、イベントの場合「イベント代入」となっていて
まったくの別物として定義されてますね。
記事No.86407 のレス / END /過去ログ148より /
関連記事表示
削除チェック/
■98878
ソースコードにパスワードを直書きする
□投稿者/ お肉 -
(2022/01/11(Tue) 10:28:59)
分類:[C#]
裏口からのc#実践入門という本を読んでいるのですが、その中でパスワードはソースコードに直書きするのではなく、Properties.Settings.Defaultを使うと書かれていました。
そこで2点疑問なのですが、
1.App.configとProperties.Settings.Defaultは何が違うのでしょうか?使い分けはどうしたらいいのでしょうか?
2.Properties.Settings.Defaultの中を見るとXMLで書かれていました。これはコンパイルしてもXMLファイルとして残って誰でも中身を見ることができてしまわないでしょうか?
親記事 /過去ログ172より /
関連記事表示
削除チェック/
<<
0
>>
パスワード/
-
Child Tree
-