X



ふらっと C#,C♯,C#(初心者用) Part134
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん (ワッチョイ 0f9a-KsIq)
垢版 |
2017/11/29(水) 19:23:58.05ID:GNLsbK4F0
「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。
他のスレッドでは書き込めないような低レベルな質問、
質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。
内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。
なお、テンプレが読めない回答者、議論をしたいだけの人は邪魔なので後述のC#相談室に移動して下さい。
C#に関係の無い話題や荒らしの相手や罵倒レスはやめてください

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

■前スレ
ふらっと C#,C♯,C#(初心者用) Part133
http://mevius.5ch.net/test/read.cgi/tech/1510056685/
■関連スレ
C#, C♯, C#相談室 Part95
http://mevius.5ch.net/test/read.cgi/tech/1508180530/
C#, C♯, C#相談室 Part93
https://mevius.5ch.net/test/read.cgi/tech/1492818720/

■コードを貼る場合は↓を使いましょう。
http://ideone.com/
https://dotnetfiddle.net/

■情報源
https://msdn.microsoft.com/ja-jp/library/gg145045.aspx
https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/index
https://msdn.microsoft.com/en-us/library/gg145045.aspx
http://referencesource.microsoft.com/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured
0784デフォルトの名無しさん (アウアウウー Sa77-rgA5)
垢版 |
2018/01/31(水) 12:33:39.58ID:Hr5M/E+Xa
初心者だからわからないんだろうけど
そういうリソース系は数量をチェックしても無駄だよ

チェックした時点で大丈夫かもしれないけど
使うとき限界に達してるかもしれない
どこも保証しない
実行して失敗なら失敗
0787デフォルトの名無しさん (アウアウウー Sa77-rgA5)
垢版 |
2018/01/31(水) 12:40:26.06ID:Hr5M/E+Xa
いきなり鉛筆をつかもうとする
つかめなかったらwindowsは異常な事態になってるので回復は不能
アプリを落とす

自分で鉛筆を使ってる場合使わなくなったら即座に開放
たったこれだけ
0788デフォルトの名無しさん (ペラペラ SD3b-LUfI)
垢版 |
2018/01/31(水) 12:51:37.68ID:YgPJ7UgLD
c♯固有の話では無いですがインターフェースのファイルとクラスのファイルは一般的に同じフォルダに入れてるのでしょうか?

インターフェース用フォルダ、抽象クラス用フォルダ、クラス用フォルダと分けた方が見やすいとかあるのかなと思いまして
0792デフォルトの名無しさん (アウアウエー Saf2-BM8y)
垢版 |
2018/01/31(水) 18:51:07.07ID:K5Al/IGma
いや、それは単にVSがそういう前提で作ってある(ソリューションエクスプローラから
新規にファイルを作った時のスケルトンの名前空間がプロジェクトの規定の名前空間に
フォルダ階層がくっついたものになる)ってだけの話で、別に必要なら単に分類のために
フォルダ作ってもいいと思うよw

そんなケースはあんまりないとは思うけど
0796愛知人!id:ignore (ワッチョイ e305-5Mtj)
垢版 |
2018/01/31(水) 19:54:02.69ID:3eBSylxa0
>>795
ありがとうございます!
0800デフォルトの名無しさん (スププ Sdda-La00)
垢版 |
2018/01/31(水) 21:11:48.89ID:uhY/QizFd
>>783
昔、GDI+とMFC or Win32APIから.netに移行する表とその説明があったけど、検索で調べきれないわ。

さかのぼると、WM_PAINT, BeginPaintとか古典的な描画APIとかの話になるから

今、ディスプレイドライバーのソースを見てるけど、なかなか説明が難しいわ

ごめんなさいね
0804デフォルトの名無しさん (アウアウウー Sa5b-+DFt)
垢版 |
2018/02/01(木) 11:30:02.30ID:DhFBeVpNa
非常に単純化した話として
windowsは特定のリソースを数字で管理してるけど
その数字の上限が決まってる

