ふらっと C#,C♯,C#(初心者用) Part117 [転載禁止]©5ch.io
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2015/10/02(金) 20:50:08.06ID:IGV3Viy6他のスレッドでは書き込めないような低レベルな質問、
質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。
内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。
なお、テンプレが読めない回答者は邪魔なので後述のC#相談室に移動して下さい。
>>980を踏んだ人は新スレを建てて下さい。
>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。
■前スレ
ふらっと C#,C♯,C#(初心者用) Part116 [転載禁止](c)2ch.net
http://peace.2ch.net/test/read.cgi/tech/1436344868/
■関連スレ
C#, C♯, C#相談室 Part89 [転載禁止](c)2ch.net
http://peace.2ch.net/test/read.cgi/tech/1443271409/
■コードを貼る場合は↓を使いましょう。
http://ideone.com/
0263デフォルトの名無しさん
2015/10/19(月) 10:54:18.39ID:NjHqWI/sデザインパターンですよね?そちらの方がいいのかな?
public static IEnumerable<T> Select<T>(string dbFile, string tableName, string ptn) where T:new()
{
using (var connection = GetConnection(dbFile))
{
connection.Open();
try
{
var sql = "select * from " + tableName + " where name like '%" + ptn + "%'";
return connection.Query<T>(sql);
}
catch (Exception e)
{
Console.WriteLine("SelectError={0}",e.Message);
}
return null;
}
}
こんな感じのdllを作っている途中なんですが
0264デフォルトの名無しさん
2015/10/19(月) 10:56:15.66ID:v19BRXDY作る意味なし
0265デフォルトの名無しさん
2015/10/19(月) 11:15:29.47ID:PGvR7XY70266デフォルトの名無しさん
2015/10/19(月) 11:21:13.07ID:kIMtGLET0267デフォルトの名無しさん
2015/10/19(月) 16:42:20.38ID:NjHqWI/sInterfaceだと
return connection.Query<T>(sql);
ここでエラーになるんです
動的に生成されたあらゆるdbのテーブルにアクセスできるような
関数が書きたいんですが難しくて試行錯誤してます
0268デフォルトの名無しさん
2015/10/19(月) 17:04:32.33ID:6CTsRO/G難読化とかしなくてもILは読めないものなんですか?
無対策でいけますか?
0269デフォルトの名無しさん
2015/10/19(月) 17:08:11.74ID:D6E0OVv3うぶんつ行き
マイクロソフトもぅあかん・・・なんやってんだよこいつ等
0270デフォルトの名無しさん
2015/10/19(月) 17:35:49.86ID:h/O11m5h読まれると困るロジックはクラウドにポイしなさい
0271デフォルトの名無しさん
2015/10/19(月) 17:38:41.70ID:bIFzKXU5GraphicsクラスのFromImageメソッドを使ってBitmapオブジェクトを渡すとGraphicsオブジェクトを返してくれるんかぁ
FromImageメソッドってなんでFromImageって名前なんですか?
何か許せんなぁ
(´・ω・`)
0272デフォルトの名無しさん
2015/10/19(月) 17:40:34.47ID:yeB94VZ+風説の流布
MSに訴えられても知らないよ
0273デフォルトの名無しさん
2015/10/19(月) 17:44:09.65ID:6CTsRO/GWhat the...
0274デフォルトの名無しさん
2015/10/19(月) 17:44:59.65ID:bIFzKXU5よっぽど分かりやすいわ
(´・ω・`)
0275デフォルトの名無しさん
2015/10/19(月) 18:35:23.16ID:E3V4kHKJプチコンやってろよ睾丸AA野郎
0276デフォルトの名無しさん
2015/10/19(月) 22:12:15.18ID:ZagPftKb画像の余計な透明削除ツール作ったら画像編集作業が5倍くらい早くなった
0277デフォルトの名無しさん
2015/10/19(月) 22:30:31.92ID:v19BRXDY設計思想でC#と共通する部分が多いからC#使いには馴染みやすいはず
0278デフォルトの名無しさん
2015/10/19(月) 22:41:25.04ID:ZagPftKb3時間あれば自動化ツールくらい作れるし
動型言語は本当に無理
0279デフォルトの名無しさん
2015/10/19(月) 22:55:04.13ID:v19BRXDYさらにそのコマンド実行も自動化しようすればスクリプトが欲しくなる
0280デフォルトの名無しさん
2015/10/20(火) 01:58:38.69ID:FqqyKFc+逆になんて名前をつけるの?
0281デフォルトの名無しさん
2015/10/20(火) 02:03:28.20ID:ihl8OErtImage側のインスタンスメソッドが存在しない点じゃなくてそっちかw
ImageはBitmapだけじゃないのは理解してるんだよね?
0282デフォルトの名無しさん
2015/10/20(火) 03:17:45.27ID:fy+ITDgZ0283デフォルトの名無しさん
2015/10/20(火) 20:37:49.08ID:+C/uSyXL0284デフォルトの名無しさん
2015/10/20(火) 21:27:22.38ID:XSRvNUEe0285デフォルトの名無しさん
2015/10/20(火) 21:31:07.79ID:aserhZ1Uその二つは比較されるものなんですか?
私は後者しか使った事ないんですが、前者は名前だけ知っています
0286デフォルトの名無しさん
2015/10/20(火) 21:35:02.48ID:VizItIQ4ASP.NET MVCって大規模業務アプリケーション向けだぞ?
0287デフォルトの名無しさん
2015/10/20(火) 22:53:52.64ID:n2Rswrrf悪夢しか想像できないな
中規模の「動けばいい」的なトコしか使い道がない
中途半端な存在
0288デフォルトの名無しさん
2015/10/21(水) 00:12:55.70ID:1DhnI/Al0289デフォルトの名無しさん
2015/10/21(水) 00:17:50.65ID:+buqe22Nフレームワーク使わずに素のC#のHttpListenerだろ
0290デフォルトの名無しさん
2015/10/21(水) 02:50:58.77ID:KS4N6B3gキーはプログラム内で保持して固定にするつもりなんだけど、IVはどう扱ったら良い?
�@暗号化する毎にIVを変更して、暗号化したファイルの先頭に書き出す。
�AIVもプログラム内で保持して固定。ファイルには書き出さない。
0291デフォルトの名無しさん
2015/10/21(水) 08:02:33.67ID:J5wjnr6G「レコード」クラスの「○○フラグ」は「キーワード」のグループ毎に1件状態にしたい
そこで考えたのが
「レコード」クラスに「○○フラグの変更時に呼ばれるアクション」を追加
「○○フラグ」プロパティのセッターで上記のアクションを呼ぶ(循環呼び出し排他制御付き)
コレクションするクラス側で「キーワード」のグループ毎に1件状態にするメソッドを実装
コレクションに追加する時に「レコード」のアクションにメソッドを呼ぶラムダ式を代入(※)
これで一応期待する動作になるのですが
「レコード」を破棄する時に(※)で代入したアクションはNULLクリアしないと
コレクションからの参照が残って不味いとかあるのでしょうか?
0292デフォルトの名無しさん
2015/10/21(水) 08:21:14.32ID:zYXo0lV40293デフォルトの名無しさん
2015/10/21(水) 09:06:19.97ID:7McFBYAy0294デフォルトの名無しさん
2015/10/21(水) 11:04:42.43ID:ErXzvicfプログラムがキーを持ってる時点でもうどうでも良くない?
0295デフォルトの名無しさん
2015/10/21(水) 12:31:41.91ID:IzAQ78jc難しく考えすぎ
そんなもんDictionaryにキーワードとフラグのペアを持たせといてレコードクラスのsetterで更新したらええがな
getterもそのDictionaryから値を取得して返すだけ
Dictionaryのインスタンスはデータコンテキスト的なクラスを作ってその中にラップして共有すればいい
0296デフォルトの名無しさん
2015/10/21(水) 15:30:16.81ID:12+gm44t全体の一部であるレコードが
全体を視野に入れてユニークかどうか判別するのは
好ましいとは思わないな
その部分は分離したほうがいいよ
0297デフォルトの名無しさん
2015/10/21(水) 15:40:29.52ID:12+gm44tUserEntityにdbを操作する静的メソッドを用意する
クラス一つだけで済むのでサンプルとしてはわかりやすいけど
0298デフォルトの名無しさん
2015/10/21(水) 16:15:53.93ID:J5wjnr6Gレス有難うございます
最初はレコードクラスに「○○フラグChanged」イベントを作り
コレクションクラスでそれを購読して対応しようかと思ったのですが
アクションで代入したらGCの回収対象になるのかな?
もしそうなら購読解除が要らないので少し楽できるかなぁ的な安易な考えでした
他の実装方法も含めて勉強してみます
重ねて有難うございました
0299デフォルトの名無しさん
2015/10/21(水) 16:26:42.47ID:12+gm44tまず動くもの作って問題が出てから考えればいいのに
CLR使っている以上単純なコンソールアプリですら100MB以上も容量食うんだよ?
その上で数KBのメモリ増減なんて気にすることあるのかって思うわ
0300デフォルトの名無しさん
2015/10/21(水) 16:41:42.12ID:3TuEHh7eなんだ初心者か
0301デフォルトの名無しさん
2015/10/21(水) 17:31:13.67ID:vLvdh1RP例えば、クラスは、ヒープ汚すから構造体で…とかやってると、コピーコストで速度低下、結局見えないところでボクシングしまくってGCに負担掛けるとか
0302デフォルトの名無しさん
2015/10/21(水) 18:58:14.00ID:IzAQ78jc〜Changedみたいなのが出てきたら、本当にそこに拡張性を持たせる必要があるのかどうかよく考えたほうがいい
仕事でやってないと、クラスのインターフェイスといえば.NETのコンポーネントみたいな本当に一般的なものばかり目にするから
ああいうふうに作るものだと誤解しやすいんだろうね
0303デフォルトの名無しさん
2015/10/21(水) 19:19:34.54ID:vLvdh1RP0304デフォルトの名無しさん
2015/10/21(水) 19:34:17.96ID:3TuEHh7e教育的効果として無理からデザパタに従うということもある
どっちがいいか分からんね
0305デフォルトの名無しさん
2015/10/21(水) 19:35:01.65ID:1DhnI/Al↓
Subjectに変更を通知
↓
Subjectが全Subjectに通知
このObserverモデルっておかしいですか?
0306デフォルトの名無しさん
2015/10/21(水) 22:05:26.95ID:17YEFPhWそれ以前にObserverを根本的に誤解している
ObserverパターンではSubjectがイベントソースでObserverがイベントリスナだぞ
逆
0307デフォルトの名無しさん
2015/10/21(水) 23:04:08.68ID:w/HuBnl50308デフォルトの名無しさん
2015/10/22(木) 17:12:48.15ID:YiIFkN4t変数とかメソッドを選択したい時に
Ctrl+Shift+矢印キーで
選択してますか?
(´・ω・`)
0309デフォルトの名無しさん
2015/10/22(木) 17:25:22.18ID:YiIFkN4tPointが使われている定義がズラ〜っと出てきますが
…public static bool operator !=(Point left, Point right) とか見て
『アンタ、何が言いたいん?』とかなりませんか?
(´・ω・`)
0310デフォルトの名無しさん
2015/10/22(木) 17:32:27.87ID:CeSwqlxwあとCtrl+Shift+→ってなんだろ、Ctrl+Jの補完ならよく使う
0311デフォルトの名無しさん
2015/10/22(木) 17:33:20.51ID:CeSwqlxw0312デフォルトの名無しさん
2015/10/22(木) 17:44:46.67ID:YiIFkN4tマウスで選択してるの?
(´・ω・`)
0313デフォルトの名無しさん
2015/10/22(木) 17:49:06.91ID:YiIFkN4tひと息つくたびに無意識にCtrl+Sを押してる自分がいる
(´・ω・`)
0314デフォルトの名無しさん
2015/10/22(木) 18:04:16.53ID:W3MdSzAO0315デフォルトの名無しさん
2015/10/22(木) 18:11:10.89ID:CeSwqlxwどれだったかデフォルトじゃなくなってどうなることかと思ったが
復活してよかった
0316デフォルトの名無しさん
2015/10/22(木) 18:12:22.29ID:YiIFkN4tおやすみー
(´・ω・`) /
0317デフォルトの名無しさん
2015/10/22(木) 19:56:27.34ID:PAakFcEeこれは正しく動くんですが
http://ideone.com/MjPf9j
これは動かない(DataContextのLevelに何を入れてもMinimumの16になってしまう)原因に
心当たりありませんか?
0318デフォルトの名無しさん
2015/10/22(木) 20:51:13.05ID:Rb62oFdH二度と来んなよ死ね
0319デフォルトの名無しさん
2015/10/23(金) 02:59:14.71ID:jTLyTzRn"obj\x86\Release\○○.exe" を "bin\Release\○○.exe" にコピーできませんでした。
1000 ミリ秒以内に ○ 回目の再試行を開始します。別のプロセスで使用されているため、プロセスはファイル 'bin\Release\○○.exe' にアクセスできません。
というエラーが出て10秒程度待たされた末にエラーで起動できず、ということがたまに起こります。
この再試行をさせないようにしたいんですが、探しても設定方法が分からず、そもそも設定できるのかも分かりません…。
(エラーの原因は分かっているので問題ないです)
何か知っている方いたら教えてください。
0320デフォルトの名無しさん
2015/10/23(金) 03:06:18.87ID:ib+lLw74なぜ原因の方を潰そうと思わないんだろう。
0321デフォルトの名無しさん
2015/10/23(金) 04:14:01.91ID:jTLyTzRnすいません。原因はソースじゃないんです…。「デバック無しで開始」→で起動したものを閉じずにまた「デバック無しで開始」するとなります。
以前は再試行せずにすぐエラーが出たのでその状態に戻したいんです。
0322デフォルトの名無しさん
2015/10/23(金) 10:18:06.90ID:OmHxpJmNプロセスが起動してんだからコピーできるわけねえじゃん
起動したものを閉じろよ
0323デフォルトの名無しさん
2015/10/23(金) 13:03:06.16ID:7JhC24+l別プロセスで起動するように設定したらいいよ
0324デフォルトの名無しさん
2015/10/23(金) 16:56:02.41ID:msJBe+Ht0325デフォルトの名無しさん
2015/10/23(金) 19:18:21.29ID:wuEBiUeZデバッグで中断した時に他のスレッドが終了していないと起こるようだ
VS再起動で何とかなる
0326デフォルトの名無しさん
2015/10/23(金) 20:16:38.76ID:IJyMkb2Bあらかじめネットワーク設定のIP設定画面からIPアドレスを追加しておくのではなく、
プログラムだけでIP追加&待ち受けするにはどうすればよいでしょうか?
0327デフォルトの名無しさん
2015/10/23(金) 20:55:00.47ID:1FmkefyVC#は全く関係ないけど
0328デフォルトの名無しさん
2015/10/23(金) 21:01:51.88ID:8ibK1VGyLANのデバイス10個いるけどどうすんの?
0329デフォルトの名無しさん
2015/10/23(金) 21:16:41.70ID:1FmkefyVなんで10枚もいるのよ
0330デフォルトの名無しさん
2015/10/24(土) 00:31:26.01ID:sBU6HpCF0331デフォルトの名無しさん
2015/10/24(土) 03:32:42.96ID:7oDBCbbLP/InvokeでIPHLPAPI(IP Helper API)かな。
0332デフォルトの名無しさん
2015/10/24(土) 11:48:09.25ID:/s9N4mON常識で考えろ
そんなものは作れない
0333デフォルトの名無しさん
2015/10/24(土) 15:35:39.62ID:ucvxMtnw再試行している間はメッセージも出ず、ひたすら待たされるので、「起動に時間掛かってるのかな?」と思ったら、前のプロセスの終了し忘れだったということがあって…。
変な質問で混乱させてすいません。答えてくれてありがとうございました。
0334デフォルトの名無しさん
2015/10/24(土) 17:13:10.08ID:dOGyJCjwそりゃだって、前のプロセス終了待ちするんだから仕方がない。同時起動しない設定にすればいい
0335デフォルトの名無しさん
2015/10/24(土) 19:00:51.29ID:t+kkgTrx0336デフォルトの名無しさん
2015/10/24(土) 22:09:38.29ID:oCqnp8jj1 2 3 4のようにスペースで区切って表示したいです。
しかし、以下のようにやると語尾にごみが入ってしまいますよね?
皆さんはどうやってますか?
var s = "";
foreach(var item in list){
s += item + " ";
}
あと、このようなコードを打ったら0が得られました。
var e = list.GetEnumerator();
WriteLine(e.Current);
リストの一番目は0じゃないはずですが、どういう状態なんでしょうか?
0337デフォルトの名無しさん
2015/10/24(土) 22:12:13.35ID:oCqnp8jj0338デフォルトの名無しさん
2015/10/24(土) 22:22:56.92ID:bQKppvzEString.Join
0339デフォルトの名無しさん
2015/10/24(土) 22:33:06.87ID:fd/dB9hcMSDN読め
https://msdn.microsoft.com/ja-jp/library/5ztkdk88.aspx
後、ソースも
http://referencesource.microsoft.com/#mscorlib/system/collections/generic/list.cs,1140
Currentの初期値はdefault(T)になってる
0340デフォルトの名無しさん
2015/10/24(土) 23:13:30.57ID:oCqnp8jjありがとうございます。.netはなんでもありますね
>>339
default(T)になっているのはなぜですか?
currentが呼び出されてそこからindexの値を取りに行くのは駄目なんでしょうか?
ソースは時間があるときに読みます。
0341デフォルトの名無しさん
2015/10/24(土) 23:22:00.56ID:fd/dB9hc0342デフォルトの名無しさん
2015/10/24(土) 23:37:22.93ID:oCqnp8jjよくわかりません。
MoveNextをするまではプロパティは未定義ですとなっていますが、
実際に値を返していますよね。
そもそも定義・未定義という記述の意味が分かりません。
で、default(T)になっているのはパフォーマンスのためらしいですが、
今内部ソースを読む時間がないし、面倒くさいのでdefault(T)でどうパフォーマンスに影響があるのか伺っている次第です。
0343デフォルトの名無しさん
2015/10/24(土) 23:45:14.81ID:wB/X7nCW0344デフォルトの名無しさん
2015/10/24(土) 23:48:11.15ID:udZsPmmZ難しく考え過ぎじゃないか?
0345デフォルトの名無しさん
2015/10/24(土) 23:58:43.72ID:fd/dB9hcそれだけ
この実装が嫌ならオレオレEnumerator作ればいい
0346デフォルトの名無しさん
2015/10/25(日) 01:57:46.12ID:fsyBfEYm0347デフォルトの名無しさん
2015/10/25(日) 02:17:51.08ID:KpFhvh+Kあまり気にしないことにします。
0348デフォルトの名無しさん
2015/10/25(日) 02:38:41.48ID:c+xpZEB0どこもかしこもマイクロソフト関連は気持ち悪くなった
0349デフォルトの名無しさん
2015/10/25(日) 06:55:51.12ID:UpnA5iMK黄色い自動車に乗ったほうがいい
0350デフォルトの名無しさん
2015/10/25(日) 13:05:53.83ID:XGM/2Enxじゃあ見るなよ
0351デフォルトの名無しさん
2015/10/25(日) 13:35:20.53ID:xV04ZCve0352デフォルトの名無しさん
2015/10/25(日) 16:37:16.14ID:hQyThWO7dbだけはバックアップしてあったので
それを新調したPCで読むことはできますか?
dbを作ったPCじゃないと読めないんでしょうか?
0353デフォルトの名無しさん
2015/10/25(日) 16:50:28.68ID:Q9+fT7GMそもそもバックアップてtそういう時のためにあるようなもんだろ
0354デフォルトの名無しさん
2015/10/25(日) 16:55:40.90ID:c+xpZEB0お前みたいなのが居なくなるだけですげぇスレの空気が良くなるよ
0355デフォルトの名無しさん
2015/10/25(日) 16:58:41.53ID:PVPHq6NE0356デフォルトの名無しさん
2015/10/25(日) 17:52:19.14ID:xV04ZCve何か変な文献でも読んだんですか?
0357デフォルトの名無しさん
2015/10/25(日) 18:02:49.45ID:MN19GUGi0358デフォルトの名無しさん
2015/10/25(日) 21:16:15.50ID:0CUh0fF8使いどころ間違えて自爆してるけど
0359デフォルトの名無しさん
2015/10/25(日) 23:23:12.66ID:hQyThWO7エクスプローラでコピーした場合です
0360デフォルトの名無しさん
2015/10/25(日) 23:41:15.34ID:RC9wdhkQカプセル<多様性だな
カプセル化意識し過ぎると処理速度(特にゲーム)とかが酷くなる
0361デフォルトの名無しさん
2015/10/26(月) 00:36:32.71ID:qJuY+u/q0362デフォルトの名無しさん
2015/10/26(月) 00:42:27.84ID:0a7DJh5E多様性と思ってた
■ このスレッドは過去ログ倉庫に格納されています