管理してる空きがないと確保できない
単純な話

出来ないものはできない
それだけ
何も難しくない
0805デフォルトの名無しさん (アウアウウー Sa5b-+DFt)
垢版 |
2018/02/01(木) 11:31:56.97ID:DhFBeVpNa
だから使わなくなったらすぐに解放しておけばいい
それだけ
何も難しいことはないけど馬鹿がこねくり回して難しい難しい言ってるだけ

サンプルソースで開放してないのは1個ぐらいもれてても実害はないから

実装する際は自分で実装したらいい
0809愛知人
垢版 |
2018/02/01(木) 22:50:11.02
WinFormsの自作Componemtでデータをネットから取得するメソッドで、完了と失敗のイベントを実装するのは普通ですか?
0812愛知人!id:ignore (ワッチョイ 9775-jUAt)
垢版 |
2018/02/02(金) 00:51:28.62ID:jGftTsx+0
ありがとうございます(>_<)
0816愛知人
垢版 |
2018/02/02(金) 12:29:56.98
>>814
Replace
0818愛知人
垢版 |
2018/02/02(金) 12:37:13.44
区切り文字を削除したいシチュエーションなんか普通はないしな
知らんけど
0819デフォルトの名無しさん (ワッチョイ 1feb-j4Dg)
垢版 |
2018/02/02(金) 12:38:34.03ID:BMFcc+go0
ところで拡張メソッドって参照されないんだっけ?

public static System.Data.SqlClient.SqlCommand CreateCommand(this System.Data.SqlClient.SqlTransaction SqlTransaction)
{
  var SqlCommand = SqlTransaction.Connection.CreateCommand();
  SqlCommand.Transaction = SqlTransaction;
  return SqlCommand;
}

BeginTransaction した後のトランザクションを使って CreateCommand すると
トランザクションの内側に入る、的な糞メソッドを作ったんだけど
どうやら、トランザクションの外側になっちゃうっぽいんだ。
→ Rollback しても戻らない
→ ブレークポイントしながら見てると、トランザクション自体が開始されていない

ref this で解決するかと思いきやクラスはダメで使えない
VB.NET だと普通に出来ちゃうと聞くが
0820愛知人
垢版 |
2018/02/02(金) 19:36:31.54
コードでコントロールのプロパティを規定値(DefalutValue属性の値)にリセットする方法はありますか?(>_<)
0823愛知人!id:ignore (ワッチョイ 9775-jUAt)
垢版 |
2018/02/02(金) 20:50:42.32ID:jGftTsx+0
ありがとうございます(>_<)
0824デフォルトの名無しさん (ワッチョイ f7e3-uppE)
垢版 |
2018/02/02(金) 21:57:28.18ID:Zl28+evz0
c#っぽい独自言語の解析をしてるんですが
コメントの「//」や「/*」「*/」の解析って
ダブルコーテーション内と外ってどうやって判断したらよいでしょうか?
0826デフォルトの名無しさん (アウアウウー Sa5b-+DFt)
垢版 |
2018/02/02(金) 22:38:26.26ID:dT49NCpma
>>824
やり方次第

作ったことあるのでわかりやすいのは文法をのままコードにする
頭から呼んでって状態を覚えておく

文字リテラル内は解析しないでエスケープルールや”の監視だけする

//や/*コメントの時は行末まで読み捨て
0829デフォルトの名無しさん (ワッチョイ f7e3-uppE)
垢版 |
2018/02/02(金) 22:48:59.30ID:Zl28+evz0
>>826
それがわからない
文字列リテラルなのかコメントなのか判断できない
ダブルコーテーションから判定するとそれがコメントだったとき駄目
コメントから判定するとそれが文字列リテラルだったとき駄目
っていうパラドックス
0831デフォルトの名無しさん (アウアウウー Sa5b-+DFt)
垢版 |
2018/02/02(金) 22:56:57.54ID:dT49NCpma
急がないならどれかの言語のコードでもじっくり読んで勉強したらいい
大体の言語はオープンソースなので好きなのをやればいい
ただしc++の知識ぐらいはいる

急ぐならテストパターンを十分に用意して手あたり次第やればいい
0834デフォルトの名無しさん (アウアウウー Sa5b-+DFt)
垢版 |
2018/02/02(金) 23:15:27.28ID:dT49NCpma
独自言語の解析してるんだろ?

他の部分が出来てるなら
普通に頭から読んでって "が出たらリテラルフラグオンにして
//が出たら行末まで読み捨て
/*だったら次の*/がでるまで捨てるだけ

何も難しくない
0836デフォルトの名無しさん (ワッチョイ 7703-skLA)
垢版 |
2018/02/02(金) 23:18:02.29ID:HOyQOl0G0
独自言語が逐次実行される前提で話してるな
0839デフォルトの名無しさん (アウアウエー Sadf-Og17)
垢版 |
2018/02/02(金) 23:24:38.81ID:yHy9QEH1a
>>829
難しく考えすぎでしょう。
>>826が言ってるのはたぶん単純なステートマシン。

enum State
{
  トークン探索中,
  文字列検出中,
  インラインコメント検出中、
  ....
}

stateを表すenumを定義して、stateの値に応じて動作を変えるだけ。
文字列リテラルの始め「"」やコメントの始まりを検出するのはstate = State.トークン探索中の時だけ。
素朴すぎるやり方だと思うが、少なくともこれでそんなパラドックスには陥らない
0846愛知人!id:ignore (ワッチョイ 9775-jUAt)
垢版 |
2018/02/03(土) 00:17:09.98ID:GkUi/Itq0
そのときだけ行またげばいいだけだし
0857デフォルトの名無しさん (ワッチョイ 179d-mIUl)
垢版 |
2018/02/03(土) 09:02:44.63ID:LvTBogUR0
swich() { case xxxx: ~
xxxxに変数をつかいたいのだが、switchに変わるものってなに?
0860デフォルトの名無しさん (ワッチョイ 179d-mIUl)
垢版 |
2018/02/03(土) 10:50:39.85ID:LvTBogUR0
switchi( (button)sender) ){
case Button1: ~
case Button2:~
case Button3:~
}
こんな感じのことがしたい。

〜はMethod()でいいので、
void switch_tb()= {
{Button1, Method1}
{Button2, Method2}
{Button3, Method3}
}
switch_suru((button)sender);
こんなことできんか? 
0861デフォルトの名無しさん (ワッチョイ 179d-mIUl)
垢版 |
2018/02/03(土) 10:52:21.97ID:LvTBogUR0
C#はメソッドの中のローカルメソッドってできへんの?
0866デフォルトの名無しさん (ワッチョイ 179d-mIUl)
垢版 |
2018/02/03(土) 12:24:29.31ID:LvTBogUR0
いい方法をみーつけ
0872デフォルトの名無しさん (ワッチョイ f783-j4Dg)
垢版 |
2018/02/03(土) 12:40:45.58ID:ZFgrbY8z0
使ってる奴も糞ばっかになったな。新しい機能一つ覚えただけでマウンティングしだすアホとか。
なぜその機能が糞かが理解できない脳みそ。取り巻きからして残念な言語になってしまった。
0873愛知人
垢版 |
2018/02/03(土) 12:41:41.35
あらら、怒っちゃった(笑)
0876愛知人
垢版 |
2018/02/03(土) 12:50:20.68
Enumerable.Rangeじゃだめなん?
0882デフォルトの名無しさん (ワッチョイ f783-j4Dg)
垢版 |
2018/02/03(土) 14:17:08.45ID:ZFgrbY8z0
どう書いたらいいか分からないのが糞言語の証左。
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況