C#, C♯, C#相談室 Part85
レス数が1000を超えています。これ以上書き込みはできません。
0001名無しぃ♯
2014/10/03(金) 10:12:32.92ID:Os/KN2bDC#, C♯, C#相談室 Part84
http://peace.2ch.net/test/read.cgi/tech/1405167285/
Visual Studio 2013 Express 他
http://www.visualstudio.com/downloads/
■コードを貼る場合は↓を。
http://ideone.com/
0002デフォルトの名無しさん
2014/10/03(金) 10:18:46.57ID:OynHM83k,,イ`" 、-' `;_' ' ..::::::::::::::...
,-、 _.._ ( (,(~ヽ'~ ..:::::::::::::::::::::::
)'~ レー' 〉 ヽ i`'} .:::::::::::::::::::::::
~つ '-ー、 i | i' ...:::::::::::::::::::::::
/ < / 。/ ! ......::::::::::::::::::::::::: これは>>1乙じゃなくて
/ ~^´ /},-'' ,●::::::::::::::::::::::::::::::::::::
i、 ,i' _,,...,-‐-、/ i :::::::: .:::::::::::::
..ゝ <,,-==、 ,,-,/ .::::::::::: 放射能がうんたら
) {~''~>`v-''`ー゙`'~ ..::::::::: ........::.
{ レ_ノ ..::::::::. ......:::::::::
ノ '' ..::::::: ...::.:...:::::::::
.::::::::: ...:......:::::::::::: .
.:::::::::::. ..... .. ..:::::::::::::::::::::::: :::.
::::::::::::::::.::::::....:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.. :: ::..
.:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ::: ::.
::::::::::::::::: :::::::::::::::::::::::::::::: :::::
.:: ::. :::
0003デフォルトの名無しさん
2014/10/03(金) 15:33:50.83ID:tHhdIR5nありがとうございます。解決しました。バージョンはOracle.DataAccess 4.121.1.0です。
要点:最初のデータINSする際に、適当な文字列をCLOB列に入れる
詰まってた点:最初のデータINSの際に、CLOB列には何も値を入れていなかった(列指定すらしてなかった)
CREATE TABLE TEST (
ID NUMBER,
NAGAI CLOB,
CONSTRAINT PK_TEST PRIMARY KEY(ID));
OracleConnection con = new OracleConnection();
con.ConnectionString = "User Id=test;Password=test;Data Source=test";
con.Open();
//第一段階(CLOBに適当な値入れる。今回の場合OO4OっぽくEMPTYという文字列)
OracleCommand myCmd = new OracleCommand("insert into test(id,nagai) values (1,'EMPTY')", con);
myCmd.ExecuteNonQuery();
//第二段階(CLOBに本当の値入れる)
char[] charArray = "ほんまに長い文章".ToCharArray();
OracleCommand cmd =new OracleCommand("select * from test", con);
OracleDataReader rs = cmd.ExecuteReader();
rs.Read();
OracleTransaction txn = con.BeginTransaction();
Oracle.DataAccess.Types.OracleClob tclob = rs.GetOracleClobForUpdate (colno);
tclob.Erase();//←最初に入れたEMPTYという文字列を消す。
tclob.Write(charArray, 0, charArray.Length );
txn.Commit();
あー、ビール飲みたい
0004デフォルトの名無しさん
2014/10/03(金) 15:35:48.80ID:tHhdIR5n訂正
× Oracle.DataAccess.Types.OracleClob tclob = rs.GetOracleClobForUpdate (colno);
○ Oracle.DataAccess.Types.OracleClob tclob = rs.GetOracleClobForUpdate (1);
0005デフォルトの名無しさん
2014/10/03(金) 16:27:20.58ID:mBfaO4vRWindows FormsやWPF, Xamarin.iOSあたりを一本化したいのですが。
0006デフォルトの名無しさん
2014/10/03(金) 18:21:10.66ID:Q8By6zWSと同レベルの質問
0007デフォルトの名無しさん
2014/10/03(金) 19:13:19.99ID:ut+iyPLY0008デフォルトの名無しさん
2014/10/03(金) 20:52:07.06ID:B6mxhxuk0009デフォルトの名無しさん
2014/10/03(金) 23:59:30.58ID:LB9f4Ap9画像処理向けの下地となるライブラリが欲しいのは確か。
JPEGなどの読み書きすらバラバラとかキチガイレベルだし。
無いの?
0010デフォルトの名無しさん
2014/10/04(土) 04:21:56.69ID:01MBjTk20011デフォルトの名無しさん
2014/10/04(土) 04:43:27.33ID:a6phxVfb0012デフォルトの名無しさん
2014/10/04(土) 07:37:03.56ID:OzKmGexAつかそれC#スレで訊くことだろうか。
0013デフォルトの名無しさん
2014/10/04(土) 09:21:55.97ID:6oHImsSC0014デフォルトの名無しさん
2014/10/04(土) 09:28:23.28ID:6oHImsSCJavaでいうImage I/Oに相当するものが無い以上、議論の余地はある。
入出力に近い部分は低レベルなAPIで仕方ないが、高レベルなAPIは共通化すべきなのは確か。
0015デフォルトの名無しさん
2014/10/04(土) 09:32:36.24ID:4UBXx0Nb0016デフォルトの名無しさん
2014/10/04(土) 09:49:52.86ID:sHWShTLnC#で画像処理やるのかって話になるだろうけど。
0017デフォルトの名無しさん
2014/10/04(土) 10:38:04.90ID:xAGR2U+S標準のは出力周りと加工周りが混ざってるのがおかしいだろって話じゃないの?
0018デフォルトの名無しさん
2014/10/04(土) 10:49:36.60ID:7UQ2MZz90019デフォルトの名無しさん
2014/10/05(日) 03:52:05.05ID:bqkZ4fJc0020デフォルトの名無しさん
2014/10/05(日) 09:00:45.97ID:kaivkZ8S俺は空ソリューション作るくらいなら手伝うぞ!
0021デフォルトの名無しさん
2014/10/05(日) 16:41:20.12ID:1+6ntIpv0022デフォルトの名無しさん
2014/10/05(日) 16:46:06.40ID:FZuSwsnO0023デフォルトの名無しさん
2014/10/05(日) 18:39:40.16ID:tk01L/GA0024デフォルトの名無しさん
2014/10/06(月) 08:31:28.43ID:NYLrISWF:
if( xxx.NextDouble() <= 0.5f )
などの形で固定乱数を使っています。
この固定乱数の内容は、
環境などによって変化しますか?
たとえば、同じソースコードでも
Win でビルドしたときと Mac でビルドしたとき、
あるいは
PC で実行したときとスマホで実行したときなどです。
固定乱数は固定乱数でも、
環境によって違う乱数で固定されることはありますか?
0025デフォルトの名無しさん
2014/10/06(月) 08:36:20.28ID:SYX2V8U/0026デフォルトの名無しさん
2014/10/06(月) 08:37:45.28ID:SYX2V8U/そもそもdoubleは厳密には同じにならないじゃね?
0027デフォルトの名無しさん
2014/10/06(月) 08:50:55.21ID:KTd/o5Fp機種が違っても普通は同じですね
0028デフォルトの名無しさん
2014/10/06(月) 09:02:42.55ID:nQ4CdO6G0029デフォルトの名無しさん
2014/10/06(月) 09:05:41.34ID:sbNBYsWu0030デフォルトの名無しさん
2014/10/06(月) 11:25:52.74ID:0OD+10Fi固定的な物が必要なら、自分で乱数表を持てばいいんじゃね。
0031デフォルトの名無しさん
2014/10/06(月) 12:00:10.37ID:5KfGZOw2https://github.com/Team2ch/PortableImageLibrary
0032デフォルトの名無しさん
2014/10/06(月) 23:26:37.22ID:vQA3BsBkVisualStudio上で一つのDLLを参照して使っています。
ビルドすると、exe と同じフォルダにdll ができます。
inno setup では、ウイザードでexeは指定する箇所はありますが、
dll はどこで指定するのでしょうか?
0033デフォルトの名無しさん
2014/10/06(月) 23:34:28.42ID:lB3svTyz0034デフォルトの名無しさん
2014/10/06(月) 23:43:27.49ID:43njZPAT0035デフォルトの名無しさん
2014/10/07(火) 04:56:31.47ID:NkVjNy6B0036デフォルトの名無しさん
2014/10/08(水) 03:40:41.74ID:tXs+8tjHC#でUSBデバイスをコントロールとかデバイス情報をえる方法ってどうやんのか
簡単におせーて!
0037デフォルトの名無しさん
2014/10/08(水) 04:01:53.68ID:nI8zrZND特殊なもの以外は大体汎用の窓口があるのでそれを利用するしかない
http://www.softech.co.jp/mm_120307_pc.htm
後はC++でかかないといけないかC++で書かれたライブラリを
C#から扱うかマネージドでラッパーされてるものを探すか
そんな感じ
0038デフォルトの名無しさん
2014/10/08(水) 04:19:35.18ID:tXs+8tjHサンキューベリーマッチョ!
試してみる!(`・ω・´)
0039デフォルトの名無しさん
2014/10/08(水) 04:22:23.99ID:5RtDOSJM0040デフォルトの名無しさん
2014/10/08(水) 10:33:45.22ID:LsfDzFmD[C#]でUSBメモリのシリアル番号を取得して、ドングルにする方法
ttp://ar4pro.exblog.jp/13172377
こんなのとか?
004138
2014/10/08(水) 11:56:05.06ID:tXs+8tjHちょっと文法勉強してくる(`・ω・´)
0042デフォルトの名無しさん
2014/10/08(水) 12:02:30.86ID:P6WfsOfK概出かな
https://github.com/adamcaudill/Psychson
0043デフォルトの名無しさん
2014/10/08(水) 13:41:14.43ID:XHiy9Jjoどんなデバイスでも各種ディスクリプタを取得するところまではできるけど、
当たり前だけどデバドラやハードの仕様はそれぞれ違うから、統一的な方法で制御なんか
できないよ。
0044デフォルトの名無しさん
2014/10/08(水) 16:39:28.41ID:d9B7YCJYhttp://sourceforge.net/p/libusbdotnet/code/HEAD/tree/trunk/stage/
0045デフォルトの名無しさん
2014/10/08(水) 16:54:33.66ID:/lZDlxPZUSBデバイスがどのドライバで動いているのか確認
WinUSB
CyUSB
だとC#のサンプル、開発ツールが公開されてる
C++で良ければ、UsbViewのソースが参考になる
USBCompleteを読むべし
0046デフォルトの名無しさん
2014/10/08(水) 20:04:40.58ID:O6I7K392> 当たり前だけどデバドラやハードの仕様はそれぞれ違うから、
それを(ある程度)お手軽に作るためのもんだろ?
ここム板だよ、来るところ間違えてね?
0047デフォルトの名無しさん
2014/10/08(水) 20:35:29.81ID:TQCvcs6p馬鹿だろお前。
0048デフォルトの名無しさん
2014/10/08(水) 21:39:24.23ID:DyoQ1dDyそうでもないだろう
0049デフォルトの名無しさん
2014/10/08(水) 21:40:02.31ID:sQh1pVwt馬鹿としか書けない奴が来る板じゃないぞ w
0050デフォルトの名無しさん
2014/10/08(水) 21:52:33.63ID:suC3haGx0051デフォルトの名無しさん
2014/10/09(木) 04:20:32.11ID:r/VaY0zMこれってDllImportとかつかったほうがいいの?(´・ω・`)
0052デフォルトの名無しさん
2014/10/09(木) 04:22:59.15ID:r/VaY0zMデバイスはPICの内部USB使おうと思ってるんだけど、その前にパソコン側での
USB情報の取得とかをC#上でやりたいんだよね(`・ω・´)
0053デフォルトの名無しさん
2014/10/09(木) 09:35:01.57ID:IFg54I5e0054デフォルトの名無しさん
2014/10/09(木) 10:06:47.51ID:o6BPJM3Aデバイスの操作をC#でやろうと思うなら、マーシャリングの知識が必須だぞ
ソースコードはPInvokeの嵐になる
0055デフォルトの名無しさん
2014/10/09(木) 10:56:15.83ID:ApsucoJu無粋かもしれんけど、USBをシリアル通信じゃダメなんかね?
FT232ならググれば色々出てくるし
http://www.geocities.jp/zattouka/GarageHouse/micon/linkPC/FT232R.htm
0056デフォルトの名無しさん
2014/10/09(木) 11:12:33.64ID:IFg54I5eそれで拾えないデバイスがあればまた考える
0057デフォルトの名無しさん
2014/10/09(木) 20:48:46.91ID:r/VaY0zMソースコードを後から読むとが読みにくくなって、修正が・・・・・・・
C#の初心者でも簡単にできるという利点がなくなるジャマイカ!(`・ω・´)
ということで、とりあえずWinUSBからやってみることにする(`・ω・´)
0058デフォルトの名無しさん
2014/10/10(金) 03:08:47.59ID:Cr73tVZNおつむの弱い低脳は去れ
0059デフォルトの名無しさん
2014/10/10(金) 16:01:33.74ID:VZ3kgnID一部でエラーがでてうまくいきません
変換元
Dim dictionary As Dictionary(Of String, Object) = DirectCast(serializer.Deserialize(Of Hashtable)(input).Item("response"), Dictionary(Of String, Object))
変換後
Dictionary<string, object> dictionary = (Dictionary<string, object>)(serializer.Deserialize<Hashtable>(input)).Item("response");
変換後のほうはItemのところが無いよとエラーが何もできない状態です。
どうすればいいのでしょうか?
エラーコードはこれです
エラー 5 'System.Collections.Hashtable' に 'Item' の定義が含まれておらず、型 'System.Collections.Hashtable' の
最初の引数を受け付ける拡張メソッドが見つかりませんでした。
using ディレクティブまたはアセンブリ参照が不足しています。
0060デフォルトの名無しさん
2014/10/10(金) 16:10:50.90ID:Et9M36jGhoge.Item("A") -> hoge["A"]
0061デフォルトの名無しさん
2014/10/10(金) 16:49:11.03ID:KCO91E8uカッコの対応がおかしくないか?
.Item()をキャストするんだろ
キャストしたもののItemを取るんじゃないだろ
0062デフォルトの名無しさん
2014/10/10(金) 16:53:44.75ID:VZ3kgnIDそれもダメでした
>>61
括弧は私がつけてみましたがそれでもダメでした
最初はこれでエラーがでて
(Dictionary<string, object>)serializer.Deserialize<Hashtable>(input).Item("response");
こうして
(Dictionary<string, object>)(serializer.Deserialize<Hashtable>(input)).Item("response");
((Dictionary<string, object>)serializer.Deserialize<Hashtable>(input)).Item("response");
これも試しましたがItemがやはり無いんですよね・・・
VB.netなんてキライだ!
こんな甘いのが通るなんて信じられない
0063デフォルトの名無しさん
2014/10/10(金) 16:59:24.87ID:SL7c9laHなんで>>60がインデクサって単語使ってこう直すんだと例まで出しているのに無視するの?
0064デフォルトの名無しさん
2014/10/10(金) 17:00:25.66ID:Et9M36jGていうか行を分けて書けばどこが問題か分からないか?
Hashtable table = serializer.Deserialize<Hashtable>(input);
object item = table["response"];
Dictionary<string, object> dictionary = (Dictionary<string, object>)item;
0065デフォルトの名無しさん
2014/10/10(金) 17:11:11.95ID:KCO91E8uそれ全部カッコの対応がまちがってる
そのうえでItemがないのは>>60
甘いとか何とかいう問題じゃないけど
カッコの対応わからんのはお前の頭が悪いとしかいえん
0066デフォルトの名無しさん
2014/10/10(金) 17:13:05.99ID:VZ3kgnIDすみません
この辺やったことない上に何が成功なのかイメージがわかなかったので・・・
>>64
エラーは>>59の最後に・・・
0067デフォルトの名無しさん
2014/10/10(金) 17:13:27.36ID:KCO91E8u0068デフォルトの名無しさん
2014/10/10(金) 17:17:16.06ID:VZ3kgnIDNG
Dictionary<string, object> dictionary = (Dictionary<string, object>)(serializer.Deserialize<Hashtable>(input).Item["response"];
でした
VB.net特有のDirectCastの動きがよくわからないので・・・・
0069デフォルトの名無しさん
2014/10/10(金) 17:27:48.18ID:KCO91E8u>>60を理解してる?
Itemがないってエラー出てるんだろ
DirectCastどうこうの話じゃないぞ
あとそれ、もはや右と左のカッコ数すらあってないんだが、何かのギャグか?
0070デフォルトの名無しさん
2014/10/10(金) 17:30:06.05ID:LABD+nd+インデクサとか言われても何のことか分からんだろう
まあ>>64の見て分かんないんじゃ絶望的だが
0071デフォルトの名無しさん
2014/10/10(金) 17:31:08.45ID:Et9M36jG64といいなぜかことごとくスルーされるなぁ
0072デフォルトの名無しさん
2014/10/10(金) 17:52:39.76ID:KCO91E8uデフォルトプロパティならともかく、インデクサは普通にC#の用語なんで
0073デフォルトの名無しさん
2014/10/10(金) 18:21:49.54ID:5QLR3uTU0074デフォルトの名無しさん
2014/10/10(金) 19:00:21.24ID:Rmsm9w7eいろいろ悩むこと多いな
普段使わないだけに変換の仕事回ってきたときはぶち切れそうだった
0075デフォルトの名無しさん
2014/10/10(金) 19:48:39.02ID:T0LFFi4l0076デフォルトの名無しさん
2014/10/10(金) 20:28:23.68ID:KCO91E8u使うのは使うけど、用語の問題だな
VBではインデクサって用語はない
>>74
逆じゃね
C#からVB.NETだと、Unsafe周りとかどうしてもできない事もあるぞ
VBからC#への変換で困るのは、たんにVB.Netの知識が足りんだけだろ
0077デフォルトの名無しさん
2014/10/10(金) 21:08:04.13ID:fTgvT3uI後者知ってれば悩むことないのに…
0078デフォルトの名無しさん
2014/10/10(金) 21:30:56.03ID:KCO91E8uVB.NETになってデフォルトプロパティはインデクサにするって事になったからな
互換性に配慮した結果なんだろうけど、デフォルトプロパティ廃止してインデクサ実装のほうが良かった気も
0079デフォルトの名無しさん
2014/10/10(金) 21:34:42.57ID:HckiacqaC#で十分VB6あたりのポトペタを継承してるし言語仕様も十分だと思うんだよな
END IFとかIDEが補完してくれるとしても見てるだけでうんざりするわ
変数宣言するにしてもAsとか書かないといけないし
0080デフォルトの名無しさん
2014/10/10(金) 21:57:42.24ID:uY0m6Sy00081デフォルトの名無しさん
2014/10/10(金) 23:04:57.64ID:cGiw//Qiちょっと英語かじったぐらいの奴だと、アルファベットで書いてある内容を読みたいなら、辞書片手になんとか読もうとはするだろ?
でも、ヘブライ語とかだったら、はなっから無理ってなると思う。
取っ掛かりのために見た目って、結構重要なんだよ。
0082デフォルトの名無しさん
2014/10/11(土) 07:02:01.94ID:eXd+8ng90083デフォルトの名無しさん
2014/10/11(土) 11:22:13.72ID:vaox7Njv0084デフォルトの名無しさん
2014/10/11(土) 11:23:54.45ID:qGYvKsgJhttp://peace.2ch.net/test/read.cgi/tech/1329023778/
0085デフォルトの名無しさん
2014/10/11(土) 11:38:22.10ID:nMlC9xnx0086デフォルトの名無しさん
2014/10/11(土) 12:11:23.12ID:qigD0Vrfてか、あるにはあったがandroid向けしかなかった、書泉で
0087デフォルトの名無しさん
2014/10/12(日) 14:16:15.12ID:fouZ38nRそうすればミックスインとか楽にできそうなのに。
0088デフォルトの名無しさん
2014/10/12(日) 14:42:22.18ID:E/kBFbk0多重継承を禁止したから、そんな機能付いていたらインターフェースを一つしか使えなくなっちまう
0089デフォルトの名無しさん
2014/10/12(日) 14:49:04.51ID:y1Z3+JnY0090デフォルトの名無しさん
2014/10/12(日) 15:05:26.43ID:fouZ38nR実装してなかったらデフォルトを実行でええやん。
実行しなくなかったら今まで通り
NotImplementedExceptionを実装すればいいだけだし。
デフォルトっていうか、IDEでデフォルト実装を書き映すか、
NotImplementedExceptionのどっちか自動実装するように選ばせてくれたらいいのに。
0091デフォルトの名無しさん
2014/10/12(日) 15:12:27.08ID:lBV8smRv0092デフォルトの名無しさん
2014/10/12(日) 15:13:23.50ID:J8Zsrtwf0093デフォルトの名無しさん
2014/10/12(日) 15:25:36.89ID:fouZ38nR0094デフォルトの名無しさん
2014/10/12(日) 15:41:43.20ID:E/kBFbk00095デフォルトの名無しさん
2014/10/12(日) 15:43:51.37ID:sBs95EDt本番のクラスでそのベースのクラスをを継承するとか
そういう方面で運用回避することになるんじゃね
0096デフォルトの名無しさん
2014/10/12(日) 15:50:07.45ID:E/kBFbk00097デフォルトの名無しさん
2014/10/12(日) 16:00:32.58ID:gGAaa5/Qいつから作者の気持ちを答えるスレになったんだ
0098デフォルトの名無しさん
2014/10/12(日) 16:05:00.23ID:AYBxX2xn0099デフォルトの名無しさん
2014/10/12(日) 19:33:47.65ID:eD8Tq+eD0100デフォルトの名無しさん
2014/10/12(日) 20:36:22.25ID:Z8ok/lvr0101デフォルトの名無しさん
2014/10/13(月) 07:52:26.06ID:pO4UCVlMそういうのは相談室じゃなく喫煙所でやってておくんなまし。
0102デフォルトの名無しさん
2014/10/13(月) 10:56:24.48ID:7i+sJhXA喫煙所レベルのレス乙
0103デフォルトの名無しさん
2014/10/13(月) 17:54:23.93ID:u5iAxuZi定義
public static string lineNumber(Exception e) { string ret = e.ToString(); int x = 10; ret =ret.Substring(ret.Length - x, x); return ret; }
呼び出し例
try { throw new Exception(""); }catch (Exception e) { Console.WriteLine("lineNumber: \""+lineNumber(e)+"\""); }
出力例
lineNumber: "s:line 366"
.
0104デフォルトの名無しさん
2014/10/13(月) 18:23:00.60ID:TEwcKFwBhttp://ideone.com/tqBMEZ
0105デフォルトの名無しさん
2014/10/13(月) 18:25:31.11ID:B0PQ1nbZ取りあえずpdbファイル配置してStackTraceクラス使えばいい
Console.WriteLine(new System.Diagnostics.StackTrace(e, true).GetFrame(0).GetFileLineNumber());
0106デフォルトの名無しさん
2014/10/13(月) 20:27:49.79ID:ZmfF80tJ0107デフォルトの名無しさん
2014/10/15(水) 18:15:07.77ID:v6NXSltGIInputObject を実装してるツールバーですが
public override int UIActivateIO( bool fActivate, ref MSG Msg )
{
try
{
Debug.WriteLine( "UIActivateIO" ); // ←ここまで出力されてて
Debug.WriteLine( "UIActivateIO, " + Msg ); // ←ここで例外がでてるっぽい
Debug.WriteLine( "UIActivateIO, " + Msg.message );
}
catch( Exception ex )
{
MessageBox.Show( ex.ToString() );
}
return S_OK;
}
MSGは構造体であることは間違いありませんが……
0108デフォルトの名無しさん
2014/10/15(水) 18:17:05.36ID:v6NXSltGそういうときってマーシャラーが良きにはからってくれるんですよね?
触った瞬間に例外って不思議……
0109デフォルトの名無しさん
2014/10/15(水) 18:20:03.39ID:5vlaZL8F0110デフォルトの名無しさん
2014/10/15(水) 18:27:46.85ID:v6NXSltGpublic override unsafe int UIActivateIO( bool fActivate, MSG* msg )
にしてmsg == nullを見たらtrueで、
次の行のmsg->messageでNullReferenceExceptionが出ました
つまりマーシャラーはなんにもしてくれないってことですか。
しかもこの例外、tryでくくらなければ何事もなかったかのように進行するんですが、そんなもんでしょうか……
0111デフォルトの名無しさん
2014/10/15(水) 18:29:41.66ID:v6NXSltG0112デフォルトの名無しさん
2014/10/15(水) 18:33:15.52ID:7Xuob5qI0113デフォルトの名無しさん
2014/10/16(木) 05:38:04.32ID:1m8Z67kI勝手にE_FAILかなんかを返してくれてたんですね
気をつけないと例外に気が付きませんね
0114デフォルトの名無しさん
2014/10/16(木) 11:56:12.24ID:raQDujC+0115デフォルトの名無しさん
2014/10/17(金) 19:13:54.44ID:tdrA20h4開けないのはなぜなんだぜ?
デバイス USB\VID_5555&PID_5555\5&2e433612&0&1 が構成されました。
ドライバー名: input.inf
クラス GUID: {745A17A0-74D3-11D0-B6FE-00A0C90F57DA}
ってデバイスマネージャーのデバイスのイベント欄にでるんだけど
ソフトの方にかいたGUIDとこのGUIDちがうんやけど・・・・
なにがいけないんや?(´・ω・`)
0116デフォルトの名無しさん
2014/10/17(金) 19:38:56.38ID:Y7Yin1PJ0117デフォルトの名無しさん
2014/10/17(金) 20:01:05.98ID:tdrA20h4どうやら、コネクタの接触不良やったみたい・・・・
コネクタ買い替えて接触不良にならないようにする(´・ω・`)
0118デフォルトの名無しさん
2014/10/17(金) 20:05:53.27ID:d8lyAQix何だよその質問w
0119デフォルトの名無しさん
2014/10/17(金) 20:11:51.59ID:tdrA20h4コネクタの接触不良なおしてるだけやん(´・ω・`)
0120デフォルトの名無しさん
2014/10/17(金) 20:13:16.82ID:tdrA20h4デバイスデータ書き換えて、USBポート給電でプログラム走らせたら
接触が不安定なのがわかったから
0121120
2014/10/17(金) 20:15:38.86ID:tdrA20h4>>118
ざっくりの方がわかりやすいやん!
でも、デバイスデータ書き換えて、USBポート給電でプログラム走らせたら
接触が不安定なのがわかったからいいや!
みんなあんがとね (´・ω・`)
0122デフォルトの名無しさん
2014/10/17(金) 21:11:03.32ID:AylyWx1J0123デフォルトの名無しさん
2014/10/18(土) 06:29:11.14ID:+tyzGHur0124デフォルトの名無しさん
2014/10/18(土) 10:27:00.05ID:kwitOlXo大抵、女子力()アピールしたい三十路過ぎの行き遅れおばさん
男だとしたら自分に自信が無く常に周囲の顔色をうかがい続けるションベン臭いキョロ充タイプ
0125デフォルトの名無しさん
2014/10/18(土) 13:02:03.31ID:edoMpshD馬鹿丸出しだなw
0126デフォルトの名無しさん
2014/10/19(日) 17:50:50.69ID:cglJUddBなに馬鹿なこと言ってんだ
らん豚でググれ
【DMM/角川】艦隊これくしょん〜艦これ〜 4673隻目
http://wc2014.2ch.net/test/read.cgi/gameswf/1413698357/
0127デフォルトの名無しさん
2014/10/19(日) 17:53:14.82ID:cglJUddB0128デフォルトの名無しさん
2014/10/19(日) 18:23:49.19ID:OT6uOxYP0129デフォルトの名無しさん
2014/10/19(日) 20:59:15.66ID:f5Hg7b2l0130デフォルトの名無しさん
2014/10/19(日) 21:12:38.00ID:5ACru3TV0131デフォルトの名無しさん
2014/10/21(火) 19:51:40.13ID:nRqYdV97「無効なJSONプリミティブです」とエラーが出て困っています。
どうすればいいでしょうか?
[json]
{"test":"OK"} ←これなら動作する
{"test":"\uXXXX"} ←Unicode文字があると失敗する
JavaScriptSerializer serialize = new JavaScriptSerializer();
Dictionary<string, object> dec = serialize.Deserialize<Dictionary<string, object>>(json);
0132デフォルトの名無しさん
2014/10/21(火) 20:01:00.46ID:k0FyyQJJ0133デフォルトの名無しさん
2014/10/21(火) 20:28:45.52ID:nRqYdV97説明不足で申し訳ないですが、Webサーバーから取得したjsonです。
string変数にjsonを収めてやると成功します。
string json = @"{""test"":""\uXXXX""}"; ←これは動作する
byte[] response = webclient.UploadValues(url, "POST", nameValueCollection);
//{"test":"\uXXXX"}
string json = Encoding.UTF8.getString(response); ←Webサーバーから取得したjsonは失敗する
0134デフォルトの名無しさん
2014/10/21(火) 20:31:59.72ID:vnniTma40135デフォルトの名無しさん
2014/10/21(火) 20:39:25.59ID:nRqYdV97確認してます
0136デフォルトの名無しさん
2014/10/21(火) 20:41:55.96ID:GzwA6HkO電磁波のせいだ by パナウェーブ
0137デフォルトの名無しさん
2014/10/21(火) 20:49:05.62ID:k0FyyQJJ0138デフォルトの名無しさん
2014/10/21(火) 20:51:14.65ID:juiPvSaq0139デフォルトの名無しさん
2014/10/21(火) 20:57:22.68ID:vnniTma40140デフォルトの名無しさん
2014/10/21(火) 21:02:04.73ID:S84tBIG3サーバーサイドは何でエンコードしてるか確認しないと
0141デフォルトの名無しさん
2014/10/21(火) 21:04:55.05ID:nRqYdV97もう一度確認してみます
今度は念のために文字列ではなくbyte自体を確認します
0142デフォルトの名無しさん
2014/10/21(火) 21:30:45.96ID:Ix6BPpHl0143デフォルトの名無しさん
2014/10/21(火) 21:49:32.91ID:nRqYdV97解決しました、ありがとうございました!
0144デフォルトの名無しさん
2014/10/21(火) 22:39:19.56ID:k4gzPwrC気をつけてもうっかり忘れることあるわ。
0145デフォルトの名無しさん
2014/10/23(木) 22:23:30.20ID:bXmcwrMX0146デフォルトの名無しさん
2014/10/23(木) 22:35:40.82ID:D7+29tId0147デフォルトの名無しさん
2014/10/23(木) 22:39:44.29ID:bXmcwrMX0148デフォルトの名無しさん
2014/10/23(木) 22:43:50.79ID:QG1detMFhttp://stackoverflow.com/questions/955592/how-to-get-a-wpf-windows-clientsize
最近やってないので忘れたわ
0149デフォルトの名無しさん
2014/10/23(木) 23:05:52.89ID:bXmcwrMXデザイナー機能つかってやりたかったけど、csファイルで設定するほうが簡単そうですね
XMALはわけがわからぬん…
0150デフォルトの名無しさん
2014/10/23(木) 23:09:34.90ID:QG1detMFあれにコードはかせないときついね
0151デフォルトの名無しさん
2014/10/23(木) 23:09:49.37ID:FH9hEd2NWindow.SizeToContent プロパティをWidthAndHeight にして、
Contentのサイズを指定するのじゃダメだろうか。
0152デフォルトの名無しさん
2014/10/23(木) 23:09:51.45ID:C4v8lo2CWindowの属性のハイトとウィズじゃなくて?
0153デフォルトの名無しさん
2014/10/23(木) 23:12:04.99ID:QG1detMF0154デフォルトの名無しさん
2014/10/23(木) 23:20:02.10ID:QG1detMFこれか
WPFの考え方だとコードで設定する>>148は微妙なんだよな
0155デフォルトの名無しさん
2014/10/23(木) 23:26:23.59ID:FH9hEd2Nクライアント領域の設定(サイズ?)って話だったからね。
そのプロパティーを設定すると、WindowのWidthとHeightはContextに合わせて自動調整される。
<Window x:Class="WpfApplication1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" SizeToContent="WidthAndHeight">
<Grid Width="320" Height="480">
</Grid>
</Window>
0156デフォルトの名無しさん
2014/10/23(木) 23:50:21.29ID:bXmcwrMXSizeToContentを設定してグリッドのマージンをメニューバーの高さ分にすれば良い感じになりました
皆さんありがとうございまふ
0157デフォルトの名無しさん
2014/10/25(土) 01:41:10.70ID:f7MnoS85どうすれば安全でしょうか?
0158デフォルトの名無しさん
2014/10/25(土) 01:48:30.68ID:vC010Lko0159デフォルトの名無しさん
2014/10/25(土) 02:45:58.33ID:XSFnzYSQListBoxのメソッドに引数や返り値がListBoxItem型になってるものってないよね。
今までずっとListBoxItemのインスタンスがListBox内に保持されてると思ってたけどこれって勘違い?
0160デフォルトの名無しさん
2014/10/25(土) 02:51:49.62ID:f7MnoS85内部の管理はおそらくデザイナーでItemsを見た際の表示で判断できる
ListBoxは単なるtextboxにデータを入力するだけで1行がデータとして
扱われるみたい
同じようにItemsにぶら下げるものでもTreeViewとかTabControlは
もっと複雑なアイテム設定画面がでるはず
0161デフォルトの名無しさん
2014/10/25(土) 02:56:31.30ID:f7MnoS850162デフォルトの名無しさん
2014/10/25(土) 04:03:00.79ID:cS+u7+F2WinFormのListBoxの話だよね?
ListBoxItemはWPFで使うやつでWinFormのではないよ。
0163デフォルトの名無しさん
2014/10/25(土) 07:07:21.25ID:XSFnzYSQやっぱそうなのか
紛らわしいぜ
0164デフォルトの名無しさん
2014/10/25(土) 16:55:44.07ID:MApg/T1q0165デフォルトの名無しさん
2014/10/26(日) 11:40:45.12ID:/KwGuGmKそれぞれのRowに入ってるコントロールの高さの合計が560越えたあたりからWindowが縦に伸びてくれなくなるんですが、原因がわからず困っています
0166デフォルトの名無しさん
2014/10/26(日) 11:43:10.24ID:VH9bGiOv書いてね
0167デフォルトの名無しさん
2014/10/26(日) 11:50:13.35ID:K/wsM4G0CookieCollectionから特定のCookieの値を取り出したいのですが
簡潔にやるにはどうしたらいいですか?
今は、forして探し出してます。
for (int i = 0; i < cc.Count; i++) {
if (cc[i].Name == "aaa") {
// 処理
}
}
※お目当てのCookieは必ずあるとは限りません
ご教授お願いします
0168デフォルトの名無しさん
2014/10/26(日) 11:58:11.73ID:ItwVb1e7var cookie = cc.Cast<Cookie>().FirstOrDefault(_ => _.Name = "aaa");
if (cookie != null) ...
0169デフォルトの名無しさん
2014/10/26(日) 12:00:01.83ID:/KwGuGmKすいませんWPFアプリです
2行にくぎった場合、たとえば
1行目のコントロールが Height="20"
2行目のコントロールが Height="600"
だとウィンドウの縦幅が足りず下のコントロールが見切れるんですが
1行目のコントロールが Height="400"
2行目のコントロールが Height="400"
だとちゃんと縦幅が伸びています
0170デフォルトの名無しさん
2014/10/26(日) 12:07:19.66ID:K/wsM4G0ありがとうございます!!
0171デフォルトの名無しさん
2014/10/26(日) 12:18:37.32ID:K/wsM4G0多分できました
さらりとこういうことが出来る人って尊敬します
自分ももっと勉強してそうなれるように頑張ります
ありがとうございました
0172デフォルトの名無しさん
2014/10/26(日) 12:21:02.23ID:dD7odrFE0173デフォルトの名無しさん
2014/10/26(日) 12:53:20.45ID:ItwVb1e7再現しない
あと多分関係ないけどモニタサイズの影響はない?
0174デフォルトの名無しさん
2014/10/26(日) 13:13:02.89ID:VH9bGiOv親コントロールは何に突っ込んでるの?
細かい設定とかわからないとどうしようもない気がする
0175デフォルトの名無しさん
2014/10/26(日) 13:26:55.46ID:/KwGuGmKモニタは1280x800のノートPCにフルHDのディスプレイをつないでいます
>>174
下のコードのとおりになっています
<Window x:Class="WpfApplication1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" SizeToContent="WidthAndHeight">
<Grid>
<Grid.RowDefinitions>
<RowDefinition />
<RowDefinition />
</Grid.RowDefinitions>
<Button Content="Button" Height="400" Name="button1" Padding="0" />
<Button Content="Button" Grid.Row="1" Height="300" Name="button2" Padding="0" />
</Grid>
</Window>
この場合は正常に表示されるんですが、Heightの値をそれぞれ、20と680にするとおかしくなります
ただ、どちらの場合もウィンドウの枠をドラッグしてサイズ変更すると表示がおかしくなるので、なにか根本的にやりかたが間違ってるんでしょうか
0176デフォルトの名無しさん
2014/10/26(日) 13:41:18.23ID:ItwVb1e70177デフォルトの名無しさん
2014/10/26(日) 14:09:28.81ID:/KwGuGmKうまくいきました。どうもありがとうございます
デフォルトの*はAutoとはまったく別物だったんですね…
0178デフォルトの名無しさん
2014/10/26(日) 15:39:08.46ID:fRlrw4LS✳︎は残り全部みたいな意味だったと思うよ
トータルの値が決まってるときの
0179デフォルトの名無しさん
2014/10/26(日) 17:49:45.56ID:VH9bGiOv0180デフォルトの名無しさん
2014/10/26(日) 18:40:38.08ID:6etXXtmYどうすればいいですか?
Livetの前のバージョンにはサンプルがついててそこにヒントがあったらしいですが、
今は入手不可能みたいです
0181デフォルトの名無しさん
2014/10/26(日) 18:56:02.42ID:Y7S0smtt0182デフォルトの名無しさん
2014/10/26(日) 22:47:00.07ID:lxKWFC07メモリマップトファイルを使う
0183デフォルトの名無しさん
2014/10/29(水) 21:13:36.01ID:NSjEUVr/0184デフォルトの名無しさん
2014/10/30(木) 11:07:53.20ID:Z3UjrckPてかlivet以前にWPF勉強すれば自ずと分かる
0185デフォルトの名無しさん
2014/10/30(木) 11:56:01.20ID:CVdtM/nI今もっとも哀れみを感じる連中
0186デフォルトの名無しさん
2014/10/30(木) 21:03:30.45ID:s755qrYfあるウィンドウにPropertyGridと、ショートカットにDeleteキーを使用するメニュー項目を持ったMenuStripを配置します。
この状態でPropertyGridのプロパティの値を編集するときDeleteキーを押すとショートカットの方が優先され文字の削除ができません。
これを文字の削除の方を優先するようにしたいのですがどのようにすればよいでしょうか?
0187デフォルトの名無しさん
2014/10/30(木) 22:20:54.84ID:P+CVnAvq0188デフォルトの名無しさん
2014/10/31(金) 01:46:46.07ID:f+ZXvii7そんなショートカットキーを設定するのがそもそも愚かとしか言いようがない。
なぜ修飾キーを足すとか別のキーを割り当てるとかしないのか。
0189デフォルトの名無しさん
2014/10/31(金) 03:18:17.30ID:agwiKe6z多分だけど、
フォームのProcessCmdKeyをオーバーライドして、
PropertyGridにフォーカスがあればbaseを呼ばずにtrueを返せばいい。
0190デフォルトの名無しさん
2014/10/31(金) 11:14:58.19ID:qTMOYFAa{
for (int i = 0; i < VisualTreeHelper.GetChildrenCount(parent); i++)
{
DependencyObject child = VisualTreeHelper.GetChild(parent, i);
if (child != null && child is T)
return (T)child;
else
{
T childOfChild = FindVisualChild<T>(child);
if (childOfChild != null)
return childOfChild;
}
}
return null;
}
このwhere T : DepenedencyObjectの記述がデバッグしても理解できないんだけど、この書き方ってコンストラクタオーバーロードだよね?
なぜメソッドだと再帰になるの?誰かバカでも理解できるようにわかりやすく説明お願いしゃっす
0191デフォルトの名無しさん
2014/10/31(金) 11:22:48.94ID:Si2KSChC0193デフォルトの名無しさん
2014/10/31(金) 13:08:37.26ID:Wm9hAmj70194デフォルトの名無しさん
2014/11/01(土) 06:55:35.95ID:SV8kvD46うむ、礼には及ばん。
0195デフォルトの名無しさん
2014/11/01(土) 13:00:19.82ID:SnQWUbHh動かなくなりました。
何が原因として考えられますか?
.Net Frameworkが破損していたりするのでしょうか?
0196デフォルトの名無しさん
2014/11/01(土) 13:02:56.26ID:xXuLrO2X0197デフォルトの名無しさん
2014/11/01(土) 13:05:52.32ID:RHUU0+gA0198デフォルトの名無しさん
2014/11/01(土) 13:07:26.77ID:4cNV6UiJ0199デフォルトの名無しさん
2014/11/01(土) 13:10:04.84ID:SnQWUbHhそれが全く同じモジュールでつい最近まで動いていたんです。
>>198
どこでエラーが出ているかも謎なんですよね。
0200デフォルトの名無しさん
2014/11/01(土) 13:12:57.47ID:A0QzCMJu0201デフォルトの名無しさん
2014/11/01(土) 13:13:09.14ID:NjA3Gv8K0202デフォルトの名無しさん
2014/11/01(土) 13:27:38.20ID:xXuLrO2X0203デフォルトの名無しさん
2014/11/01(土) 13:30:48.17ID:+C7i5UUlこういう操作をしたらこうなるはずがこうなっている
ぐらいは書かんとどうにもならん
0204デフォルトの名無しさん
2014/11/01(土) 14:41:32.39ID:w0Vw1Jlx0205デフォルトの名無しさん
2014/11/01(土) 15:18:12.23ID:TiVXtbJJ「動かなくなった」環境下でステップ実行してみれば済む話じゃないか。
0206デフォルトの名無しさん
2014/11/01(土) 17:49:03.95ID:bVrmggLnブロックしているんとちゃうか?
0207デフォルトの名無しさん
2014/11/01(土) 18:19:30.63ID:Kg6cjkc/作成したソフトの不正解析を防ぐために難読化なるものをしたいと思ってます。
フリーで期限の制限がないものを教えてください。
色々と探してみましたが、フリーでは使用の期限制限(あるいは作成したソフトに期限制限)がかかるもの、
完全フリーも見つけましたが.NET Framework 4.0までしか対応しておらず困ってます。
この作成したソフトは個人で作成したフリーソフトなので
難読化ソフトに高い代金を払うことができません。
どなたか良いソフトをご存知の方教えてください。
0208デフォルトの名無しさん
2014/11/01(土) 18:24:25.92ID:52Qqkh+Z0209デフォルトの名無しさん
2014/11/01(土) 18:26:04.42ID:52Qqkh+Z違う人だった。
0210デフォルトの名無しさん
2014/11/01(土) 18:30:43.51ID:51/pFcv20211デフォルトの名無しさん
2014/11/01(土) 18:45:42.63ID:Kg6cjkc/そうしてみます
0212デフォルトの名無しさん
2014/11/01(土) 18:58:43.72ID:bVrmggLn流用する奴なんておるか?
自分で同じようなのを作る方が
手っ取り早いんとちゃうか?
0213デフォルトの名無しさん
2014/11/01(土) 19:00:10.99ID:65g/gkj60214デフォルトの名無しさん
2014/11/01(土) 19:13:10.41ID:TiVXtbJJ自信のない人が(利害以前の問題で)読まれるのを恥ずかしいと思うのも分かりはする。
コードって書く人の人となりがもろに出るしね。
0215デフォルトの名無しさん
2014/11/01(土) 20:25:33.95ID:3DXFgjgDググったらこんなのがあった。
ConfuserEx
ttp://yck1509.github.io/ConfuserEx/
0216デフォルトの名無しさん
2014/11/01(土) 20:28:10.41ID:3DXFgjgDList of obfuscators for .NET
ttp://en.wikipedia.org/wiki/List_of_obfuscators_for_.NET
0217デフォルトの名無しさん
2014/11/01(土) 20:34:25.11ID:65g/gkj6そのへんちゃんと検討してるのか心配
つか多分してないんだろうなと思ってる
0218デフォルトの名無しさん
2014/11/01(土) 20:52:08.34ID:eRe8awTN0219デフォルトの名無しさん
2014/11/01(土) 21:29:10.01ID:R8grbRHL0220デフォルトの名無しさん
2014/11/01(土) 21:43:10.30ID:w0Vw1Jlx変態がばれてしまう
0221デフォルトの名無しさん
2014/11/01(土) 21:45:52.28ID:Kg6cjkc/ありがとうございます!
0222デフォルトの名無しさん
2014/11/01(土) 21:49:17.81ID:MCGuq/lT0223デフォルトの名無しさん
2014/11/01(土) 21:50:07.52ID:yfMW+WpF0224デフォルトの名無しさん
2014/11/01(土) 21:52:54.65ID:xXuLrO2Xちょっとハードエンコの取っ掛かり欲しくて某エンコードソフトを
解析したけどあっさり中身見れたよ
まあ難読化されてるのでめんどくさいけど
.netはまあ・・・あきらめるしかない
0225デフォルトの名無しさん
2014/11/01(土) 22:23:20.63ID:65g/gkj6Pure.Netなエンコソフトなんかあるのか
ハンドブレーク?ちがうよね
0226デフォルトの名無しさん
2014/11/01(土) 22:26:11.01ID:xXuLrO2X.netからインテルやAMDの動画関連のAPI呼んでる感じだったね
0227デフォルトの名無しさん
2014/11/01(土) 22:40:24.65ID:3F0N/7oPお前の糞ソフトなんて解析する位なら自分で作るわ。
アホ。
0228デフォルトの名無しさん
2014/11/01(土) 22:48:48.53ID:65g/gkj6すげぇな
おれには無縁なC#だわ
0229デフォルトの名無しさん
2014/11/01(土) 22:57:05.77ID:2tosKQm+というかc#でエンコードやデコードするわけじゃなくて
単に指定された動画ファイルを頭から読み込んでその情報を
ハードエンコに使うAPIに流し込めばエンコされたデータがでてくるからね
win32apiを使うようなものよ
実際importしていじってるだけぽかったし
0230デフォルトの名無しさん
2014/11/02(日) 00:45:32.83ID:oSJ90NgMWINDOWS XPを再インストール(リカバリ)する方法
〜VAIO SONY VGN-Gシリーズ〜
http://know-how-tree.com/archives/1027
うんうん
0232デフォルトの名無しさん
2014/11/03(月) 19:55:38.23ID:+c1Nn/Ehhttps://qiita.com/advent-calendar/2014/csharp
もうこの季節。
0233デフォルトの名無しさん
2014/11/04(火) 21:40:01.12ID:LnPvcigh都内で探しています。
※ネットワークエンジニアをもっている方歓迎
0234デフォルトの名無しさん
2014/11/04(火) 21:56:35.48ID:mHUGgK/V0235デフォルトの名無しさん
2014/11/05(水) 17:42:50.30ID:g0p9TSXp0236デフォルトの名無しさん
2014/11/05(水) 17:56:40.76ID:RlZYfNIA0237デフォルトの名無しさん
2014/11/05(水) 18:04:07.17ID:vb+KtnkDの形なら境界チェックなくなるよ
0238デフォルトの名無しさん
2014/11/05(水) 18:20:03.32ID:W6TUyXUu要素アクセスするたびの範囲チェックはなくなるかもしれん
0239デフォルトの名無しさん
2014/11/05(水) 19:43:53.23ID:g0p9TSXp複数の配列をダイレクトにアクセスしていくのでちょっと無理。
unsafeも部分的には速くなったけど、複数関数、配列またがると
unsafe突入コストが多きすぎてなかなか速くならない。ちょっとお手上げ。
0240デフォルトの名無しさん 転載ダメ©2ch.net
2014/11/05(水) 19:46:43.83ID:RbNq+W2Fひとつにまとめればいいだろw
0241デフォルトの名無しさん
2014/11/05(水) 19:50:10.20ID:YOtSCrO60242デフォルトの名無しさん
2014/11/05(水) 19:57:06.42ID:vb+KtnkD0243デフォルトの名無しさん 転載ダメ©2ch.net
2014/11/05(水) 20:41:40.49ID:RbNq+W2F高速化自体は簡単
0244デフォルトの名無しさん
2014/11/05(水) 20:51:00.74ID:W6TUyXUuunsafeで速度が足りないとなるとそこがボトルネックであることが疑わしくなるが
0245デフォルトの名無しさん
2014/11/05(水) 20:55:59.53ID:VpAgj/Ts0246デフォルトの名無しさん
2014/11/05(水) 20:56:50.08ID:L6XaHMSG同じ領域を再利用すると高速化できる場合がある
0247デフォルトの名無しさん
2014/11/05(水) 21:07:25.12ID:lUzon9H00248デフォルトの名無しさん
2014/11/06(木) 05:14:51.02ID:k5CGu2RI0249デフォルトの名無しさん
2014/11/06(木) 10:35:58.00ID:yWwtn8Quまともに動的に配列確保できないじゃねーか。
それで済む用途なんて画像処理とか極僅かだろう。
0250デフォルトの名無しさん
2014/11/06(木) 12:46:06.23ID:0FNPA2ms0251デフォルトの名無しさん 転載ダメ©2ch.net
2014/11/06(木) 12:57:03.53ID:mU3NVKgt0252デフォルトの名無しさん
2014/11/06(木) 13:08:22.46ID:MZI0k+jm0253デフォルトの名無しさん
2014/11/06(木) 14:14:07.03ID:tUz33uDk0254デフォルトの名無しさん
2014/11/06(木) 14:55:14.84ID:i9PeqnZd0255デフォルトの名無しさん 転載ダメ©2ch.net
2014/11/06(木) 14:57:55.34ID:mU3NVKgt0256デフォルトの名無しさん
2014/11/06(木) 16:50:08.72ID:wRpXszPE実行速度が重要ならC/C++を採用すべき
それでも実行速度が遅いとき
特定ユーザー向けなら、高速のCPUを投入する
不特定多数なら、アルゴリズムの改善を行う
unsafeどうたらは、アプローチとして正しくないとおも
0257デフォルトの名無しさん
2014/11/06(木) 16:58:07.35ID:6I9gYxLI数行のXMLが書いてあるだけのファイルです、なんとかexe内に取り込んでしまいたいのですが…。
0258デフォルトの名無しさん
2014/11/06(木) 17:02:05.83ID:0qVlggyZそもそもconfigなんかにせず適当にconstな値を持ったclass書けばいいじゃん?
0259デフォルトの名無しさん
2014/11/06(木) 17:03:27.73ID:6I9gYxLIconfigにかいてあるのは.netのバージョンだけです
無駄なのでこれを出力したくないのです
0260デフォルトの名無しさん
2014/11/06(木) 17:05:05.00ID:aOSGOIwN0261デフォルトの名無しさん
2014/11/06(木) 17:10:44.24ID:6I9gYxLI0262デフォルトの名無しさん
2014/11/06(木) 17:12:52.85ID:nsu6e9Lqその辺にかかわる何かを触ったんだろ
中身なしのXMLが出るって
0263デフォルトの名無しさん
2014/11/06(木) 17:25:01.72ID:6I9gYxLI新規プロジェクトそのままコンパイルしても生成されるんですが…
0264デフォルトの名無しさん
2014/11/06(木) 17:27:27.21ID:nsu6e9Lqソリューションのクリーンすりゃ消えるでしょ
コンパイル時はあきらめろ
使ってなければ別になくても問題ない
0265デフォルトの名無しさん
2014/11/06(木) 17:28:04.42ID:0qVlggyZ0266デフォルトの名無しさん
2014/11/06(木) 17:28:20.67ID:CHag8G5G0267デフォルトの名無しさん
2014/11/06(木) 17:34:48.33ID:6I9gYxLI解決しました。ありがとうございます。
0268デフォルトの名無しさん
2014/11/06(木) 20:08:07.50ID:vs4JBJNxconfigなくても起動するんだし気にする必要もない
0269デフォルトの名無しさん
2014/11/06(木) 20:51:02.56ID:l7BoKM6Z消す意味は感じないが
0270デフォルトの名無しさん
2014/11/06(木) 21:15:44.48ID:5eQY/H4s(2)Threadクラスで作成したスレッドで(1)のロード済みDLLを使用する
この処理って何か問題ありますか?
(2)ではGetProcAddress関数で関数のアドレス取ってMarshalクラスでManageに変換して使用してます。
0271デフォルトの名無しさん
2014/11/06(木) 21:30:01.37ID:0qVlggyZ0272デフォルトの名無しさん
2014/11/06(木) 21:54:03.01ID:5eQY/H4s他人が使ったDLLを使っているのですが、(2)でDLLの関数を実行に失敗してしまい困ってたんです。
(1)でUIスレッドではなくThreadクラスで生成したスレッドで実行したり、(2)をUIスレッドで実行すると上手く動作します。
こちらの呼び方が悪いのではないかと色々と調べてみたのですが成果は出ず・・・。
DLLの製作者の方に問い合わせてみます。
0273デフォルトの名無しさん
2014/11/07(金) 00:17:35.13ID:XkqmKxV80274デフォルトの名無しさん
2014/11/07(金) 00:25:23.66ID:0d3Kb3AY0275デフォルトの名無しさん
2014/11/07(金) 01:08:07.84ID:avFQbBp00276デフォルトの名無しさん
2014/11/07(金) 04:04:15.70ID:53HEKntLうーん・・・やっぱり呼び方変えて成功するケースがあるなら呼び出し側なんですかね・・・。
また少し調べてまだ試していないんですが、ApartmentStateって影響しますか?
今はUIスレッドはSTA、Threadクラスで生成したスレッドはMTAで動作してます。
DLLがCOMオブジェクトを使用しているかどうかで変わる?
0277デフォルトの名無しさん
2014/11/07(金) 07:17:29.42ID:Yufm+zrM致命的です
>>276の理解レベルでは無理なので諦めましょう
0278デフォルトの名無しさん
2014/11/07(金) 07:57:58.16ID:u+2F0oww0279デフォルトの名無しさん
2014/11/07(金) 09:33:27.68ID:ecQLjDHFそのタスクの中のものをスレッドにしたんじゃないかな?
昔やったITRONのタスクってものは、Windowsで言うスレッドそのものだったし
0280デフォルトの名無しさん
2014/11/07(金) 10:09:41.48ID:nUR92w6FSwitching
System
0281デフォルトの名無しさん
2014/11/07(金) 14:22:31.79ID:tCwEoRvNマルチスレッドはプロセス内に複数CPUが動いてるイメージ。
スレッドは同じプロセス内なのでメモリなどのリソースは共有している。
0282デフォルトの名無しさん
2014/11/07(金) 14:25:30.25ID:tCwEoRvN懐かしい。
0283デフォルトの名無しさん
2014/11/07(金) 14:38:26.80ID:Ji9punwUTime
Sharing
System
0284デフォルトの名無しさん
2014/11/07(金) 14:39:52.94ID:Ji9punwU0285デフォルトの名無しさん
2014/11/07(金) 16:53:36.46ID:4yd7iQ660286デフォルトの名無しさん
2014/11/07(金) 17:27:05.59ID:ZGbVWO010287デフォルトの名無しさん
2014/11/07(金) 21:00:58.33ID:x65iNG5P>マルチスレッドはプロセス内に複数CPUが動いてるイメージ。
そんないい加減な概念で理解できるのか?スレッドごとに何が固有で何が共用なのか,はっきりしろよ
0288デフォルトの名無しさん
2014/11/07(金) 21:03:57.43ID:GF0g7nAP0289デフォルトの名無しさん
2014/11/07(金) 21:07:04.50ID:XkqmKxV80290デフォルトの名無しさん
2014/11/07(金) 22:04:59.69ID:0d3Kb3AY0291デフォルトの名無しさん
2014/11/07(金) 22:11:06.70ID:mIcrXYRq0292デフォルトの名無しさん
2014/11/07(金) 22:12:22.26ID:0d3Kb3AYごめんなさい
0293デフォルトの名無しさん
2014/11/07(金) 22:18:56.19ID:LTQ89XEuまぁ自分じゃスレッドしか使わないんだけどさ
0294デフォルトの名無しさん
2014/11/08(土) 00:30:30.10ID:CgJi/Bg6https://www.youtube.com/watch?v=fEC0FVT8wek#t=20
プログラムだけじゃなくてハードも強い
0295デフォルトの名無しさん
2014/11/08(土) 09:25:34.75ID:jG/IUALj0296デフォルトの名無しさん
2014/11/08(土) 15:24:17.87ID:CgJi/Bg6C#でIEを操作するプログラムを作っています。
以下の様なサイト(HTML)の場合(IDがHTML属性に無い場合)に
どうやれば以下のボタンをクリックする事が出来ますでしょうか?
※WebBrowserコントロールはトラブルが多いので使っていません。
<button type="button"class="hogeclass" style="background-image:url(/file/hoge.gif);">押したらいけない</button>
0297デフォルトの名無しさん
2014/11/08(土) 15:28:39.52ID:aQgxSc+J0298デフォルトの名無しさん
2014/11/08(土) 15:32:09.43ID:N1yYglanとか言ってられるレベルじゃないんだよなぁ
0299デフォルトの名無しさん
2014/11/08(土) 15:52:56.42ID:Z+UQg/YP0300デフォルトの名無しさん
2014/11/08(土) 16:15:11.71ID:fRSSu2pa0301デフォルトの名無しさん
2014/11/08(土) 16:52:47.84ID:ynvOK8IX例えばボタンをクリックした時に、EDIデータを読み込んだりしたりする処理とか
1つのイベントでやることが多いと、グチャグチャになっちゃうんだよね
どうにかして、綺麗なコード書けないの?
0302デフォルトの名無しさん
2014/11/08(土) 16:54:12.52ID:4oiQ7Wm3しかもマルチとか
0303デフォルトの名無しさん
2014/11/08(土) 16:58:02.27ID:4oiQ7Wm3そのEDIデータとやらを扱うクラス作る
0304デフォルトの名無しさん
2014/11/08(土) 16:58:41.66ID:fRSSu2pa0305デフォルトの名無しさん
2014/11/08(土) 17:09:14.21ID:ynvOK8IX確かに、他のクラスに外出ししちゃえばいいね
業務ロジックとかってどうしてるの
画面に入力されたデータを、まるまる他のクラスに渡すのって大変じゃない?
0306デフォルトの名無しさん
2014/11/08(土) 17:10:44.08ID:M9kNsdTRそのくらい我慢せえや
0307デフォルトの名無しさん
2014/11/08(土) 17:11:50.04ID:N1yYglan画面部品とデータクラスのプロパティをバインドする
0308デフォルトの名無しさん
2014/11/08(土) 17:18:49.10ID:aQgxSc+J0309デフォルトの名無しさん
2014/11/08(土) 17:28:13.35ID:6mAHE7MV0310デフォルトの名無しさん
2014/11/08(土) 18:35:46.06ID:QHYr6EI3それが嫌ならWPFでMVVMって選択肢もあるよ。
俺自身はMVVMに懐疑的だけど。
0311デフォルトの名無しさん
2014/11/08(土) 18:45:35.03ID:Z+UQg/YP0312デフォルトの名無しさん
2014/11/08(土) 19:20:44.28ID:fIkqyeLKWindowsFormでもWPFでも、
データバインド使えばいいんじゃない?
それからMVPでもMVCでもPACでもMVVMでもいいけど、
実装レイヤーを分離する設計にすれば、
イベントハンドラーに全てを記載するような、
愚かなことはなくなると思うけど・・・
>>311
それは幻想だと思いますよ!
ぐちゃぐちゃなコードを書くPGがまともなコメント書くとは思えない・・・
0313デフォルトの名無しさん
2014/11/08(土) 19:24:24.82ID:M9kNsdTR0314デフォルトの名無しさん
2014/11/08(土) 19:26:05.99ID:wnAb3mO00315デフォルトの名無しさん
2014/11/08(土) 19:33:09.93ID:sbGoMvIw0316デフォルトの名無しさん
2014/11/08(土) 19:44:10.36ID:4oiQ7Wm3>>314みてちょっとゾッとしたわ
0317デフォルトの名無しさん
2014/11/08(土) 20:05:40.91ID:M4XGC/qh0318デフォルトの名無しさん
2014/11/08(土) 20:09:53.18ID:dGtCtmeI0319デフォルトの名無しさん
2014/11/08(土) 20:28:16.25ID:3fdqyg230320デフォルトの名無しさん
2014/11/08(土) 21:26:48.54ID:Ht5vOo+4散々こき下ろされるに決まってるだろう
0321デフォルトの名無しさん
2014/11/09(日) 00:23:23.53ID:hx7C5MJa0322デフォルトの名無しさん
2014/11/09(日) 00:42:08.20ID:Df0B5W+b0323デフォルトの名無しさん
2014/11/09(日) 00:46:10.17ID:pppHUIF0ログ見れば分かるのにアレ何なんだろうね
律儀に旧コードのコメントアウトと新コードを1行置きに書く人とか・・・
0324デフォルトの名無しさん
2014/11/09(日) 02:04:46.50ID:u95vnrYB0325デフォルトの名無しさん
2014/11/09(日) 02:17:29.37ID:vP2N3y7c分かんないよな
それやってる人居たら言い分を聞きたい
暫定対応時に元のコード残しとく心理は何となく分かるのでそれ以外のパターンで
0326デフォルトの名無しさん
2014/11/09(日) 02:27:03.60ID:nH5ttDX7たぶん彼は日本人的な「真面目」な人。
別の言い方をすると、形式主義者。
例え結果が出なくても何かをきちんと一生懸命やることには価値があるんだ、
みたいな日本の道徳教育的建前を真に受けて大人になっちゃった、ある意味犠牲者かも。
0327デフォルトの名無しさん
2014/11/09(日) 02:43:54.26ID:vP2N3y7c0328デフォルトの名無しさん
2014/11/09(日) 02:46:20.43ID:u95vnrYB0329デフォルトの名無しさん
2014/11/09(日) 03:02:56.71ID:pLP/Mh4Bもしくは使い方が解らないか
0330デフォルトの名無しさん
2014/11/09(日) 05:05:57.66ID:O3n9UWkXコメント見て大笑いした事がある
今で言うブログ風に上司や同僚の悪口がてんこ盛りだった
0331デフォルトの名無しさん
2014/11/09(日) 06:32:01.26ID:qj7EX+Zt修正内容を一字一句明確にしとけって考えだろ
0332デフォルトの名無しさん
2014/11/09(日) 08:16:58.26ID:0OHZhIbKそれ何年も前に KINECT スレで見たわ
http://peace.2ch.net/test/read.cgi/tech/1342740114/
http://toro.2ch.net/test/read.cgi/tech/1290795733/
たしかに世界に誇れる技術
二足歩行ロボットにしてマシュマロを食えたら完璧
0333デフォルトの名無しさん
2014/11/09(日) 12:53:23.71ID:IVeO+GvI大抵は関数ヘッダも無く、処理内容の解析の糸口になるようなコメントも皆無で
コメント文と言えば解析の役に立たない変更履歴コメントだけと言う・・・
そして変更履歴コメントと、意図の分からない謎コードが入り乱れる
後任者を中央線に飛び込ます事にしか役立たないソースが完成する。
0334デフォルトの名無しさん
2014/11/09(日) 13:02:36.73ID:RjxQ6mlt0335デフォルトの名無しさん
2014/11/09(日) 13:50:30.24ID:UsZA2omIそのEDIデータを読み込むプログラムを
Webサーバーアプリケーションとコンソールアプリケーションにも移植する必要が発生したとする。
処理は今後も修正が入るのでコピペは避けたい。
どう作る?
0336デフォルトの名無しさん
2014/11/09(日) 13:56:34.26ID:qMMOH0c1そういう風にしろと言う上司がいるんだよな
当然その上司は SCM なにそれ状態
あまり老害という言葉は使いたくないけど、これにはそれ以外の言葉が思い付かない
0337デフォルトの名無しさん
2014/11/09(日) 13:57:47.95ID:Mip19DDq0338デフォルトの名無しさん
2014/11/09(日) 14:04:39.57ID:VcMedQcJプログラミング言語がソフトウェアの品質に与える影響
http://developers.slashdot.jp/story/14/11/08/081210/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9E%E3%81%8C%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2%E3%81%AE%E5%93%81%E8%B3%AA%E3%81%AB%E4%B8%8E%E3%81%88%E3
0339デフォルトの名無しさん
2014/11/09(日) 14:44:02.90ID:eu53Y8Pfだいぶ前に暇つぶしに実行ファイルの中をのぞいてたら
「そんなこと(実行ファイルを覗くこと)してる場合じゃないだろ。ちゃんと結婚して子供も作れよ。いいぞ。」
的なコメント見つけて吹きかけたことがある。w
まあその通りなんだけどな。
このコメント論争的なものの中で、実際に管理的立場に立ってる人ってどのくらいいるんだろ。
いままで挙がってる意見ていつでも誰でも言えて繰り返されてることしかないんだけど、
それらって現場の人間の見方だよね。違った立場からの意見を聞いてみたいかも。
そういう人に聞いても「そういう決まりだから」以外の理由を聞いたことないけども。
履歴管理って便利だけど、開発を丸投げしてる場合に納品物がソースファイルや実行ファイル等だけで
履歴管理ソフトのデータまで含んでないからってのもあったような気がする。
0340デフォルトの名無しさん
2014/11/09(日) 14:46:31.69ID:Ncgt9DFnhttp://peace.2ch.net/test/read.cgi/tech/1412298752/
0341デフォルトの名無しさん
2014/11/09(日) 15:07:09.92ID:QwjRsquy「後でまとめて消すつもりだけど、とりあえず残しておいた」
特にルール化されているんでなけりゃ、こんなもんだろ。
0342デフォルトの名無しさん
2014/11/09(日) 15:13:21.45ID:gWoVcOuiそのプログラムの仕様上の問題点とか
将来の修正点の課題とか予想して書いてたら
そんなものは納品には不要だから消せって言われたな
0343デフォルトの名無しさん
2014/11/09(日) 15:18:13.36ID:xhDtWh1mそういう用途なら、メソッド単位でコピペしてコメント化して、動いたら消すってやるが
件の例は一行ごとに残しているから恒久的に残す予定のようだ
0344デフォルトの名無しさん
2014/11/09(日) 15:30:41.62ID:gWoVcOui0345デフォルトの名無しさん
2014/11/09(日) 15:58:52.33ID:u95vnrYBそういう会社には開発を頼みたくないよ。
仕様変更による影響範囲や制限や問題点とかコメント書いてるコードのほうがよほど信用できる。
0346デフォルトの名無しさん
2014/11/09(日) 16:13:53.60ID:QwjRsquy逐次修正するなら元のコードは近くに残しておく方が参照しやすいがな。
逆に、一行毎に残してるから恒久的とか、残しておくのが目的じゃないのにメソッドごと
コメント化する理由のほうがわからん。
>>344
そういえば、自分が触ったところがちょうど#if 0でまるっと残されて、マージで衝突も
なかったからしばらく気づかなかった、ってことはあったな。
0347デフォルトの名無しさん
2014/11/09(日) 16:23:25.22ID:Ncgt9DFn0348デフォルトの名無しさん
2014/11/09(日) 17:07:47.75ID:UtYuRtmDSOLIDの原則については考慮していないのでしょうか?
少なくともクラスが単一責務と開放・閉鎖の原則を守っていれば、
酷いコメントは残らないと思いますが?
0349デフォルトの名無しさん
2014/11/09(日) 17:17:25.94ID:RjxQ6mltC#のソースコードに昨日食った晩飯の感想を書いている可能性も否定できないな
0350デフォルトの名無しさん
2014/11/09(日) 17:35:58.12ID:yEIgI+gw正直何を言い合ってるのかさっぱりわからないけど、
俺の場合、古いバージョンのコードを保存しておく動機は、ほとんどの場合
単なる精神衛生上の問題であって、後で何か問題が発覚して古いコードを参照する
(あるいは書き戻す)なんて確率はほぼゼロだから、こういう事態を想定した作業に
コストを掛け過ぎるのは愚の骨頂としか思えんな。
0351デフォルトの名無しさん
2014/11/09(日) 21:29:08.56ID:O3n9UWkX大抵消し忘れている
0352デフォルトの名無しさん
2014/11/09(日) 21:30:05.97ID:ldAmi3hOスレ違いは去れ
0353デフォルトの名無しさん
2014/11/10(月) 00:57:33.88ID:h1HLAEurいたら感想ほしい
0354デフォルトの名無しさん
2014/11/10(月) 20:26:30.67ID:jRVetSaOa.html → common.cs → b.html → common.cs → c.html → common.cs ・・・
てな感じで、common.csを中心にhtmlの遷移を行いたいんだが、htmlの描写がどうしてもうまくできん
どうやったらhtmlの描写ができる?それと要素への値の設定(input type="text"に値入れるとか。言い方あってるかわからん)も実現したい
一応条件として
・aspxは使用しない
・common.csはIHttpHandlerとIRequiresSessionStateを継承する
って感じで。
どうしても無理なら別の方法考えるけど、まずはこれで実現する方法があるのか教えてほしい。
0355デフォルトの名無しさん
2014/11/10(月) 20:33:49.37ID:9Gol7YAeこれは?
0356デフォルトの名無しさん
2014/11/10(月) 20:43:46.32ID:3jDtp2egashxでビングれ
0357デフォルトの名無しさん
2014/11/10(月) 20:54:18.11ID:78wnapM00358デフォルトの名無しさん
2014/11/10(月) 21:02:56.70ID:KWt8wkdd0359デフォルトの名無しさん
2014/11/10(月) 23:03:38.70ID:cxaE+SpDちょっと使った分には、構成が単純だし楽そうな印象を受けた。
メインの開発がasp.net 3.5なんで、本格使用は先だけど。
0360デフォルトの名無しさん
2014/11/10(月) 23:04:41.69ID:cxaE+SpD0361354
2014/11/11(火) 01:03:47.34ID:VBUGZjHm結局まだ解決には至ってないんだけど、もう少し頑張ってみるよ
0362デフォルトの名無しさん
2014/11/11(火) 22:35:04.85ID:bl7AWQ1AIISのアプリケーションプールは2.0でコンパイラも2.0だし
web.configを魔改造して3.5のコンパイラとライブラリを使えるようにした
無保証で動作させてる状態のこと?
0363デフォルトの名無しさん
2014/11/11(火) 23:21:06.90ID:B0xtxUCshttp://blogs.msdn.com/b/dd_jpn/archive/2007/11/13/6172535.aspx
http://codezine.jp/article/detail/2269
0364デフォルトの名無しさん
2014/11/11(火) 23:39:03.04ID:qGZpHogvと複数段階のカテゴリをプログラムから自由に作れる様な
システムを考えています。
この場合、どの様なテーブル設計をすれば良いでしょうか?
大カテゴリ:2ch
中カテゴリ:
独身
既婚
どっちでもない
小カテゴリ
・・・{略}
※小カテゴリの下にも自由にカテゴリを作る事の出来る様な設計にしたいです。
0365デフォルトの名無しさん
2014/11/12(水) 00:09:10.06ID:rPKsbxeaループに注意な。
0366デフォルトの名無しさん
2014/11/12(水) 00:12:44.41ID:UQWyoGkHC#関係ある?
親カテゴリを持つのが多いが
データのメンテやSELECT一発でとるのがめんどいから
予備をみて10個ぐらい横持ちにしたマスタとか
データをもつほうが現実的かも
0367デフォルトの名無しさん
2014/11/12(水) 00:36:12.86ID:ajUryUal0368デフォルトの名無しさん
2014/11/12(水) 01:17:54.31ID:U8HDqwITサンキュー
親カテゴリを持つ様にすると確かにSQLで抽出が面倒な事になりそうなので
取り敢えず現実的な大・中・小カテゴリで分けられる様に設計する事にします。
0369デフォルトの名無しさん
2014/11/12(水) 06:38:31.49ID:ozyu6RFa0370デフォルトの名無しさん
2014/11/12(水) 11:26:44.77ID:iMrgtdNCみたいなパス持たせればLikeで検索できる
0372デフォルトの名無しさん
2014/11/12(水) 14:42:43.78ID:cORNeV2W0373デフォルトの名無しさん
2014/11/13(木) 08:44:43.54ID:jzOJh9nX具体的なテーブル設計を教えてください。
0374デフォルトの名無しさん
2014/11/13(木) 09:02:49.77ID:1hz0svKt0375デフォルトの名無しさん
2014/11/13(木) 11:26:24.87ID:N/kTZ6FO再起構造で作ったとしても後でちょっとしたバッチ処理にかけたりするとき
面倒臭くて一時的に文字列パス持たせましたみたいなアホらしいことになりそう
構造が頻繁に変わらないんなら文字列パスがスマートじゃね
0376デフォルトの名無しさん
2014/11/13(木) 11:34:38.70ID:iNnRkBXk0377デフォルトの名無しさん
2014/11/13(木) 12:57:23.46ID:ei8/1QV32ch/独身/孤独
2ch/独身/重症
2ch/独身/孤独死
2ch/既婚/ブス嫁
2ch/既婚/ゲス嫁
2ch/既婚/美人
リア充/独身/もてまくり
リア充/独身/やりまくり
リア充/独身/がきたくさん
中カテゴリが「独身」でかつ
大カテゴリが「2ch」or「リア充」 のレコードを取得
といった事をSQLで実装可能ですか?
といった事をSQLで実現出来ますか?
0378デフォルトの名無しさん
2014/11/13(木) 13:28:01.93ID:qZui1jGZ0379デフォルトの名無しさん
2014/11/13(木) 14:23:37.23ID:qYUS6s/z0380デフォルトの名無しさん
2014/11/13(木) 14:33:53.39ID:oSj4g1rMなにをアドバイスしても無駄だとわかった。
0381デフォルトの名無しさん
2014/11/13(木) 15:39:17.09ID:KNtS7b0RSQLの条件指定は万能ではない。
SQLで可能かどうか知りたいならC#スレでKUSO質問してないで
規格ISO 9075を読め
0382デフォルトの名無しさん
2014/11/13(木) 15:47:07.37ID:HnULWsPZ再帰的問合せの話じゃねーの?
まさか、再帰でSQL投げるのか?
0383377
2014/11/13(木) 16:18:31.28ID:mkf4z/pJ何とかして後から手直しのほぼ発生しない様な
完璧な設計を考えています。
誰かスーパーエンジニアの方
アドバイスをお願いします。
0384デフォルトの名無しさん
2014/11/13(木) 16:49:09.23ID:XAhJx0Gu0385デフォルトの名無しさん
2014/11/13(木) 17:31:43.36ID:IgNFF7zY>>365
>>367に階層(深さ)ももっとけ
これ以上はDB板いって聞け
0386デフォルトの名無しさん
2014/11/13(木) 20:41:19.60ID:4XxiOWbUExcel 脳のままなんだろうか w
0387デフォルトの名無しさん
2014/11/13(木) 20:45:24.60ID:nVB+xnK40388デフォルトの名無しさん
2014/11/13(木) 20:54:27.54ID:Bu16QZSX0389デフォルトの名無しさん
2014/11/13(木) 21:59:40.11ID:8nnx8trqCTP3で出来てたプライマリコンストラクターが
エラーになるのは俺だけですか?
class X(string name) //エラー
{
int Test() => 100; //これはOK
}
0390デフォルトの名無しさん
2014/11/13(木) 22:05:38.26ID:KMDD16eK0391デフォルトの名無しさん
2014/11/13(木) 22:14:28.57ID:gesqVKyd0392デフォルトの名無しさん
2014/11/13(木) 22:21:46.27ID:BLwT3SO2この程度なら。
0393デフォルトの名無しさん
2014/11/13(木) 22:29:58.51ID:nVB+xnK40394デフォルトの名無しさん
2014/11/14(金) 06:13:26.11ID:+xHuGHLJパスはむしろWeb系っぽい設計だと思う
0395デフォルトの名無しさん
2014/11/14(金) 07:31:05.79ID:hxe36H0/> >>367に階層(深さ)ももっとけ
なんでそんな情報を持ちたがるんだ?
バカなの?
0396デフォルトの名無しさん
2014/11/14(金) 07:32:32.99ID:jAGOFrlY0397デフォルトの名無しさん
2014/11/14(金) 12:13:10.78ID:hNDW2rHJ再帰方式だとカテゴリ名で検索してもカテゴリのレベルを区別できないからだろ
絶対パスをLikeで探す方式ならその問題は無いけどね
0398デフォルトの名無しさん
2014/11/14(金) 13:35:48.14ID:+9Z/kvkrA a = new B();
B b = new A(); // OK
だけど↓こういうのできないの?
A[] aa = new B[]{};
B[] bb = new A[]{}; // NG
とか
void Method( IList<A> aaa ){};
Method( new List<B>() ); // NG
0399デフォルトの名無しさん
2014/11/14(金) 13:41:35.04ID:aP1RfszBprimary constructorC#6から外れててワロタwwwwwwwwww
ワロタ・・・・・
0400デフォルトの名無しさん
2014/11/14(金) 13:44:14.84ID:WmelKXp2できない
0401デフォルトの名無しさん
2014/11/14(金) 13:48:57.76ID:aP1RfszB0402デフォルトの名無しさん
2014/11/14(金) 13:50:47.04ID:AzG2qFhqC#のよさは型の厳しいところなんだし
0403デフォルトの名無しさん
2014/11/14(金) 13:56:12.12ID:rxnPKvOrなるほど
0404デフォルトの名無しさん
2014/11/14(金) 17:52:00.99ID:DJeb+WGlこんなの考える人って何の言語から入ってきてるんだろ
0405デフォルトの名無しさん
2014/11/14(金) 18:04:56.27ID:6MnqTsm2別におかしくはないだろ
class B : D の関係が有ったとして
配列を参照専用で使う目的なら
B[] out = new D[];
としたいこともあるだろうし、
結果を受け取るために配列を使用するなら
D[] in = new B [];
としたい場合がある。
0406デフォルトの名無しさん
2014/11/14(金) 18:06:57.64ID:cYY7mpaQ0407デフォルトの名無しさん
2014/11/14(金) 18:12:12.68ID:aP1RfszB参照専用で使うって何?
Bにしかないメンバを呼んだらどうなるわけ?
意味がわかんねえ
0408デフォルトの名無しさん
2014/11/14(金) 18:13:31.22ID:7FLVfRPT0409デフォルトの名無しさん
2014/11/14(金) 18:13:37.95ID:cYY7mpaQ順当に考えればdack typingな言語だろ
ここから先、共変反変と型変換の区別がついてないレスが乱れ飛ぶぜ
子供は気をつけろ
0410デフォルトの名無しさん
2014/11/14(金) 18:14:10.71ID:+9Z/kvkrbyte[]なデータがありまして
それを扱う上で、全然配列自体としてノータッチで
他のマネージド/非マネージドAPIに渡す/から返る という使い方しかしないので
byte[]であることを隠蔽してみたいかななんて次第で。
それに別名をつけられないかなぁと思いました。
0411デフォルトの名無しさん
2014/11/14(金) 18:17:29.57ID:aP1RfszB長文で解説してもらって申し訳ないけど
ひとかけらも意味がわからない
0412デフォルトの名無しさん
2014/11/14(金) 18:18:04.63ID:cYY7mpaQexternしてる関数に渡してる型を変えたらいいんじゃないの
可能なら、だけど
0413デフォルトの名無しさん
2014/11/14(金) 18:18:46.43ID:+9Z/kvkr実質4行ですけど(^^;)
0414デフォルトの名無しさん
2014/11/14(金) 18:21:03.62ID:+9Z/kvkr0415デフォルトの名無しさん
2014/11/14(金) 18:21:50.69ID:aP1RfszB「暗黙の型変換」っていうのは
インスタンスを作成してはゴリゴリ代入していくような力技の型変換処理を
コンパイラが勝手にぶちこんでくるっていうことだっていうのは分かってる?
0416デフォルトの名無しさん
2014/11/14(金) 18:25:23.63ID:7FLVfRPTいや、暗黙の型変換は、明示的な型変換でないだけ。
コンパイラが勝手になんか処理やるって意味じゃない。
C#は定義できるじゃない。 適当なクラスに、 byte[]との型変換演算子定義するだけ
0417デフォルトの名無しさん
2014/11/14(金) 18:28:54.77ID:gJ6bbHjy0418デフォルトの名無しさん
2014/11/14(金) 18:31:09.62ID:aP1RfszB型変換処理自体は自分で書くわけだけど
違う型の変数に代入しようとしたら知らんうちに型変換処理が起動してゴリゴリ型変換が行われるのが
暗黙の型変換やん
まあたしかになんかクラスを作ってbyte[]をプライベートメンバに持って
byte[]に型変換しようとした時には中身が出てくるっていう実装にはできるわね
気持ち悪いけど
0419デフォルトの名無しさん
2014/11/14(金) 18:33:32.24ID:7FLVfRPT0420デフォルトの名無しさん
2014/11/14(金) 18:37:31.03ID:gJ6bbHjyB[] bb = new A[]{}; // NG
B[] bb = new A[] { }.Cast<B>().ToArray(); // OK
0421デフォルトの名無しさん
2014/11/14(金) 18:41:29.20ID:aP1RfszBA[]からB[]に型変換したいっていう話だったから
そんなのまずコストがやばそうだし
byte[]から何の配列に型変換すると>>410が解決するのか意味不明だからな
byte[]をラップするクラスに暗黙に変換したいっていうならまあ意味はわかるな
0422デフォルトの名無しさん
2014/11/14(金) 18:58:07.87ID:+9Z/kvkrbyte[]をHogeにラップしてbyte[]へのimplictな変換を実装したとしても
IList<byte[]> なシグネチャなメソッドに IList<Hoge> を使えないなぁという話でした。
0423デフォルトの名無しさん
2014/11/14(金) 19:02:50.59ID:aP1RfszB0424デフォルトの名無しさん
2014/11/14(金) 19:15:48.54ID:Cq+F2Q+Dだれか説明してやって
0425デフォルトの名無しさん
2014/11/14(金) 19:16:18.44ID:nxGHcalD0426デフォルトの名無しさん
2014/11/14(金) 20:18:28.86ID:mJJdiWvV0427デフォルトの名無しさん
2014/11/14(金) 21:25:00.74ID:+9Z/kvkr0428デフォルトの名無しさん
2014/11/15(土) 00:15:05.37ID:JztHbHM20429デフォルトの名無しさん
2014/11/15(土) 00:19:06.28ID:EiFM0Zwi0431デフォルトの名無しさん
2014/11/15(土) 00:53:17.31ID:QA+2GZXjなにを言いたいのかさっぱりわからんが、絶対パスも階層の深さも SQL 書けば作れるだろ
そんな情報を持つ意味は普通はない
0432デフォルトの名無しさん
2014/11/15(土) 01:59:46.96ID:OgEItdJa正規化絶対主義なら要らないけどな
俺は再帰SQLのパフォーマンスとかリソース使用量とか懐疑的なんでな
つかDB板いけと
0433デフォルトの名無しさん
2014/11/15(土) 04:33:14.00ID:L1YjzjuF0434デフォルトの名無しさん
2014/11/15(土) 05:50:23.18ID:QA+2GZXj> 俺は再帰SQLのパフォーマンスとかリソース使用量とか懐疑的なんでな
老害乙
0435デフォルトの名無しさん
2014/11/15(土) 07:03:28.31ID:QYEam8kn0436デフォルトの名無しさん
2014/11/15(土) 08:22:47.12ID:RjoXFzVe作り出すことは可能だなんて言い出すあたり
>>431は「RBDMSのテーブルにインデックスなど不要」って考えの人かな
0437デフォルトの名無しさん
2014/11/15(土) 12:37:35.04ID:KvmYAgyzしなくていい苦労して、どや? ってバカみたい w
0438デフォルトの名無しさん
2014/11/15(土) 12:47:52.43ID:L1YjzjuF0439デフォルトの名無しさん
2014/11/15(土) 14:10:17.49ID:0xqO6m3E0440デフォルトの名無しさん
2014/11/15(土) 14:52:32.84ID:hIWmb4Rf「俺は悪くない、{会社|組織|お前ら}が原因だ」
って話が、[[[スレの趣旨を無視して]]](ここ重要)長々と続くようになったら
マ板誘導でいいと思っている
0441デフォルトの名無しさん
2014/11/15(土) 15:00:28.90ID:gttMTlAQ0442デフォルトの名無しさん
2014/11/16(日) 07:39:05.77ID:qLOsHMjV0443デフォルトの名無しさん
2014/11/16(日) 07:45:56.06ID:ARcUbCRW0444デフォルトの名無しさん
2014/11/16(日) 08:40:08.66ID:MAyHQAUsくだらない低レベルな煽りあいはやめてください
0445デフォルトの名無しさん
2014/11/16(日) 09:44:43.16ID:CXE/Z8t2└┘
0446デフォルトの名無しさん
2014/11/16(日) 10:48:38.56ID:vxT+UTz00447デフォルトの名無しさん
2014/11/16(日) 11:24:05.45ID:R05ll4b00448デフォルトの名無しさん
2014/11/16(日) 12:43:39.07ID:XxSX201F嫌がらせですか?
var f = (double v) => { return v.ToString(); }; // エラー
0449デフォルトの名無しさん
2014/11/16(日) 12:53:53.14ID:tO6WCZz90450デフォルトの名無しさん
2014/11/16(日) 13:03:03.42ID:R05ll4b00451デフォルトの名無しさん
2014/11/16(日) 13:58:12.01ID:ARcUbCRWあると便利だから最低限これだけ定義しておきますね、って感じだし
0452デフォルトの名無しさん
2014/11/16(日) 21:11:26.50ID:/gjxNyIJTypeScriptの var f : (double) => string みたいに引数と戻り値の型のセットを型として扱うようになるだろうけどね
元々デリゲートなんてイベントハンドラに使うくらいしか想定されてなかったから
0453デフォルトの名無しさん
2014/11/16(日) 21:28:25.65ID:qmyZLHei0454デフォルトの名無しさん
2014/11/16(日) 21:42:09.81ID:vxT+UTz00455デフォルトの名無しさん
2014/11/16(日) 23:14:43.68ID:phD7b9hD0456デフォルトの名無しさん
2014/11/16(日) 23:27:36.36ID:UuQKx0Wkただ、同じ引数・戻り値でも互換性が無くなってるのが…
>>455
varは型宣言を省略できるだけのシンタックスシュガーだからしゃーない
それにExpressionもあるし
0457デフォルトの名無しさん
2014/11/16(日) 23:39:54.55ID:kuWYhW7BB「シンタックスシュガーだからしゃーない
Bは会話のできないアスペ
0458デフォルトの名無しさん
2014/11/16(日) 23:46:53.16ID:lkRhIZkq(デリゲートとして受け取ろうとすればデリゲートになるし、Expression型で受け取れば式木になる)
だから右辺値から型を推測できない以上varでは受け取れない
ってことよね、確か
0459デフォルトの名無しさん
2014/11/17(月) 00:09:15.18ID:q31p4NOnB「シンタックスシュガーだからしゃーない
C「受け取る変数の側によって何の型になるのか決まる
BとCは会話のできないアスペ
ひょっとしてファーストクラスの概念が理解できてない?
0460デフォルトの名無しさん
2014/11/17(月) 00:25:54.26ID:UmxJwgic閉鎖しろ閉鎖
当局を呼べ
0461デフォルトの名無しさん
2014/11/17(月) 00:38:08.84ID:MgWHkgL6それとも>>455=>>457=>>459で意味を補足してるってこと?
0462デフォルトの名無しさん
2014/11/17(月) 00:42:00.61ID:DBvdkj9t0463デフォルトの名無しさん
2014/11/17(月) 00:53:44.79ID:M5Cu5yU10464デフォルトの名無しさん
2014/11/17(月) 05:25:33.30ID:QYoh9q3/0465デフォルトの名無しさん
2014/11/17(月) 20:17:58.55ID:TrB9TvSVとりあえず名前付けられなきゃ関数を返す関数とかの型名をいちいち書くのが大変なことになるし
何もなくても引数名で意味を表すためにdelegate定義するよ俺は
0466デフォルトの名無しさん
2014/11/17(月) 20:46:37.86ID:/Iul0pzs0467デフォルトの名無しさん
2014/11/17(月) 21:02:47.22ID:QYoh9q3/Func→戻り値あり
0468デフォルトの名無しさん
2014/11/17(月) 21:13:28.89ID:PlOUg50bあなどれんな
0469デフォルトの名無しさん
2014/11/17(月) 21:15:41.99ID:bgegzkUVFunc<string, Task<Response>> f = async (url) => {
var result = await DownloadAsync(url);
return DeSerialize(result);
};
0470デフォルトの名無しさん
2014/11/17(月) 21:32:08.48ID:SZFANCPm0471デフォルトの名無しさん
2014/11/17(月) 22:28:14.47ID:MgWHkgL6・delegateで受け取ってそのまま返すメソッドを作る
・C#使わない
0472デフォルトの名無しさん
2014/11/17(月) 22:40:56.09ID:Q3ukAaxsPostMessage関数は成功してる(戻り値でわかる)のに
普通はWM_PAINT来たら絶対呼ばれますよね?
私がウィンドウハンドル取得するところでミスっているんですかね・・・?
0473デフォルトの名無しさん
2014/11/17(月) 22:43:21.80ID:ZkARnQw7http://www.atmarkit.co.jp/fdotnet/csharptips/008bitmap/008bitmap.html
あとはこの辺のサイト使ってコードを晒せる範囲で晒してみるとか
http://ideone.com/
0474デフォルトの名無しさん
2014/11/17(月) 22:59:32.04ID:Q3ukAaxsPostMessage関数の引数に渡すウィンドウハンドルは
ポストされる側のフォームのコンストラクタの中でControl.Handleメソッドを使って取得したものを使っています
0475デフォルトの名無しさん
2014/11/17(月) 23:03:48.09ID:ZkARnQw7自分では大丈夫と思ってるコードでもポカやらかしてるとかあるから
エスパーじゃないからうごかないんですーで対応できるわけない
0476デフォルトの名無しさん
2014/11/17(月) 23:14:35.88ID:/Iul0pzsありがとう( ´ ω ` )ノ
0477デフォルトの名無しさん
2014/11/18(火) 00:00:05.49ID:Q3ukAaxs大体こんな感じです
Form.cs
http://ideone.com/nUrp6O
Poster.dll
http://ideone.com/d51359
新しく作ったスレッドの中でdllの中の関数を呼び出してます
その関数の中でPostMessageをしているのですがOnPaint反応しません
このソースだとクリックするごとに黒い棒が伸びてくつもりで作りましたが伸びません
0478デフォルトの名無しさん
2014/11/18(火) 00:12:13.33ID:bsF1yz9Xこっちのオーバーライドするほうがいいかも
http://blogs.wankuma.com/umebayashi/archive/2007/02/15/62360.aspx
0479デフォルトの名無しさん
2014/11/18(火) 00:34:02.54ID:bsF1yz9Xprotected override void WndProcでWndProcをオーバーライドして
WM_PAINTなどの再描画のメッセージを拾ってInvalidateなどでOnPaintが発生するような
コードを書けばよかったはず
0480デフォルトの名無しさん
2014/11/18(火) 00:38:27.49ID:FwR26ejNInvalidteRectあたりの関数経由でシステムから投げられるものじゃ
0481デフォルトの名無しさん
2014/11/18(火) 00:38:56.76ID:XSjdxmFbその手がありましたか
InvalidateだとInvalidate→WM_PAINT→Invalidate・・・の無限ループになってしまったので
WM_PAINTでない独自のメッセージを作ってうまく動くようになりました
いやーありがとうございました
それにしてもWM_PAINTのポストでOnPaintが呼ばれない理由、誰か知ってたら教えてほしい・・・
0482デフォルトの名無しさん
2014/11/18(火) 00:44:08.64ID:dTS5KRdo0483デフォルトの名無しさん
2014/11/18(火) 04:14:46.55ID:0uMRjQkj高機能なドッキングライブラリはいくつかありますが
VisualStudio的にユーザーが手動でレイアウトするというようなものは必要ないので
標準機能で行えるものを知りたいです。
MDIで似たようなことができなくもないですがUIとしては古い感じですし
実際のアプリではpanelだけではなくsplitcontainerやtabcontrolの各タブにフォームを埋め込む形にしたいです。
0484デフォルトの名無しさん
2014/11/18(火) 04:25:22.68ID:bsF1yz9X0485デフォルトの名無しさん
2014/11/18(火) 04:30:08.02ID:bsF1yz9Xhttp://dobon.net/vb/dotnet/form/formwithinform.html
0486デフォルトの名無しさん
2014/11/18(火) 07:49:00.13ID:oobbpTXk匿名めそっどというやつ?(´・ω・`)
勘違いしてたらごめん
0487デフォルトの名無しさん
2014/11/18(火) 11:21:17.58ID:e1BcnSab昔よく使ったMethodInvokerとかと同じだよ。
たくさん定義してくれたからじゃんじゃん使ってね。
public delegate void Action
public delegate void Action<T>
public delegate void Action<T1, T2>
public delegate void Action<T1, T2, T3>
public delegate void Action<T1, T2, T3, T4>
public delegate void Action<T1, T2, T3, T4, T5>
public delegate void Action<T1, T2, T3, T4, T5, T6>
public delegate void Action<T1, T2, T3, T4, T5, T6, T7>
public delegate void Action<T1, T2, T3, T4, T5, T6, T7, T8>
public delegate void Action<T1, T2, T3, T4, T5, T6, T7, T8, T9>
public delegate void Action<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10>
public delegate void Action<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11>
public delegate void Action<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12>
public delegate void Action<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13>
public delegate void Action<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14>
public delegate void Action<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15>
public delegate void Action<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16>
続く。
0488デフォルトの名無しさん
2014/11/18(火) 11:21:45.82ID:e1BcnSabpublic delegate TResult Func<T, TResult>
public delegate TResult Func<T1, T2, TResult>
public delegate TResult Func<T1, T2, T3, TResult>
public delegate TResult Func<T1, T2, T3, T4, TResult>
public delegate TResult Func<T1, T2, T3, T4, T5, TResult>
public delegate TResult Func<T1, T2, T3, T4, T5, T6, TResult>
public delegate TResult Func<T1, T2, T3, T4, T5, T6, T7, TResult>
public delegate TResult Func<T1, T2, T3, T4, T5, T6, T7, T8, TResult>
public delegate TResult Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, TResult>
public delegate TResult Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, TResult>
public delegate TResult Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, TResult>
public delegate TResult Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, TResult>
public delegate TResult Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, TResult>
public delegate TResult Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, TResult>
public delegate TResult Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, TResult>
public delegate TResult Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, TResult>
0489デフォルトの名無しさん
2014/11/18(火) 11:42:47.16ID:3mWvt4/WアプリケーションのMainメソッドで「オブジェクト参照がオブジェクト インスタンスに設定されていません。」
のエラーが出ます。
private void chart1_DoubleClick(object sender, EventArgs e)
{
this.Close(); // ←エラー「オブジェクト参照がオブジェクト インスタンスに設定されていません。」
}
private void button1_Click(object sender, EventArgs e)
{
this.Close(); // ←ボタンを張ってクリックイベントの場合、エラー起こらず、正常に閉じる。
}
回避方法ご存じの方教えてください!
0490デフォルトの名無しさん
2014/11/18(火) 11:53:58.11ID:tluP6G/hthis.BeginInvoke(new MethodInvoker(this.Close));
とりあえずこんなんで代用しておけばどうかな
0491デフォルトの名無しさん
2014/11/18(火) 12:11:20.67ID:3mWvt4/Wありがとうございます!
助かりました。
0492デフォルトの名無しさん
2014/11/19(水) 00:23:29.55ID:82EBbrPlhttp://fox.2ch.net/test/read.cgi/poverty/1416286592/
0493デフォルトの名無しさん
2014/11/19(水) 10:56:04.66ID:iBV8dn0c実行しようとしています。
Microsoft Visual J# 2.0 Redistributable Packageをインストールして、
VJSharpCodeProvider.dllを参照設定しました。
CompileAssenblyFromSourceで
「コンパイラの実行可能ファイルC:\Windows\Microsoft.NET\Framework\v4.0.30319\vjc.exeが見つかりません」
という例外が発生します。
2.0.50727\vjc.exeがインストールされているのは確認しています。
ターゲットフレームワークを4.5にしたまま、CompileAssenblyFromSourceで2.0.50727\vjc.exeを呼び出してもらう方法はないでしょうか。
それとも、もしかしたらJ#4.5ランタイムなんてありますか?
または、VJSharpCodeProviderの呼び出し部分だけ
ターゲットフレームワークを2.0に分離して、
メインの4.5から呼び出すなんて方法はないでしょうか。
0494デフォルトの名無しさん
2014/11/19(水) 11:02:05.40ID:G19A4ziz0495デフォルトの名無しさん
2014/11/19(水) 11:38:47.74ID:iBV8dn0c実際には動的に作った関数に引数を渡して
戻り値を取得したいです。
0496デフォルトの名無しさん
2014/11/19(水) 12:06:20.62ID:G19A4zizCSharpCodeProviderならコンストラクタとか構成ファイルで変更できるらしいけど
ttp://msdn.microsoft.com/ja-jp/library/bb537926.aspx
ttp://msdn.microsoft.com/ja-jp/library/bb397730.aspx
この辺はどう?
0497デフォルトの名無しさん
2014/11/19(水) 13:04:38.45ID:iBV8dn0cプライベートメンバでも、コンパイラのパスを格納してそうなものは
見あたりませんでした。
2.0で作ったclassが4.5のobjectに代入できるかは謎なんですが
戻り値はobjectにしたいので、別プロセスにはできなそうです。
0498デフォルトの名無しさん
2014/11/19(水) 16:42:05.87ID:iBV8dn0cJScriptCodeProviderで代替しようと思います。。
0499デフォルトの名無しさん
2014/11/19(水) 18:52:53.89ID:tAkKxqNr0500デフォルトの名無しさん
2014/11/19(水) 18:55:25.53ID:2kRgVtqW標準入出力
0501デフォルトの名無しさん
2014/11/19(水) 19:37:21.65ID:I9gi/U1mTCP とか UDP で作れば片っぽが違うマシンに旅立っても繋がりやすさ NO.1
0502デフォルトの名無しさん
2014/11/19(水) 19:58:40.16ID:xaPWan9p0503デフォルトの名無しさん
2014/11/19(水) 20:07:51.26ID:1Bz1Yo0z0504デフォルトの名無しさん
2014/11/19(水) 20:32:24.80ID:TsL3cNTk今はどうだか知らないが、昔は10kくらいだったような?
0505デフォルトの名無しさん
2014/11/19(水) 20:33:31.55ID:TsL3cNTk10kってのはキュー内のメッセージの数だから関係ない
0506デフォルトの名無しさん
2014/11/19(水) 22:10:31.35ID:1Bz1Yo0zなんか無視して良いんだか悪いんだか微妙な数字だね
0507デフォルトの名無しさん
2014/11/19(水) 23:09:22.45ID:vbfXy5kt0508デフォルトの名無しさん
2014/11/20(木) 19:44:15.07ID:0a5X8QyKassembly getmanifestresourcestreamからアイコンファイルを取得して、コンポーネントのimageに設定するコードが記述されてるファイルがあったのですが、どこに設定したらそのようになりますか?
手動で書くと駄目です。
0509デフォルトの名無しさん
2014/11/20(木) 19:53:42.68ID:0a5X8QyKimageの取得元に自分で作成したクラスのメソッドを記述してました。
どこに設定したら作成したクラスのメソッドを指定できますか?
0510デフォルトの名無しさん
2014/11/20(木) 20:32:12.09ID:xQINjCr80511デフォルトの名無しさん
2014/11/20(木) 21:04:35.35ID:6BfyKu3mdesiner.csに
コンポーネントのImageの右辺に初期値に
メソッドの返り値のストリームが指定されてました。
ここは本来は自動生成だからメソッドは記述されないはず。
0512デフォルトの名無しさん
2014/11/20(木) 22:14:32.34ID:7Knc66tUこの辺使ってるんじゃね?
そのコンポーネント型あるいはそのプロパティのカスタム属性調べてみたら
0513デフォルトの名無しさん
2014/11/20(木) 22:32:33.28ID:6BfyKu3m.net のバージョンは1.1です
0514デフォルトの名無しさん
2014/11/20(木) 22:36:31.59ID:7Knc66tU0515デフォルトの名無しさん
2014/11/20(木) 22:45:52.74ID:nLzkz9Oy0516デフォルトの名無しさん
2014/11/20(木) 23:13:31.81ID:6BfyKu3mすみません。その他のバージョンから1.1が見つかりました。
0517デフォルトの名無しさん
2014/11/20(木) 23:19:14.86ID:6BfyKu3m0518デフォルトの名無しさん
2014/11/20(木) 23:25:39.16ID:6BfyKu3m0519デフォルトの名無しさん
2014/11/21(金) 08:09:36.43ID:ARrBio5e0520デフォルトの名無しさん
2014/11/21(金) 20:55:13.26ID:Djp7SnDKC#で色々とやるにはOSは7がいいですか?8.1がいいですか?
0521デフォルトの名無しさん
2014/11/21(金) 21:10:31.82ID:sFVhtvyZGUIでバイナリを操作するアプリを作りたいんですが、
無料で作る場合、テキストボックスやらリッチテキストで自作しないと無理でしょうか?
会社がお金出してくれるとは思えないので。
0522デフォルトの名無しさん
2014/11/21(金) 21:40:30.35ID:9qrGduC/C# hex editor
とかでググればすぐにわかるから、ソレをそのまま使うなり改良するなりしろ
0523デフォルトの名無しさん
2014/11/21(金) 22:35:42.66ID:WXEJ6dTU案外まともなものが少なかったりもするジレンマ
0524デフォルトの名無しさん
2014/11/21(金) 22:56:00.48ID:sFVhtvyZありがとう。
ちょっと使ってみます。
ライセンスについてもよく分からないので調べてみます。
使い方はエディタというかハードからバイナリデータを取り出してそれを好きに書き換えて戻す。
みたいなことがやりたいのです。
0525デフォルトの名無しさん
2014/11/21(金) 22:57:14.80ID:k/rDFctP0526デフォルトの名無しさん
2014/11/22(土) 00:06:08.47ID:ueGbY8SJメインサポート終わるから新機能は7には来ない
0527デフォルトの名無しさん
2014/11/22(土) 00:08:30.07ID:5z2fCmwl8.1買って9に無料アプデするのがよさげじゃね
日本で無料になるかはしらんけど・・・
0528デフォルトの名無しさん
2014/11/22(土) 00:09:57.88ID:DchdWh810529デフォルトの名無しさん
2014/11/22(土) 00:28:29.28ID:4a8GKnNYわざわざ自分で作らなくても、
フリーのバイナリエディタを使えば?
0530デフォルトの名無しさん
2014/11/22(土) 06:25:54.67ID:82UI3yGTスレ違いは去れ
0531デフォルトの名無しさん
2014/11/24(月) 04:11:18.84ID:JEtDW/4OPictureBox置いたら全然余裕の速さになったw
初歩知らなかったけどそういうものですか?
0532デフォルトの名無しさん
2014/11/24(月) 07:03:48.30ID:JoTzvim70533デフォルトの名無しさん
2014/11/24(月) 09:11:14.39ID:DZ0ISr8h0534デフォルトの名無しさん
2014/11/24(月) 09:17:43.24ID:wCkEdUJAダブルバッファとか言ってるアホは置いといて
ウインドウをドラッグして移動してみろ、当然滑らかに動くだろ?
それと同じことをしてるだけだから
0535デフォルトの名無しさん
2014/11/24(月) 09:25:28.28ID:SGtUfJ6F0536デフォルトの名無しさん
2014/11/24(月) 09:31:12.61ID:Fx9sxyxG0537デフォルトの名無しさん
2014/11/24(月) 11:04:47.56ID:JEtDW/4Oどういうこと?
フォームでもPictureBoxでも同じってこと?
>>536
30fpsが大前提で作ってたけどそう言われるとこだわる必要もないような気がして来た
ただある程度滑らかには動かしたい
0538デフォルトの名無しさん
2014/11/24(月) 12:40:37.20ID:vb0rebZqfpsを気にするレベルなら論外 最優先でウインドウの枚数をカット
理由がないなら 12fpsでも贅沢というもの
0539デフォルトの名無しさん
2014/11/24(月) 12:49:32.87ID:wCkEdUJA0540デフォルトの名無しさん
2014/11/24(月) 12:50:20.95ID:SGtUfJ6F0541デフォルトの名無しさん
2014/11/24(月) 13:57:12.41ID:JEtDW/4Oサンクス
>>539
がっつりコーディングしたいな
平たく言うとシミュレーションゲーム
画面を使わないバックグラウンドの実装は20年近く現職でやってるから勝手がわかるんだけど
リアルタイムの描画ってのが文化が違い過ぎて理解に戸惑ってるw
0542デフォルトの名無しさん
2014/11/24(月) 14:00:07.86ID:SGtUfJ6F0543デフォルトの名無しさん
2014/11/24(月) 14:04:13.99ID:JEtDW/4O0544デフォルトの名無しさん
2014/11/24(月) 14:20:06.68ID:sES7/v6dがっつりコーディングしたいと言いつつ、DrawImageを使ってるところに
矛盾を感じるんですが...
0545デフォルトの名無しさん
2014/11/26(水) 00:04:35.71ID:D8vidME10546デフォルトの名無しさん
2014/11/26(水) 00:35:44.31ID:0Cyde8n4?
なんで仮想ディレクトリが出てくんの?
0547デフォルトの名無しさん
2014/11/26(水) 03:34:05.48ID:FFJq8ibg確証はない
0548デフォルトの名無しさん
2014/11/26(水) 08:11:44.91ID:fYFRlquz仮想ディレクトリな筈も無し。
一つのアプリケーション内でディレクトリ接合して
セッションが引き継げなかったらファッキンだぜ
0549デフォルトの名無しさん
2014/11/30(日) 23:56:56.28ID:bRX/8r4Wたとえば、プロジェクトにAAA.txtというファイルを入れているとします(リソースとしてではありません)。
普通にビルドしたままでは、bin\debugフォルダには実行ファイルだけが出力されますが、
AAA.txtも出るようにしたいです。
よろしくお願いします。
0550デフォルトの名無しさん
2014/12/01(月) 00:03:37.55ID:Ngv08w3l0551デフォルトの名無しさん
2014/12/02(火) 15:05:25.07ID:/PHM9jBI0552デフォルトの名無しさん
2014/12/02(火) 22:21:11.69ID:2ZrIs2MNこの双方向リストの中に入ってる要素はLinkedListNode<T>になってて
ListだとO(n)かかる処理をO(1)で出来るってことだから
今までListで書いてた部分をLinkedListで書き変えようとしてます。
具体的な処理としては
�@リスト内の特定の要素をいったん削除する
�A削除した�@の要素をリストに戻す
ということをやりたいんですが、
�@の削除のためにRemove(hoge)を実行すると
hogeのPreviousやNextがnullになっちゃってて
戻したいとなっても戻すことができません。
どうしたらいいでしょうか?
ちなみにあらかじめPreviousとNextをコピーしておいて
Removeしたあとに設定しなおしてあげようと思ったら
PreviousもNextも読み込み専用で設定はできないみたいです。
さてどうしたもんか・・・。
0553デフォルトの名無しさん
2014/12/02(火) 22:25:53.59ID:e+ByT0s5繋いだり切ったりを自分で自由に制御できないとあまり意味のないデータ構造だ
ほとんどの場合は追加削除が少々多かろうがアクセス効率の悪さのインパクトの方が遥かに大きいから
0554デフォルトの名無しさん
2014/12/02(火) 23:10:09.67ID:CnPIH9clよく知らんが、リストの癖に挿入できないの?
0555デフォルトの名無しさん
2014/12/02(火) 23:15:18.19ID:e+ByT0s5自分でクラス作ってまとめればいいだけ
LinkedListに固執する必要は無いと思うけどね
0556デフォルトの名無しさん
2014/12/02(火) 23:31:06.32ID:2ZrIs2MNやっぱり自作するしかないですかね〜、よし自作しよう!
>>554
元あった場所にO(1)で戻すことができないんですよ
Removeが削除したノードのPreviousやNextを
nullにする意味ってないと思うんですけどね〜。
削除されたあとのリンクを繋ぎ直してくれるだけでいいのに、
余計なことをしてくれちゃうんだからもぅ〜。
0557デフォルトの名無しさん
2014/12/02(火) 23:32:41.69ID:3QX8qldK0558デフォルトの名無しさん
2014/12/02(火) 23:48:56.67ID:d6SeDk/eいやリストから削除したらそのノードの前後はnullになってなきゃおかしいだろ
もぅ〜。じゃねぇよ
一回頭冷やして考えてみろ
どう考えてもnullになっているべきものがnullになっていない方がよくない
そういう変なやり方するの、バグの温床になる未来しか見えないぞ
0559デフォルトの名無しさん
2014/12/02(火) 23:51:55.44ID:CnPIH9cl> 元あった場所にO(1)で戻すことができないんですよ
リストだよな...
0560デフォルトの名無しさん
2014/12/03(水) 00:02:57.45ID:R9vVNGztnullになってなきゃおかしいだろ、とか、どう考えてもnullになっているべきもの、
とか、何一つ理由を説明しないんだなw
今回の件で、nullにせず元々のままにしておくことに価値があることはわかったと思うが、
nullにすることによるメリットと、しないことによるデメリットって何?
リストの方をちゃんと処理してくれれば、要素の参照は余計な処理はしなくていいと思うぞ。
>>559
>リストだよな...
???
0561デフォルトの名無しさん
2014/12/03(水) 00:05:03.43ID:aY14n3X0激しく同意
0562デフォルトの名無しさん
2014/12/03(水) 00:11:27.92ID:1LpQtQp30563デフォルトの名無しさん
2014/12/03(水) 00:12:43.26ID:30/umFES削除された時点で隣は無いんだから。
0564デフォルトの名無しさん
2014/12/03(水) 00:21:26.54ID:SS589RKW0565デフォルトの名無しさん
2014/12/03(水) 00:21:59.01ID:R9vVNGzt削除した要素は、削除したんだからもう不要→不要なものに余計な処理をしないでほしい
削除した要素を今後も利用するから変数に保持しておいた→今後利用するんだから、元の情報を消さないでほしい
百歩ゆずってnullにしたとしても、LinkedListNodeのプロパティがいじれないんだぞ?
俺は双方向リストの機能が欲しいだけなのに、結果として自分で作る羽目になってるこの現状が、
現在の実装の悪さを物語ってるだろ。
0566デフォルトの名無しさん
2014/12/03(水) 00:31:39.82ID:6lRqEEU9ノードに有効無効フラグを設けて、それが向こうなら無いものとして扱うとか?
0567デフォルトの名無しさん
2014/12/03(水) 00:48:23.61ID:30/umFESPreviousとNextをコピーしてあるなら、
LinkedList<T>.AddAfter(LinkedListNode<T>, LinkedListNode<T>) もしくは、
LinkedList<T>.AddBefore(LinkedListNode<T>, LinkedListNode<T>)
でO(1)で戻せるじゃない。
元のPreviousとNextが隣り合ってる保障は無いから、両方保持する必要はないけど。
0568デフォルトの名無しさん
2014/12/03(水) 01:37:27.98ID:R9vVNGzt最初の要素も当然扱う可能性があるわけで(最初の要素のPreviousはnull)、
そうなるとPreviousとNextを両方コピーしておかないといけないです。
効率化のために色々考えてるのに、消される情報のための対応をわざわざ書くのもあれなので、
やっぱり自分で書くことにします。
0569デフォルトの名無しさん
2014/12/03(水) 02:56:14.44ID:XziMqub+隣のノードが維持されてるって保証があれば大丈夫だが、
そんな限定された条件の為にPreviousとNextを残すのは
バグ防止だけでなく、効率面でも筋が悪い
効率を考えるなら、そんなくだらない事にこだわるんじゃなくて、
もっと広い視野でデータ構造を見直すべき
はっきり言って、お前は無能な働き者にしか見えないぞ
0570デフォルトの名無しさん
2014/12/03(水) 07:30:14.85ID:viqlwPrS0571デフォルトの名無しさん
2014/12/03(水) 07:37:45.05ID:2MKvb10JまだC言語の方がマシだ
0572デフォルトの名無しさん
2014/12/03(水) 07:43:41.87ID:TyhAry/M0573デフォルトの名無しさん
2014/12/03(水) 08:07:41.29ID:+Qer/lfY0574デフォルトの名無しさん
2014/12/03(水) 08:15:16.03ID:2MKvb10JSwiftはObjective-Cがあまりに糞なので越えると思うが
0575デフォルトの名無しさん
2014/12/03(水) 08:51:59.38ID:qlwEVjSU0576デフォルトの名無しさん
2014/12/03(水) 09:40:29.11ID:fPX0gkXPありがとうございました。
0577デフォルトの名無しさん
2014/12/03(水) 23:04:57.92ID:zAV2qkhY0578デフォルトの名無しさん
2014/12/05(金) 01:57:09.16ID:6HIwH/LLボックス化してインタフェースを通じた操作をするってこと?
0579デフォルトの名無しさん
2014/12/05(金) 02:13:35.00ID:VFgXqot5具体的に何インターフェイスのことを言っている?
0580デフォルトの名無しさん
2014/12/05(金) 02:28:00.40ID:EnzJRzbZ具体的にこれってのはありません。
別の言い方をすると、ボックス化するまでは、
インタフェースを実装した効果は得られないですよね?ってこと。
値型として使っているかぎりは、
単にその構造体としてしか扱いませんよね?
いかん、すっごいアホな質問になってる気がする。
アホすぎるようでしたらスルーしてね。
0581デフォルトの名無しさん
2014/12/05(金) 07:11:25.81ID:XJlvxsal0582デフォルトの名無しさん
2014/12/05(金) 07:11:30.86ID:f5JIJXMSジェネリックを使って where T : インターフェイス の制約をかければボックス化せずにインターフェイスを通して扱える
0583デフォルトの名無しさん
2014/12/05(金) 08:20:43.90ID:xLezLWr8暗黙的にインターフェイスを実装してるならば普通にメンバーとして実装してるというだけだから
ボックス化とか無関係
明示的に実装して使用する場合はボックス化されるだろう。
0584デフォルトの名無しさん
2014/12/05(金) 08:30:27.09ID:f5JIJXMSインターフェイスにキャストしたらボックス化されるぞ
そりゃそのままの型でインターフェイスのメソッドを呼ぶ分にはボックス化は当然無関係だが、
それは>>580の言うとおりインターフェイスの意味がない
ボックス化を回避しつつインターフェイスによる共通化を実現するにはジェネリックしかない
0585デフォルトの名無しさん
2014/12/05(金) 08:45:10.31ID:f5JIJXMS結局特殊化するときには明示的に型を決めなきゃいけないからね
異なる型を混ぜられないから、インターフェイスにキャストするのに比べると制限はある
0586デフォルトの名無しさん
2014/12/05(金) 19:47:54.88ID:T2y+/3cjおおおお!まさにそういう答えを望んでました。
型パラメータの制約ってやつですね。
いやーそうか。そんなとこで出てくるのか…。
用途はちゃんとあるもんですねぇ。
0587デフォルトの名無しさん
2014/12/05(金) 22:32:37.84ID:umG4WL4p普通に手動特殊化したほうが何倍も性能が出たわ
0588デフォルトの名無しさん
2014/12/06(土) 18:34:02.18ID:T3VPTifq1.
自動実装プロパティには初期値を設定する方法はないのでしょうか?
コンストラクタ内で設定するしかないのでしょうか?
例) private int member{ private get; private set; } = 0 ←こんな雰囲気で書きたい
2.
抽象クラスをメンバに持つ場合、初期化はどのようにすればよいのでしょうか?
例)
abstract class Base {}
class Sub1 : public Base {}
class Sub2 : public Base {}
class Sample {
private Base obj { private get; private set; }
private Sample()
{
obj = new Base(); //←抽象クラスだからインスタンスは作れない
}
}
どなたか教えていただけませんでしょうか
0589デフォルトの名無しさん
2014/12/06(土) 18:41:07.56ID:pXvfqmCtそんなことはテメーで考えろ
というかお前しか決められない
0590デフォルトの名無しさん
2014/12/06(土) 18:41:10.91ID:yTh+Y5T71 C#6.0で出来るようになるらしいよ
2 obj = new Sub1()とかでいいんじゃないの
0591デフォルトの名無しさん
2014/12/06(土) 18:56:54.39ID:M+SBfIts0592デフォルトの名無しさん
2014/12/06(土) 18:59:50.13ID:T3VPTifqそうなるとSampleがSubに依存してしまうのが嫌だったのですが、それしか方法はないのですね
abstract class Base{}
class ConcreatBase : Base {}
class Sub1 : ConcreatBase {}
みたいにして基底クラスを一旦具象クラスにすることにします
ポインタがないのでなんか書きづらい…
0593デフォルトの名無しさん
2014/12/06(土) 19:00:38.72ID:T3VPTifqありがとうございます!ヌルオブジェクトパターンで調べてみます!
0594デフォルトの名無しさん
2014/12/06(土) 19:11:53.06ID:yTh+Y5T7そういうのは普通はコンストラクタで継承クラスを入れるんだよ
class Sample {
private Base obj { private get; private set; }
private Sample(Base b)
{
obj = b;
}
}
Sampleを使う側はSubのことを知っているわけだから
0595デフォルトの名無しさん
2014/12/06(土) 19:31:17.94ID:T3VPTifqもちろんそうするつもりだったのですが、Listを作りたかったのでデフォルトコンストラクタが必要で、
そのデフォルトコンストラクタの作り方に悩んだというのがきっかけでした
0596デフォルトの名無しさん
2014/12/06(土) 19:33:39.92ID:zJoahJjf何故?
0597デフォルトの名無しさん
2014/12/06(土) 19:34:01.49ID:yTh+Y5T7何言ってるのか全然分かんねえ
0598デフォルトの名無しさん
2014/12/06(土) 19:37:51.81ID:OfAf7IQ70599デフォルトの名無しさん
2014/12/06(土) 20:00:19.13ID:T3VPTifqすみません、いま手元にPCがないので試せないのですが、C#ではデフォルトコンストラクタがないクラスの空の配列を作れるのでしょうか?
List<MyClass> list; //MyClassのデフォルトコンストラクタがないとこの記述が許されないのでは
>>598
何種類かの表現形式をもつ小さいクラス群をひとまとめに扱うコンテナクラスをListにつめたいです
例えば、氏名、電話番号、性別をもつ個人情報クラスを作りたい
氏名クラスは抽象クラスで、普通の氏名クラス、ミドルネーム付き氏名クラスみたいな具象クラスがある
電話番号や性別も同様
具体的な個人情報クラスはビルダーパターンとかアブストラクトファクトリーパターンで作る
みたいなことがしたかったです
0600デフォルトの名無しさん
2014/12/06(土) 20:06:08.80ID:1MG24EwX少しは試してみたかい
ideoneとかでもいいけど
0601デフォルトの名無しさん
2014/12/06(土) 20:06:09.13ID:bBkhQiuq0602デフォルトの名無しさん
2014/12/06(土) 20:11:25.08ID:1MG24EwXhttp://ideone.com/Zu0kmd
どうかな、俺にはSuccessと表示されているように見えた
気のせいでないといいな
0603デフォルトの名無しさん
2014/12/06(土) 20:12:24.73ID:yTh+Y5T7Listを作っただけじゃclassのインスタンスは作られないからデフォルトコンストラクタなんていらないよ
たとえばclassで配列を作ったら配列はデフォルト値nullで自動的に初期化される
配列の一つ一つに対してインスタンスをnewして埋めていくことが必要
Listでも同じ
0604デフォルトの名無しさん
2014/12/06(土) 20:17:36.09ID:u7G0e/ikジェネリクス使えよ
class Sample<TBase> where TBase : Base, new()
{
private Base obj { get; set; }
private Sample()
{
obj = new TBase();
}
}
0605デフォルトの名無しさん
2014/12/06(土) 20:20:52.79ID:1MG24EwX君たちはこうならないようにハンズオンしようなー
0606デフォルトの名無しさん
2014/12/06(土) 20:31:49.17ID:yTh+Y5T7class Sub1 : public Base {}
public継承とかC++の香りが漂ってくるね
C#だとclassは常にポインタ越しにアクセスするからクラスの配列は実際は
MyClass*の配列になってるんだっていえば分かりやすいのかな
0607デフォルトの名無しさん
2014/12/06(土) 20:51:15.49ID:O2PZNRYp要素のobjにBase以外が入れられないから何も出来なくね?
まあポインタがなくて不便だとか言ってるから参照型を知らないだけなんだろうな
0608デフォルトの名無しさん
2014/12/06(土) 22:03:46.32ID:Bm3Y/sq5ありがとうございます、その通りでC++コーダーです
とてもわかりやすく納得できました
>>607
C++であれば、そこはBaseではなくてBaseのポインタ(参照)を書くんです
でも>>606を参考に調べてみたらC#のクラスインスタンスは、すべてポインタで実装されてることがわかったので納得できました
0609デフォルトの名無しさん
2014/12/06(土) 22:07:01.43ID:7flJVzHjそう名乗っちゃいけないレベルなのでは?
しったか臭が竜巻のように巻き上がってるぞ
0610デフォルトの名無しさん
2014/12/06(土) 22:13:08.19ID:Bm3Y/sq5いえ、C++コーダーであることは問題ないと思います
分からないことだらけで、質問をしてる立場上、しったかぶりはしてないつもりですが、
そう思われたのであれば申し訳ありませんでした
0611デフォルトの名無しさん
2014/12/06(土) 22:41:38.30ID:OfEINIxl何これ
0612デフォルトの名無しさん
2014/12/06(土) 22:53:09.81ID:FWmjRtxd0613デフォルトの名無しさん
2014/12/06(土) 23:07:42.10ID:s6L9xGNJ0614デフォルトの名無しさん
2014/12/06(土) 23:48:26.30ID:1MG24EwXググったらクックパッドのC丼なるレシピが出てきたけど
0615デフォルトの名無しさん
2014/12/06(土) 23:51:37.55ID:1MG24EwXキーワード・・・C#,ゲーム,開発,標準言語,Android,iOS,IoT,Visual Studio,microsoft
0616デフォルトの名無しさん
2014/12/06(土) 23:56:07.94ID:bBkhQiuq0617デフォルトの名無しさん
2014/12/07(日) 02:31:49.91ID:bIs09skj0618デフォルトの名無しさん
2014/12/07(日) 08:11:51.45ID:5ewwReDbhttp://dobon.net/vb/bbs/log3-45/27179.html
正規表現使って変換する必要があるようだ
0619デフォルトの名無しさん
2014/12/07(日) 08:19:23.15ID:4p9g0YXS0620デフォルトの名無しさん
2014/12/07(日) 18:27:23.29ID:o6Pz2B+W0621デフォルトの名無しさん
2014/12/07(日) 19:57:14.58ID:G8GDIK9Tvar uc = @"\u0066";
var c = Convert.ToChar(int.Parse(uc.Substring(2, 4), NumberStyles.HexNumber));
じゃダメなの?
0622デフォルトの名無しさん
2014/12/07(日) 20:08:43.80ID:X8kltGH8 m => ((char)(Convert.ToInt32(m.Groups["code"].Value, 16))).ToString());
まあこんなの
0623デフォルトの名無しさん
2014/12/07(日) 23:57:37.75ID:bIs09skjmって何ですか?
0624デフォルトの名無しさん
2014/12/08(月) 00:26:03.17ID:R649D88+0625デフォルトの名無しさん
2014/12/08(月) 18:47:03.00ID:2wg/kq2l0626デフォルトの名無しさん
2014/12/08(月) 19:28:57.73ID:hRQ2KHZQ>>624-625
やっと理解出来ました
ありがとうございます
0627デフォルトの名無しさん
2014/12/09(火) 16:49:11.03ID:AJ/SHv6Bpublic static explicit operator T (Node node) where T : Component {
return node.GetComponent<T>();
}
と定義して、
((SomeComponent)node).SomeMethod();
みたいな呼び出し方をしたいのですが・・・
0628デフォルトの名無しさん
2014/12/09(火) 17:33:28.06ID:1xcJzOGx無理でしょ。
っていうか、キャストにこだわる意味があるように思えないんですが...
node.GetComponent<SomeComponent>().SomeMethod();
って書くだけじゃん。
0629デフォルトの名無しさん
2014/12/09(火) 17:44:14.17ID:OycEn040{
public abstract void SomeMethod();
}
public static explicit operator NodeComponet( Node<T> node )
{
return node.GetComponent<T>();
}
((NodeComponet)node).SomeMethod();
意味があるのかな?
0630デフォルトの名無しさん
2014/12/09(火) 18:16:14.35ID:Uc1Az9NL0631627
2014/12/09(火) 19:13:38.35ID:AJ/SHv6Bそう書きたくないから聞いてるわけで
((SomeComponent)node).SomeMethod();
node.GetComponent<SomeComponent>().SomeMethod();
長いしダサイしもっと簡潔に書けないかと工夫しています
理想は
(node as SomeComponent).SomeMethod();
ですが、無理なんですよねー、この辺がC#の限界か。
0632デフォルトの名無しさん
2014/12/09(火) 19:20:56.18ID:JUw1fGNB0633デフォルトの名無しさん
2014/12/09(火) 19:26:13.72ID:56meK9wT0634デフォルトの名無しさん
2014/12/09(火) 19:44:13.33ID:i91PBujDそれともC#でゴルフしようとしてるの?
0635デフォルトの名無しさん
2014/12/09(火) 20:39:43.11ID:56meK9wT最近だと流れるようなインターフェイスとかでメソッドを連鎖するのが流行りだし
0636デフォルトの名無しさん
2014/12/09(火) 21:05:19.68ID:GxaISCcb変換とキャストの区別があいまいなのはC#の欠点の一つだろうな。
>>627みたいなのは本来キャストじゃなくて変換(あるいは変換ですらない)だから
こんなのをキャストでやるのは気持ち悪いと感じるのが正常な感覚だと思う。
メソッドの戻り値として取得するようにすべきだろう。
0637デフォルトの名無しさん
2014/12/09(火) 21:07:57.58ID:XK4+vXui0638デフォルトの名無しさん
2014/12/10(水) 08:30:04.83ID:tpatv1akC++/CLIならgenericでもできるよ。
C#が構文を用意してないだけ。
0639デフォルトの名無しさん
2014/12/10(水) 10:28:11.92ID:aW0nYMTM下の書き方が出来れば凄いすっきりする
node->SomeComponent.SomeMethod();
みたいな。->演算子の実装はユーザーが行う。
0640デフォルトの名無しさん
2014/12/10(水) 11:52:52.83ID:Bt3w6SNQ0641デフォルトの名無しさん
2014/12/10(水) 16:44:14.84ID:JsQOTfLL0642デフォルトの名無しさん
2014/12/10(水) 17:28:58.53ID:OLff/u5a0643デフォルトの名無しさん
2014/12/10(水) 17:48:04.39ID:QRvFRn+dnode.SomeComponent.SomeMethod()
キャストでやる必要は全くないよな
0644デフォルトの名無しさん
2014/12/10(水) 20:52:36.64ID:aW0nYMTMジェネリックプロパティも解決策の1つか
0645デフォルトの名無しさん
2014/12/10(水) 21:02:09.15ID:16vmKM480646デフォルトの名無しさん
2014/12/10(水) 23:15:16.14ID:Ru9p+ffq0647デフォルトの名無しさん
2014/12/10(水) 23:16:15.66ID:Ru9p+ffq0648デフォルトの名無しさん
2014/12/11(木) 22:47:16.12ID:c4SrNXUT何をジェネリックでやる余地があるのやら
0649デフォルトの名無しさん
2014/12/13(土) 01:50:46.98ID:y9otNf+T例えば以下のようなkey-valueペアがあったとする。
int[] key = {3, 1, 4, 1, 5, 9, 2, 6, 5, 3};
int[] val = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
keyには同じ値が入る可能性があって、valは単なる順番を表してるだけ。
んで、やりたいことは基本的にはkeyを降順でソートすることなんだけど、
もし同じ値があった場合にどちらが先になるかはランダムにしたいわけ。
まず、これをLINQで解決した例を示しとく。
public static IEnumerable<int> OrderingDescending<T>(this IEnumerable<T> self, Random random)
{
IEnumerable<int> order = Enumerable.Range(0, self.Count());
Tuple<int, T>[] merge = new Tuple<int, T>[self.Count()];
for (int i = 0; i < self.Count(); i++)
{
merge[i] = Tuple.Create(Enumerable.ElementAt(order, i), Enumerable.ElementAt(self, i));
}
return merge.OrderByDescending(tuple => tuple.Item2).ThenBy(tuple => random.Next()).Select(tuple => tuple.Item1);
}
【サンプルコード】
Random random = new Random(0);
val = key.OrderingDescending(random).ToArray();
Console.WriteLine(val.ToStringExtension());
random = new Random(1);
val = key.OrderingDescending(random).ToArray();
Console.WriteLine(val.ToStringExtension());
【実行結果】
{ 5 7 4 8 2 9 0 6 3 1 }
{ 5 7 8 4 2 0 9 6 1 3 }
ちなみにソートされたkeyは
{ 9 6 5 5 4 3 3 2 1 1 }
0650デフォルトの名無しさん
2014/12/13(土) 02:04:02.56ID:y9otNf+TこれをArray.Sortを使って実現したいんだよね。
普通の降順のソートであれば
public class DescendingComparer : IComparer<int>
{
public int Compare(int x, int y)
{
return -x.CompareTo(y);
}
}
っていうのを定義すれば
【サンプルコード】
DescendingComparer descendingComparer = new DescendingComparer();
//Array.Sort(key, val, descendingComparer);
//Console.WriteLine(key.ToStringExtension());
//Console.WriteLine(val.ToStringExtension());
【実行結果】
{ 9 6 5 5 4 3 3 2 1 1 }
{ 5 7 4 8 2 0 9 6 1 3 }
っていう感じになる。
ここでやっと相談内容!
ランダム性を持たせるためにはどんなComparerを作ればいい?
0651デフォルトの名無しさん
2014/12/13(土) 02:19:39.34ID:dyRngJUX0652デフォルトの名無しさん
2014/12/13(土) 03:10:36.80ID:y9otNf+Tそう思って書いた以下のコードなんだが・・・
public class DescendingRandomComparer : IComparer<int>
{
public int Compare(int x, int y)
{
return x == y ? Form1.random.Next(2) * 2 - 1 : -x.CompareTo(y);
}
}
自分のデータでやると落ちるんだよね^^;
ちなみにメッセージは以下
追加情報:IComparer.Compare() メソッドから矛盾する結果が返されたため、
並べ替えできません。値をそれ自体と比較したときに等しい結果にならないか、
またはある値を別の値と繰り返し比較したときに異なる結果が生じます。
同じデータに対してLINQ版は正常に動作するから、
Comparer版はどっかロジックに穴があるはずなんだよね^^;
0653デフォルトの名無しさん
2014/12/13(土) 03:57:05.57ID:3ehKG0WS他の言語ではたいてい、Math.random だよ
0654デフォルトの名無しさん
2014/12/13(土) 05:11:59.58ID:Ln23jMW6C#使ったことないなら黙ってろよボケ
0655デフォルトの名無しさん
2014/12/13(土) 06:06:30.85ID:jrsNMnhJ最悪ソートが完了しない可能性は?
0656デフォルトの名無しさん
2014/12/13(土) 06:11:39.32ID:LmsGKyNP0657デフォルトの名無しさん
2014/12/13(土) 06:12:12.88ID:zlOWmko4どうでもいいけどLinq版のコードひどいぞ
何回列挙走らせてるんだよ
var buff = self.ToArray();
var order = Enumerable.Range(0, buff.Length).ToArray();
return buff
.Zip(order, (x, y) => new { Key = x, Value = y })
.OrderByDescending(x => x.Key)
.ThenBy(x => random.Next())
.Select(x => x.Value);
0658デフォルトの名無しさん
2014/12/13(土) 06:39:16.69ID:/UEpnQ1u0659デフォルトの名無しさん
2014/12/13(土) 06:41:43.34ID:4Dj8qcBVコードをそのまま手元で動かしてみたが落ちないぞ?
[9, 6, 5, 5, 4, 3, 3, 2, 1, 1]
[5, 7, 8, 4, 2, 9, 0, 6, 1, 3]
なにが違うんだ?
0660デフォルトの名無しさん
2014/12/13(土) 06:46:39.61ID:/UEpnQ1u0661デフォルトの名無しさん
2014/12/13(土) 06:54:24.75ID:4Dj8qcBVRange() で 10000 回、Range().AsParallel() で 10000 回動かしたけど大丈夫だ
結果も 652 の期待通り、同じ key だとランダムで変わる
違う可能性があるのは自前の ToStringExtension() くらいかなぁ・・・
0662デフォルトの名無しさん
2014/12/13(土) 07:11:43.32ID:/UEpnQ1u4.5.1なら発生しなくて2.0だと落ちるっぽい
あと同じ引数だと試行回数増やしても例外の発生数が変わらないから結果をキャッシュしているのかも
0663デフォルトの名無しさん
2014/12/13(土) 07:15:22.49ID:gLkCckxe何が違うんだと質問し出す低脳、
しかも指摘されても質問を続ける馬鹿は死んで欲しい
0664デフォルトの名無しさん
2014/12/13(土) 07:54:44.05ID:jrsNMnhJキチガイはすっこんでろ
0665デフォルトの名無しさん
2014/12/13(土) 09:15:04.83ID:v1msXK9g実行時までこんなチェックしてくれるの? スゲーな JITかも知れんけど
0666デフォルトの名無しさん
2014/12/13(土) 09:15:52.27ID:wHnW1l6n素直にソートしてから同じ値の範囲を並び替えるか
GroupByでまとめて内部をシャッフルしろ
0667デフォルトの名無しさん
2014/12/13(土) 09:22:26.40ID:wHnW1l6n事前にTupleとかでランダムな値を付加して、それを比較条件に加える
0668デフォルトの名無しさん
2014/12/13(土) 10:33:55.74ID:mHa+tLkbこういうのは大小比較の基準側でやるんじゃなくて
新たなソートアルゴリズムを定義するんだよ。
class Baka {
IEnumerable<T> OreSort(this IEnumerable<T> list, IComparable<T> comp);
}
0669デフォルトの名無しさん
2014/12/13(土) 11:32:42.84ID:y9otNf+T>>655
ソートを完了することができなくて落ちてるんでしょう。
>>656
Comparerで対応することができないなら、
「Array.Sortによってランダム性を持たせたソートはできない」
っていうことかな?
それならそれでいいんだけど、ほんとにできない?
>>657
どうでもよくない、コードの最適化は大歓迎だわ。
そもそも今回のLINQ版→Array.Sort版を検討してるのは
自分で作ったLINQ版が遅いからだったんだよね^^;
ちょっとこれからおまえのコードの速度をチェックしてくるわ
逆にいえばArray.Sortにこだわる必要は本来はなくて、
「ランダム性を持たせたソートで一番高速な手法は?」
というのが今回の相談の一般形。
それがLINQであろうとArray.Sortであろうと第3の手法であろうと大歓迎。
0670デフォルトの名無しさん
2014/12/13(土) 11:34:31.42ID:y9otNf+Tどういうこと?
具体的な実装で示してくれる?
keyのGetHashCodeに、ランダム性を持たせるがkeyに対して一意のハッシュ関数を定義するとか?
>>659
自分でも確認したが>>649のデータでは発生しないみたい。
>>660の言うとおりたまたま動いただけ。
>>661
10000回でも発生しなかったんだ。
ちょっと俺も今デバッグ中で、再現できるデータが得られたらまた報告するわ。
>>662
俺の環境でバージョン情報だしたら4.5.50938って書いてあった
>>666-667
一回ソートしてからさらに同一値のものに対して処理をかけるって遅そうじゃない?
GroupByも遅そう。
Tupleでランダムな値の付与も同一値じゃないところにメモリを使うのでちょっと効率的じゃない。
遅そうというのは単に俺の想像でしかないから実際は速いのかもしれない。
既出の手法よりも効率的ならぜひ教えてほしい。
>>668
肝心の中身が無いじゃねーかw
0671デフォルトの名無しさん
2014/12/13(土) 11:37:29.69ID:1Rys2+MB事前に予測できないが入力が同じなら結果も同じでいいんならIComparerでハッシュ値でも使って比較すればいい
0672デフォルトの名無しさん
2014/12/13(土) 11:50:02.96ID:y9otNf+Tなるほど。
ちょっと要求仕様が明確でなかったみたいなんで補足します。
「ランダム性」はすべてRandomクラスのインスタンスrandom(俺の実装ではForm1に存在)が担っているものとします。
あと、背景についても少し話しておくと、
二人対戦のゲームの思考エンジンを考えてて、
ゲーム木のある深さの局面を評価値でソートするときに、
最善のものを使ってたんじゃ、人間が同じ手を打つと、
コンピュータも必ず同じ手を打って面白くないわけ。
そこで、ランダム性を持たせたいというわけです。
このランダム性はシードを与えることによってユーザーが管理できるものとします。
つまり、シードとして0を与えれば必ず同じ着手系列を打ってくるし、
シードとして1を与えれば必ず同じ着手系列を打ってくるというもの。
ランダム性はboolでオン・オフできるようになってて、
基本はオフにしてあって、この場合には普通の降順ソートを作動させる。
オンにしたときでも、オフの場合に比べて大幅に遅くなるのは問題がある。
ランダム性付与の処理はなるべく最小限に抑えたい。
現状、普通の降順ソートにはArray.Sortを利用している。
>>657からランダム性を抜いたものが速ければそっちに変える。
速さは正義。
0673デフォルトの名無しさん
2014/12/13(土) 11:58:25.02ID:LmsGKyNPそれを踏まえて他のレス読み返して。
0674デフォルトの名無しさん
2014/12/13(土) 12:06:35.59ID:dyRngJUX>A.CompareTo(A) は 0 を返す必要があります
なので、少なくとも値型で同じ値のときにランダムな大小結果を返すのは許されないようだ
まさかチェックされるとは思わなかったが
参照型で別インスタンスなら問題ないかもしれんが
>A.CompareTo(B) が 0 以外の値を返す場合、B.CompareTo(A) は反対の符号の値を返す必要があります。
らしいので、完全にランダムってわけにはいかんかもしれん
ソートは基本的には、比較と交換の繰り返しだから、比較で手を入れられないなら
交換するかどうかをランダムにするソートを自作するのが良いんじゃね
ソートの中身なんてアルゴリズムの本とか探せばいくらでもあるだろ
0675デフォルトの名無しさん
2014/12/13(土) 12:12:58.46ID:dyRngJUX0676名無しさん@そうだ選挙に行こう
2014/12/13(土) 12:20:45.27ID:Z72ySSz8少なくとも、Array.Sort(someArray) は、不安定としっかり書いてある。
だが、不安定だといかんのか?
0677名無しさん@そうだ選挙に行こう
2014/12/13(土) 12:30:01.65ID:dyRngJUXつまり同値の順番が不定なソートって要件ならそれだけで満たしてるなと
同一データに対して、(同値の並び順について)数通りのソートできるようにしたいとかいう
後出しくさい要件はしらんがw
0678名無しさん@そうだ選挙に行こう
2014/12/13(土) 12:33:12.77ID:wHnW1l6n速度・メモリにこだわるんなら自分でソート実装しろよ >>668が正解
0679名無しさん@そうだ選挙に行こう
2014/12/13(土) 12:36:29.06ID:wHnW1l6nArray.Sortの実装は知らんが
0680名無しさん@そうだ選挙に行こう
2014/12/13(土) 12:56:44.06ID:kuX0EG8Y0681名無しさん@そうだ選挙に行こう
2014/12/13(土) 12:59:54.77ID:v1msXK9g追加の説明でますます分からなくなったな
0682名無しさん@そうだ選挙に行こう
2014/12/13(土) 13:03:12.16ID:y9otNf+T俺の中でのArray.Sortの利便性が下がるだけで何も問題ないよ。
LINQさまさまだぜw
>>674
情報thx
Comparerでの対応は不可能ってことか。
ということは>>666の言うように2ステップで
�@普通のソート
�A同じ値のものをシャッフル
という風にするしかないね。
でも�Aの処理でぱっと思いつく
「順番に舐めて前と後をランダムに入れ替え」
だと一般性を失ってしまうね。
つまり、同一の値のものがA,B,Cだったとして
C,A,BとかC,B,Aが生成されなくなってしまう(>>680)。
>>677, >>679, >>681
安定ソートか不安定ソートかはあんまり関係なくて、
最速の普通のソートによって得られた順番と、違う順番のものが欲しい
ということ。
ソートの結果によってコンピュータが打つ手が一意に対応づくんだけど、
普通のソートの結果による着手と強さが変わらない着手を生成するために、
普通のソートの結果とは違うソートの結果が必要なんだ(ちゃんと評価値順に並んでる)。
>>678
まぁ正論なんだが、ちょっと今はパス。
ライブラリを流用したいw
0683名無しさん@そうだ選挙に行こう
2014/12/13(土) 13:07:11.64ID:11C65zvi0684名無しさん@そうだ選挙に行こう
2014/12/13(土) 13:27:02.02ID:dyRngJUXそういう時は、ソートをどうこうするんじゃなくて
評価値の算定を変えればいいんじゃないかね
0685名無しさん@そうだ選挙に行こう
2014/12/13(土) 13:47:12.65ID:3mgTh/5dなんか程度低い流れだなおい
0686名無しさん@そうだ選挙に行こう
2014/12/13(土) 14:04:44.06ID:uQ37H43s0687名無しさん@そうだ選挙に行こう
2014/12/13(土) 14:23:31.58ID:aIxuvf1S0688名無しさん@そうだ選挙に行こう
2014/12/13(土) 14:24:59.03ID:/UEpnQ1u0689名無しさん@そうだ選挙に行こう
2014/12/13(土) 14:27:02.22ID:aIxuvf1Sやりたいことってソートそのものじゃねえだろ
目的と手段の優先順位がなんか違うよなあ
0690名無しさん@そうだ選挙に行こう
2014/12/13(土) 14:29:50.89ID:aIxuvf1S×やりたいことってソートそのものじゃねえだろ
○やりたいことってArray.Sortで目的のソートを実行することじゃねえだろ
0691名無しさん@そうだ選挙に行こう
2014/12/13(土) 14:47:49.95ID:i/Znjmf4全部シャッフル→普通にソート これでは不満なのか?
0692名無しさん@そうだ選挙に行こう
2014/12/13(土) 14:48:45.46ID:i/Znjmf40693名無しさん@そうだ選挙に行こう
2014/12/13(土) 14:55:52.48ID:y9otNf+Tなかなか大変だった。
めったにおこらないレアケースらしい。
逆にいえば、ほとんどの場合、望んでいる振る舞いをする。
以下が落ちるコード。みんなも確認してみてほしい。
public class DescendingRandomComparer : IComparer<int>
{
public int Compare(int x, int y)
{
return x == y ? Program.random.Next(2) * 2 - 1 : -x.CompareTo(y);
}
}
class Program
{
public static Random random = new Random(1);
static void Main(string[] args)
{
int[] key = { -9, -11, -10, -10, -10, -10, -11, -10, -10, -9, -11, -11, -9, -11, -14, -13, -10, -11, -13 };
int[] val = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18 };
DescendingRandomComparer descendingRandomComparer = new DescendingRandomComparer();
Array.Sort(key, val, descendingRandomComparer);
Console.WriteLine(key.ToStringExtension());
Console.WriteLine(val.ToStringExtension());
Console.ReadLine();
}
}
0694名無しさん@そうだ選挙に行こう
2014/12/13(土) 14:59:16.25ID:o7g19RExってするだけだろ?
落ちても文句言えないことをしておいて
何が違うんだと質問し出す低脳、
しかも指摘されても質問を続ける馬鹿は死んで欲しい
0695名無しさん@そうだ選挙に行こう
2014/12/13(土) 15:03:54.48ID:y9otNf+T>>661本人が実行する限り現象が再現しないんじゃ問題意識もてないでしょ。
問題が起きるパターンを提示するのは問題提起した俺の責任だ。
0696名無しさん@そうだ選挙に行こう
2014/12/13(土) 15:13:21.37ID:/UEpnQ1u0697名無しさん@そうだ選挙に行こう
2014/12/13(土) 16:27:37.19ID:4Dj8qcBVあなたが責任を感じることじゃないよ
落ちる現象と、IComparer の結果に一貫性がないことの関連性を確認したかったんだけど、
手元で再現しなかったから、なんでだ? と思ったんだ
なお、>>693 でも落ちなかった、手元は 4.5.1 だから >>662 の言う通りなんじゃないかな
0698名無しさん@そうだ選挙に行こう
2014/12/13(土) 17:25:43.60ID:dyRngJUXターゲットが4.5か4.5.1だとエラー
4以下(4 3.5 3.0 2.0)だとエラーなし
ほかの人と結果逆になってる?
0699名無しさん@そうだ選挙に行こう
2014/12/13(土) 18:30:02.77ID:y9otNf+Tまず、>>657のコードを試してみた。
今までの自分のコードはforループの中でリスト構造の要素位置を
参照するというO(n)の操作をやってしまっていた。
指摘されて確かにこれは無駄だなと思ったんだが、
>>657のコードに変更して実行してみても結果はまったくといっていいほど変わらなかった。
なんで改善しないんだ?と思って色々調べていると以下の記述を発見。
Enumerable.ElementAt
source の型が IList<T> を実装する場合、その実装を使用して、指定したインデックス位置にある要素を取得します。 それ以外の場合、このメソッドは、指定した要素を取得します。
http://msdn.microsoft.com/ja-jp/library/bb299233%28v=vs.110%29.aspx
つまり、O(n)だと思っていた操作は対象がintだったことからO(1)になっていたわけだ。
0700名無しさん@そうだ選挙に行こう
2014/12/13(土) 18:33:51.42ID:D6PKj09G値が同じな場合ランダム値同士を比較した結果を返せばいいだけだろ
0701名無しさん@そうだ選挙に行こう
2014/12/13(土) 18:37:55.46ID:y9otNf+T【純粋ソート】
Array.Sortがやっぱり速い。
自分のソフトのあるベンチマークを走らせてみると、
LINQ版が11.8秒かかるところが、Array.Sort版だと10.3秒で終わる。
なので、ランダム性オフの場合はやはり今後もArray.Sortを利用することになる。
【ランダム性ソート】
Array.Sortはこれまでの議論から達成する手段がない状態。
なので、しかたなくLINQ版を使っている。
しかし、よくよく考えてみれば、
Array.Sort版は例外は発生しているが、ソート結果は望み通りの結果なのだから、
Array.Sortのソースが手に入れば、そこから例外処理を削除すれば、
Array.Sortのランダム性版が達成できるのかな?
VSのバージョンによっては一切エラー吐かないみたいだし、
副作用はなさそう。
そして、とても高速そう。
Array.Sortのソースってどっかから入手できるの?
0702名無しさん@そうだ選挙に行こう
2014/12/13(土) 18:52:41.11ID:aIxuvf1S誰も止めないんだお前たちはひどい奴だ
0703名無しさん@そうだ選挙に行こう
2014/12/13(土) 18:54:59.54ID:RgtXmaIK全体をシャッフルしてからソートって案が出てるだろ
>>701は文盲なの?
0704名無しさん@そうだ選挙に行こう
2014/12/13(土) 18:59:43.53ID:y9otNf+T正しい方向に導いてくれ
>>703
それ、直感的になんだけど、不安定ソートと相性悪くない?
安定ソートだったら良いと思うんだけど・・・。
0705名無しさん@そうだ選挙に行こう
2014/12/13(土) 19:02:21.65ID:8M8PdmNT0706名無しさん@そうだ選挙に行こう
2014/12/13(土) 19:02:32.31ID:y9otNf+T安定ソートは同じ値の中での順番がオリジナルと同一であることが保証されてる。
一方で、
不安定ソートは同じ値の中での順番がどういう並び順になっているかは一切保証されない。
つまり、ある秩序をもった特定の並び方になるかもしれないわけだ。
0707名無しさん@そうだ選挙に行こう
2014/12/13(土) 19:06:27.40ID:zlOWmko4ttp://referencesource.microsoft.com/#mscorlib/system/array.cs,1815
あと>>649のコードだけど、そのまま実行するとこっちの手元では>>657とかなり差が出るんだが
もしかして、実際にはorderをToArray()とかしてたりする?
もしそうなら大した差は出ないはずなのですまんかった
0708名無しさん@そうだ選挙に行こう
2014/12/13(土) 19:06:37.23ID:D6PKj09G乱数生成アルゴリズムに何らかの相関があれば
ソート後の不安定性にある傾向が生まれてくることもあるかもね
まあ相関なんかあるわけないけどね
0709名無しさん@そうだ選挙に行こう
2014/12/13(土) 19:10:22.95ID:90PDXzSI業務でそんなコード見かけたら、書いたやつを張り倒してやりたい
0710名無しさん@そうだ選挙に行こう
2014/12/13(土) 19:18:53.06ID:NhLeKCbv(´・ω・`)
0711名無しさん@そうだ選挙に行こう
2014/12/13(土) 19:20:22.19ID:y9otNf+T出力結果をToArrayしてました^^;
拡張メソッドはいろんなところで使えるんで、
作成するときはより一般的に作るように心掛けてて
IEnumerableで書いてますが、実際はint[]です^^;
ToArrayなければやはり効果があるんですね〜、確認できてよかった。
あなたが>>657のコード書いた人かな?
とりあえず性能は変わらなかったけど、可読性の観点だけからみても
あなたのコードの方がよかったので、置き換えました^^;
性能面でも効果を発揮する場面があるとなれば、なおさらだわ。
とりあえず感謝。
0712名無しさん@そうだ選挙に行こう
2014/12/13(土) 19:43:41.71ID:11C65zviソートで同値なんだから、あと影響される要素は元の並び順以外にないだろう。
「ある秩序」って、いったいどういうものを想像してるのか。
0713名無しさん@そうだ選挙に行こう
2014/12/13(土) 19:59:04.17ID:y9otNf+T直感が先行してるだけでうまく説明できないかもしれないが
�@純粋ソート→同一値のものをシャッフル
�A全体をシャッフル→純粋ソート
たくさんの実験を行った後の、
実験結果の頻度ヒストグラムを想像してみよう。
�@は完全に一様であることが自明だが、
�Aはどうだろうか?
ソートアルゴリズムがクイックソートやバブルソートによって違ったり、
乱数生成アルゴリズムがメルセンヌツイスターやカオス乱数によって違ったり、
直感的に一様であるとは思えない。
ま、一様じゃなくて、特定の分布をもってたとしても、実害はないとは思うんだけどね。
いずれにせよ、これからも色々実験してみる予定。
今まで俺が色々試した中でのアウトプットは
「純粋ソートはLINQよりもArray.Sortを使え!」
ということ。
これからの俺のアウトプットとして
「ランダム性ソートはHogeHogeを使え!」
のHogeHogeは求める予定。
0714名無しさん@そうだ選挙に行こう
2014/12/13(土) 20:14:44.99ID:dyRngJUXつまりお前が言いたい事は
Array.SortはLINQより速い
特殊なソートしたければ自分で作る(何を作るかは考える)
ってことか
もう来なくていいよ
0715名無しさん@そうだ選挙に行こう
2014/12/13(土) 20:20:40.75ID:y9otNf+Tどうやったらそう解釈できるんだよOTZ
評価値いじって改善しろとかいう頭脳だとそうなるんだなw
0716名無しさん@そうだ選挙に行こう
2014/12/13(土) 20:33:44.22ID:wHnW1l6n答えいくつも出てるのによく分からんものを求め続けてる
0717名無しさん@そうだ選挙に行こう
2014/12/13(土) 20:37:44.93ID:11C65zvi乱数の一様性に問題があるなら�@も同様に問題だということがわからないかな?
しかもソートの安定性は関係ないし。まぁ、直感wなら仕方ないか。
0718名無しさん@そうだ選挙に行こう
2014/12/13(土) 20:38:51.62ID:gqZ8fUEZ初歩的なとこでトンチンカンだもん
>>716
そうそれ
0719名無しさん@そうだ選挙に行こう
2014/12/13(土) 20:40:19.62ID:erzIo8nY>�Aはどうだろうか?
教えてやろう
「ソートアルゴリズムが同一の入力に対し常に同一結果を返すか?」
→Noの場合 ならシャッフル以前に目的達成だな
→Yesの場合 一様にランダムなのは自明
わかったらもう来るな。
わからなくてももう来るな
0720名無しさん@そうだ選挙に行こう
2014/12/13(土) 20:48:19.87ID:JEL3H7Tn0721名無しさん@そうだ選挙に行こう
2014/12/13(土) 20:49:46.56ID:aIxuvf1S0722名無しさん@そうだ選挙に行こう
2014/12/13(土) 21:34:45.72ID:y9otNf+Tなにやってんだこいつ?と思うのはわからなくはない、
が、少しでも速いコードにするためには
手段を選ばないというのがこの分野の常識なんだわ。
ボードサイズ8で8回のループするんであれば、
forループ書くよりもべた書きするとかね。
んで、おまえたちは、やりたいことができればいいじゃん、
っていう、そういう考えだよな。違うんだよ俺は。
シャッフルするにもO(n)のオーダーで計算量がかかるだろ?
これをComparerにランダム性あたえて普通にソートさせたらどうなる?
0723名無しさん@そうだ選挙に行こう
2014/12/13(土) 21:37:53.02ID:D6PKj09Gソートにかかる時間の1割程度の違いが体感速度に影響を与えることはない
0724名無しさん@そうだ選挙に行こう
2014/12/13(土) 21:38:51.54ID:gqZ8fUEZこれじゃあどこに行っても孤立するだろうな
0725名無しさん@そうだ選挙に行こう
2014/12/13(土) 21:40:56.22ID:D6PKj09G0726名無しさん@そうだ選挙に行こう
2014/12/13(土) 21:52:47.11ID:y9otNf+T単純計算でn=10として23と比べて無視できると思うのか?
0727名無しさん@そうだ選挙に行こう
2014/12/13(土) 21:55:05.75ID:dyRngJUXそして速度気にするけど言語はC#なんだな
俺の知らない分野だが大変だな
0728名無しさん@そうだ選挙に行こう
2014/12/13(土) 22:03:09.93ID:WIHT6l5Sソートだけにな
ガハハ!
0729名無しさん@そうだ選挙に行こう
2014/12/13(土) 22:04:55.39ID:gqZ8fUEZとか?
アマチュアがめいっぱい背伸びしてるのはヒシヒシ伝わる
0730名無しさん@そうだ選挙に行こう
2014/12/13(土) 22:31:52.23ID:1Rys2+MBアプリケーション的な条件を含めて考えていいんならこんな視野の狭い議論は無駄
そもそも幅優先探索にすればnが大きくなるだろうとか
結局面白い面白くないの問題なんだったらわざわざ探索中の全てのソートで同一値をランダムにする必要はないとか
そんなレベルの話になる
0731名無しさん@そうだ選挙に行こう
2014/12/13(土) 22:37:55.05ID:y9otNf+Tそこに無駄があるからだろう。
無駄だらけなんだから一部の無駄を省いても無駄とかいう議論が無駄
0732名無しさん@そうだ選挙に行こう
2014/12/13(土) 22:42:06.14ID:y9otNf+Tこの分野ではアルファベータ探索が常識。俺はMTD(f)だが。
アルファベータ探索は着手可能手のうち、
どういう順番で探索するかが非常に重要なんだ。
ソートも10秒で一千万から一億程度よばれるので非常に重要。
ランダム性を与えるのは面白くするだけじゃない。
0733名無しさん@そうだ選挙に行こう
2014/12/13(土) 22:45:02.72ID:1Rys2+MB配列から次の手を取り出すときにその次善の手も調べて
評価値が同じだったら同一値を考慮したソートでやり直せ
0734名無しさん@そうだ選挙に行こう
2014/12/13(土) 22:49:11.62ID:aIxuvf1S0735名無しさん@そうだ選挙に行こう
2014/12/13(土) 23:06:34.88ID:+lUWdXlcタッチしている指の数を取得する方法ってありませんか?
0736デフォルトの名無しさん
2014/12/14(日) 00:09:01.24ID:WRu95xzB0737名無しさん@そうだ選挙に行こう
2014/12/14(日) 10:59:03.38ID:igCzp+zoこの(俺の作るプログラム)の分野ではそれが常識なんだろうなあ
0738名無しさん@そうだ選挙に行こう
2014/12/14(日) 11:00:54.58ID:UMMlnOZ8バブルソートは速い?
0739名無しさん@そうだ選挙に行こう
2014/12/14(日) 11:36:53.33ID:Brc3C2R9これは”分野”の人間ではない俺でも知ってる
幅優先探索では起こすことができないαカットとβカットが重要
カットは良い手から順番に探索することで多く発生させることができる
MTD(f)は聞いたことがなかったがウィキペディアによると現在の最速アルゴリズムらしいね
0740名無しさん@そうだ選挙に行こう
2014/12/14(日) 11:51:36.06ID:ivAaTykDそして、カットによって無駄になるThenByの割合はどれくらい?
アルゴリズムの詳細をどうこう言う前に、統計的センスが無い奴は何やっても駄目
0741名無しさん@そうだ選挙に行こう
2014/12/14(日) 12:07:04.39ID:AdYRt8Z20742名無しさん@そうだ選挙に行こう
2014/12/14(日) 12:33:02.00ID:pahiHQ21> 俺は出来るって思ってるタイプの阿保
どうしてもこういう子は出てくるし
そして連投を止めない
不思議なもんだよ
>>741
そういうやつに限ってO記法をそもそも理解できてなかったりね
0743名無しさん@そうだ選挙に行こう
2014/12/14(日) 14:40:41.98ID:3lAcDh6h件数によるだろう
0744名無しさん@そうだ選挙に行こう
2014/12/14(日) 14:43:21.85ID:kAi2SRVOこういうことは 例の彼の分野 以外の奴ならみんな知ってるレベルの話
0745名無しさん@そうだ選挙に行こう
2014/12/14(日) 14:44:24.88ID:OZkARzTA0746名無しさん@そうだ選挙に行こう
2014/12/14(日) 14:47:32.09ID:pd+fXHnp0747名無しさん@そうだ選挙に行こう
2014/12/14(日) 15:23:15.53ID:Twa9q4id0748名無しさん@そうだ選挙に行こう
2014/12/14(日) 15:23:50.23ID:7UFBlXTF0749名無しさん@そうだ選挙に行こう
2014/12/14(日) 19:33:02.76ID:1H8cyXiW0750名無しさん@そうだ選挙に行こう
2014/12/14(日) 19:43:16.95ID:AdYRt8Z2ヒソヒソ(くせー)
0751デフォルトの名無しさん
2014/12/15(月) 05:52:48.14ID:BV1c1+4qめったに同じにならない
指し手に、ある程度のランダム性を持たせるなら、
評価値に、ランダムな数を足したらよい
0752デフォルトの名無しさん
2014/12/15(月) 05:59:00.13ID:+L/AJz6N0753デフォルトの名無しさん
2014/12/15(月) 13:11:11.29ID:fIr2JzQG0754デフォルトの名無しさん
2014/12/15(月) 14:24:46.80ID:/Trcy+Olttp://blog.shos.info/archives/2014/12/cdon.html
0755デフォルトの名無しさん
2014/12/15(月) 14:36:33.31ID:tugqjzyP0756デフォルトの名無しさん
2014/12/15(月) 14:38:23.15ID:k0hijP0Tなんだこりゃ
0757デフォルトの名無しさん
2014/12/15(月) 14:40:25.95ID:OSQLBHqM逆でしょ。
将棋みたいな複雑なゲームでは手の採点なんかどうせ大雑把にしかできない。
できないはずの精密採点を返す評価関数なんか、本当は1の位までの精度しか持ってないのに
1/10の位まで表示するような計測器と同じでむしろ有害。
0758デフォルトの名無しさん
2014/12/15(月) 15:02:29.56ID:x1tnaevV被写界深度浅すぎて気持ち悪い
ゲロ吐くかと思った
軽いテロ行為だわ
0759デフォルトの名無しさん
2014/12/15(月) 17:38:49.57ID:Wa+r9Mlq公務員が急に盆踊りしだしたようなムードあり。
0760デフォルトの名無しさん
2014/12/15(月) 20:25:15.40ID:W5/wIytjまず「分野の人」>>649のデータが円周率であることに萌えた
それはいいとして、分野の人の要求って機能を満たすコードが欲しいんじゃなくて、
最速のコードが欲しいんだよな
機能を満たすコードはLINQ版として>>649に既にあるわけだし
>>753
それ本当に答えか?
へたしたらLINQ版より性能悪いんじゃないか?
0761デフォルトの名無しさん
2014/12/15(月) 20:33:47.26ID:tugqjzyP0762デフォルトの名無しさん
2014/12/15(月) 20:45:39.43ID:bP9agA8aアホが苛められてただけにしか見えないがw
0763デフォルトの名無しさん
2014/12/15(月) 22:04:20.54ID:yKKmsjBRttp://www.codeproject.com/
日本語でこういうサイトってない?
それともみんなGrapcityのツールとか使ってるの?
0764デフォルトの名無しさん
2014/12/15(月) 22:07:12.33ID:aer3P+Xr0765デフォルトの名無しさん
2014/12/15(月) 22:10:48.42ID:x1tnaevV俺はGrapcityのツールとか使ってない
0766デフォルトの名無しさん
2014/12/15(月) 22:29:48.80ID:YzD2lZh50767デフォルトの名無しさん
2014/12/15(月) 22:55:26.25ID:zp/a3var確かにこのサイトの検索は使いにくいと
思うが、俺の知る限りここより充実
しているサンプルコード入手出来るサイトはないぞ。
0768デフォルトの名無しさん
2014/12/15(月) 22:58:49.13ID:9tEnsivf0769デフォルトの名無しさん
2014/12/16(火) 07:58:31.23ID:Gxylz/Swここかな
http://codezine.jp/
いぜんより活気が・・・
0770763
2014/12/16(火) 23:45:44.54ID:BYKiLsBZttp://codezine.jp/も時間作って見てみる。
みんなありがと!
0771デフォルトの名無しさん
2014/12/16(火) 23:49:21.08ID:BYKiLsBZ昔の文化社?の時は、VBで入れる男、何とかレポート、グリッド?とか社内の別チームが使ってた。
スレが全然活気ないんだけどw
ttp://peace.2ch.net/test/read.cgi/tech/1196634098/
0772デフォルトの名無しさん
2014/12/17(水) 00:20:31.02ID:GxR8d4Z7うちは同価格の作業量じゃ絶対に作れないから素直に使っているけど
0773デフォルトの名無しさん
2014/12/17(水) 07:55:02.66ID:N9O75ow60774デフォルトの名無しさん
2014/12/17(水) 11:48:15.42ID:Q38dn9K3csvで吐き出すんでExcel使って自分で加工してくださいの方がお互い便利だったりw
0775デフォルトの名無しさん
2014/12/17(水) 14:11:14.07ID:qAO+qhEeお金払ってソースコードを買うって言うサイト?
サイト使ったことない俺に教えろください
0776デフォルトの名無しさん
2014/12/17(水) 14:41:49.53ID:M4DlxzNU0777デフォルトの名無しさん
2014/12/17(水) 18:43:15.08ID:qAO+qhEehttp://www.codeproject.com/
とか
http://codezine.jp/
に決まってるだろjk
0778デフォルトの名無しさん
2014/12/17(水) 18:53:11.82ID:GxR8d4Z70779デフォルトの名無しさん
2014/12/17(水) 18:56:38.17ID:4dhjoV5e英語の方だけど、ソースを公開するからみんなどんどん使ってねって人達のコミュニティーだよ
無料だから使わないと損だよ
0780デフォルトの名無しさん
2014/12/17(水) 19:08:03.39ID:BchJU/pTそれ以降使ってない
改善されたんだろうか
0781デフォルトの名無しさん
2014/12/17(水) 19:52:43.01ID:SgFsfj0xStack Overflow日本語版立ち上げって記事が気になったが、未だ蓄積がなくて今後期待だね
0782デフォルトの名無しさん
2014/12/17(水) 21:13:28.53ID:qAO+qhEe聞いた方がはやいだろ
会社にいるよな、すぐ聞くなググレカス的なやつ
そういうやつはだいたいコミュ障
コミュ的にも効率的にも知ってる人に聞いた方がいい
>>779
サンキュー
インターネット創世記ってヤフーに代表されるようにディレクトリ検索が主流だったよね
つまり、こういう情報がほしければこういうのがあるよ、っていう知識の集合体
こういう使い方も悪くは無いんだけど、しばらくしてグーグル的な関連度合いによる検索が抜き去って行ったわけだ
コード資産という観点についても使い勝手は一緒だと俺は思う
つまり、前者のようなcodeprojectよりも後者のようなstack overflowの方が使いやすい
現に俺はstack overflowには大変にお世話になっているが(英語版)、
codeprojectの方は名前も知らなかった。
stack overflowの日本語版には大いに期待!
よーしパパたくさん投稿しちゃうぞーーー!!!
0783デフォルトの名無しさん
2014/12/17(水) 22:25:15.57ID:BchJU/pT0784デフォルトの名無しさん
2014/12/18(木) 17:58:49.52ID:/+kNZ4OK銀座線の溜池山王駅だな
0785デフォルトの名無しさん
2014/12/18(木) 18:24:16.38ID:XJknmosZ参照DLLのパスを指定できますが、
これは以下に示すDLL検索パスの優先順では何番目になるのでしょうか?
http://msdn.microsoft.com/ja-jp/library/7d83bc18.aspx
0786デフォルトの名無しさん
2014/12/18(木) 18:50:52.68ID:PQOqx8CMアセンブリの検索順はこっち
ttp://msdn.microsoft.com/ja-jp/library/yx7xezcf.aspx
0787デフォルトの名無しさん
2014/12/18(木) 19:11:00.19ID:XJknmosZおお、まさに欲しかった情報です。
ありがとうございました。
0788デフォルトの名無しさん
2014/12/19(金) 21:24:44.39ID:5dTMV7SU>>713読めば彼の理解度が著しく低いのは自明
0789デフォルトの名無しさん
2014/12/19(金) 22:00:55.80ID:gxnXe4ct0790デフォルトの名無しさん
2014/12/20(土) 00:57:34.75ID:GCXR4Qyt0791デフォルトの名無しさん
2014/12/20(土) 09:15:44.31ID:7MQUqIu7速度重視するなら最初からC++
仕様が満たされればそれでよい
というのは極端だが汎用性の高いライブラリを使う時点で
多少なりとも速度を犠牲にしてるのは事実
性能上げたければ自分で書くのは鉄則
0792デフォルトの名無しさん
2014/12/20(土) 09:26:57.20ID:S2toCwjvC#で書ける領域のプログラムはC#で書くものです。
C++でしか書けない所のみをC++で書くのが普通で、
どちらを採用するか迷うこと自体が変です。
0793デフォルトの名無しさん
2014/12/20(土) 09:35:06.22ID:X07PD7a1今は少しでも時間がかかる処理は裏でやるのが当たり前だから起動時間ぐらいしか差がつかない
本当にヘビーな処理はGPUにオフロードできるし
0794デフォルトの名無しさん
2014/12/20(土) 09:38:30.65ID:cUhMXe+F> 汎用性の高いライブラリを使う時点で
> 多少なりとも速度を犠牲にしてるのは事実
それ以前に、ちょっとしたものでもオブジェクトとして動的に生成する言語仕様だしね
0795デフォルトの名無しさん
2014/12/20(土) 10:55:44.90ID:7MQUqIu7なにも俺は全部をC#でとかC++でとか言ってないぞ
おまえの言うとおりの意見
C++よりもC#は生産性・保守性・可読性で優れているから
基本的にはC#で開発すべきだけど
高速性に関してはやはりC++にかなわない
高速性が必要な部分はC++で書いてDLL化するなりして
全体最適すればよい
分野君が速度を重視してソースに手を出そうとしてるのは
正しい方針だと思うが、そこまでするんだったらC#にこだわるよりも
C++で書いてDLL化した方がいいんじゃないかって思ったわけ
0796デフォルトの名無しさん
2014/12/20(土) 11:21:49.31ID:iCAihzYcアルゴリズムを改良していくことが重要(というか、改良自体を目的としている場合がほとんど)なので
極端に遅い言語でない限りは生産性の方が重要だろう
小手先の最適化という面でも、並列化効率とかメモリアクセス局所性とか
言語を変える前に考慮すべきことはいくらでもある
0797デフォルトの名無しさん
2014/12/20(土) 12:39:54.05ID:RTFB0Y7lアルゴリズムの実装の難しさなんて言語間でそんな変わりゃせん
C#を選ぶのはライブラリの質とか
C++のように複雑ではないので「ヘボでも落とし穴に落ちにくい」とか
規模が大きくなっても破綻しにくいとかそんなんで
スキルのある人間が規模の小さいAIを作るってんならそんな変わりゃしねえわ
0798デフォルトの名無しさん
2014/12/20(土) 12:42:20.77ID:2aglBm+n初心者が勉強するにはいいんじゃね?
0799デフォルトの名無しさん
2014/12/20(土) 12:57:22.91ID:iCAihzYc同じものをC++で同じように書き直しただけで大幅に速くなるんならその通りだね
ただ個人的な経験としては実際にはそうでないケースが多くて、C++で速くしようとすれば
それだけソースが(アルゴリズムとは本質的に関係ないところで)複雑になるわけ
だから、アルゴリズムが安定していないのであればあまりメリットはないよ、という意味のつもりだった
0800デフォルトの名無しさん
2014/12/20(土) 13:01:15.76ID:RTFB0Y7lC#からC++にするだけで中央値で2倍ぐらいは速くなるだろう
Monoからだと4倍って書いてあるぞ
http://cdn-ak.f.st-hatena.com/images/fotolife/k/kwatch/20100429/20100429184937.png
0801デフォルトの名無しさん
2014/12/20(土) 13:16:42.90ID:iCAihzYc処理によってはそうかもね(特にベンチに使われるようなC++でも手動最適化の余地がないほどシンプルな処理なら)
まあ実際に移行を検討するとなると、まずは当然自分の用途に合ったベンチマークを自分でやるだろ?
他所からそういうの持ってきてどっちが速いだのというのはナンセンスだ
0802デフォルトの名無しさん
2014/12/20(土) 13:27:58.29ID:cUhMXe+F> それだけソースが(アルゴリズムとは本質的に関係ないところで)複雑になるわけ
ならないよ、なぜなると思った?
0803デフォルトの名無しさん
2014/12/20(土) 13:29:44.14ID:RTFB0Y7lまあベンチ取ったりボトルネックを探り出したり改善策を考えたりする前にC++で書いてしまった方が速いと思うけどな
速度が必要な時にわざわざC#に拘るのはアホらしい
0804デフォルトの名無しさん
2014/12/20(土) 13:31:13.78ID:iCAihzYc自分の経験だね
C++で書きなおしてみたらJavaより遅かったから、Javaより速くなるように工夫したら酷いコードになったわ
0805デフォルトの名無しさん
2014/12/20(土) 13:39:29.34ID:lM5J0IEh0806デフォルトの名無しさん
2014/12/20(土) 13:41:43.02ID:cUhMXe+F>>794 とか、オブジェクトにいろんな情報抱えてたりするし
Enum の表示名とか
>>804
それは単にあんたの能力の問題かと
0807804
2014/12/20(土) 13:41:53.39ID:iCAihzYc実際にその余地を活かすのはコードの工夫と測定による努力だと思ってる
並列化とかだって一緒だよ
0808デフォルトの名無しさん
2014/12/20(土) 13:47:15.57ID:X07PD7a10809デフォルトの名無しさん
2014/12/20(土) 13:48:22.39ID:iCAihzYcEnumは型情報すら持ってない単なる数値だぞ
Enumに限らず値型のインスタンスは純粋な値で、メタデータの類は一切持たない
Enumの表示名はEnumの型が持ってる
クラスのインスタンスでも型情報は型のidを持ってるだけだ
0810デフォルトの名無しさん
2014/12/20(土) 14:17:49.81ID:Vy3Jn/8a0811デフォルトの名無しさん
2014/12/20(土) 14:18:44.41ID:qyYbVqEqC#を使う利点があると思う人のみC#にすればいい
それだけのこと
0812デフォルトの名無しさん
2014/12/20(土) 14:24:30.81ID:RTFB0Y7lstackが正しい値を保っているかチェックしているような感じがあるけど
よく分かんねえ
結局ジャンプの飛び先が書き換えられないようにチェックするためには
二倍のコストを許容するしかないんじゃないのかっていう気がする
0813デフォルトの名無しさん
2014/12/20(土) 14:28:30.21ID:iCAihzYc同じenum型で値も同じなら名前は同じで、式の型はコンパイル時に確定してるんだから、
名前を取得するのには値さえあれば十分だろ?
値に対応する名前をリフレクションで探してるんだよ
Objectなどにキャストしたらコンパイル時に型が決まらなくなるけど、その場合はボックス化する際に型情報(型のid)が付く
0814デフォルトの名無しさん
2014/12/20(土) 14:38:08.45ID:S6lW4VjX0815デフォルトの名無しさん
2014/12/20(土) 15:09:10.57ID:gF+KxDtE0816デフォルトの名無しさん
2014/12/20(土) 17:44:18.56ID:Dimax1640817デフォルトの名無しさん
2014/12/20(土) 22:05:39.26ID:WZq8/1Oiどちらの言語が良いかは別として、2014年現在ではC#の方が圧倒的に開発しやすい。
また、C#は雰囲気としてC++よりJavaに近い。
0818デフォルトの名無しさん
2014/12/20(土) 22:14:56.13ID:iCAihzYcC#分かってたらC++はわりととっつきやすいぞ
値型と参照型のあたりを正しく理解できてればC++もポインタや参照も自然に受け入れられるはず
0819デフォルトの名無しさん
2014/12/20(土) 22:19:08.52ID:RTFB0Y7l結局は何のことかわからないままだと思うがなあ
0820デフォルトの名無しさん
2014/12/20(土) 22:21:25.82ID:d1YBvdMg値型参照型はむしろ、スタックとヒープの知識の話だと思うが。
ポインタのポインタ、みたいな発展は参照には無いんだし。
0821デフォルトの名無しさん
2014/12/20(土) 22:22:44.33ID:RTFB0Y7l値型メンバはヒープに作られたりするわけでなあ
0822デフォルトの名無しさん
2014/12/20(土) 22:25:40.32ID:zmiGyoK6スタック上の値型への参照、なんてありえないし、
そこがポインタとは違うところ。
0823デフォルトの名無しさん
2014/12/20(土) 22:30:00.21ID:iCAihzYcローカル変数をrefやoutで渡すのがまさにそう
0824デフォルトの名無しさん
2014/12/20(土) 22:31:04.63ID:iCAihzYc0825デフォルトの名無しさん
2014/12/20(土) 22:34:35.12ID:yzMYZcu0あくまで、ポインタと参照(型、っていうべきだったかな?)との違いを言いたかっただけだから
0826デフォルトの名無しさん
2014/12/20(土) 22:38:29.09ID:RTFB0Y7l*をつけなくてもアクセスできるか出来ないか
その辺りはシンタックスシュガー上の問題
0827デフォルトの名無しさん
2014/12/20(土) 22:41:25.96ID:iCAihzYc参照そのものを明示的に値として扱うこと(ポインタやC++でいう参照)とその演算くらいだよね
0828デフォルトの名無しさん
2014/12/20(土) 23:16:54.31ID:GCXR4Qytまだよく理解できてない
0829デフォルトの名無しさん
2014/12/20(土) 23:31:28.03ID:7MQUqIu7●オープンソース化
●C#によるObjectiveCとJavaの二重開発終了
について語ろうかw
0830デフォルトの名無しさん
2014/12/21(日) 00:58:34.71ID:icy8S1uxいや、俺はメモリの話が読みたい…
(´・ω・`)
0831デフォルトの名無しさん
2014/12/21(日) 08:21:09.98ID:gFfzpUQEusing (Stream stream = File.OpenWrite(filename)) {
using (XmlWriter xw = XmlWriter.Create(stream)) {
DataContractSerializer dc = new DataContractSerializer(typeof(GraphicsPath));
dc.WriteObject(xw, path);
}
}
これでGraphicsPathをシリアライズしてXMLで書き出すとちゃんと書き出せているのですが、これを
GraphicsPath gp = new GraphicsPath();
using (Stream stream = File.OpenRead(filename)) {
using (XmlReader xr = XmlReader.Create(stream)) {
DataContractSerializer dc = new DataContractSerializer(typeof(GraphicsPath));
gp = (GraphicsPath)dc.ReadObject(xr);
}
}
でデシリアライズしようとすると、ReadObject(xr)の所で
>型 'System.ArgumentException' のハンドルされていない例外が System.Drawing.dll で発生しました
>追加情報:使用されたパラメーターが有効ではありません。
と実行時例外が出て止まってしまいます。GraphicsPathはデシリアライズ出来ないのでしょうか?
0832デフォルトの名無しさん
2014/12/21(日) 08:32:22.51ID:giCb3w8x0833デフォルトの名無しさん
2014/12/21(日) 08:39:00.89ID:gFfzpUQEあーやっぱりそうですか・・・・
じゃあ、GraphicsPathを何らかの方法で書き出してまた読み込むのに
最も現実的な方法はどうすればいいのでしょうか?
PathData pd = path.PathData;
として、pd.Pointsとpd.Typesを自力で読み書きするしかないですか?
0834デフォルトの名無しさん
2014/12/21(日) 09:09:10.31ID:giCb3w8x0835デフォルトの名無しさん
2014/12/21(日) 09:10:38.09ID:NQggE8I7何とかやってみます
無理にシリアライザを利用しようとするのが間違いだったようです
0836デフォルトの名無しさん
2014/12/21(日) 09:25:40.18ID:giCb3w8xpublic class Hoge
{
public FillMode FillMode {get;set;}
public PointF[] PathPoints{get;set;}
public byte[] PathTypes{get;set;}
}
とか定義してシリアライザー使用時に間にかませろってことだよ?
0837デフォルトの名無しさん
2014/12/21(日) 10:38:39.88ID:NQggE8I7そういう事か
Listに打ち込もうとしてました
それで行きます
0838デフォルトの名無しさん
2014/12/21(日) 10:48:26.99ID:DX6UP5BmLINQ to XML使って手で読み書きするのと大差ないけどな
シリアライザを使うメリットはDRYのただ一点であって、
それ以外は変更に弱くなるわ出力されたファイルは扱いづらいわでロクなことがない
XmlSerializerなら綺麗で自由なXMLが吐けるからまあアリだけど
0839デフォルトの名無しさん
2014/12/21(日) 10:53:10.13ID:NQggE8I7http://ideone.com/lXRISt
こんな感じになってちゃんと動きました
LINQ to XMLも挑戦してみます
0840デフォルトの名無しさん
2014/12/21(日) 10:58:02.37ID:NQggE8I7内部ではXmlSerializerを使っているので二度手間なだけみたいなようですけど
0841デフォルトの名無しさん
2014/12/21(日) 11:07:25.76ID:L47kPoEDこのようにXmlSerializerは使用するTypeを全てType[]に入れる必要があるから
DataContractSerializerの方が楽かも
そうでないとデシリアライズ中にエラーが発生する
0842デフォルトの名無しさん
2014/12/21(日) 11:18:29.72ID:DX6UP5BmObject配列やArrayListのデシリアライズで型を教えてやらないといけないのは普通に考えて当たり前
DataContractSerializerでも派生型が不明なままでデリシアライズするのなんか当然不可能
XmlSerializerはXmlArrayItem属性をメンバに付けて派生型を教えてやればType[]に入れる必要はないし
DataContractでも同様に派生型をKnownTypeで教えてやる必要がある
0843デフォルトの名無しさん
2014/12/21(日) 11:44:17.56ID:7WbNxZ9eList<MyType>
0844デフォルトの名無しさん
2014/12/21(日) 11:58:33.24ID:DX6UP5BmMyTypeの派生型が紛れ込んでたらDataContractSerializerでもアウト
0845843
2014/12/21(日) 12:00:03.86ID:7WbNxZ9eDataContractSerializerとの使い分け方がよく分からん
0846デフォルトの名無しさん
2014/12/21(日) 12:09:45.18ID:DX6UP5Bm一時的なデータだからXmlSerializerのようなスキーマの柔軟性はいらないけど
従来のシリアライザくらい強力なほうがいい、でも従来のシリアライザみたいに特定の型に依存するのは困る
ってので生まれたもの
0847デフォルトの名無しさん
2014/12/21(日) 12:16:07.87ID:giCb3w8x0848デフォルトの名無しさん
2014/12/21(日) 12:19:26.94ID:iUF3WCS4自分でパーサー書いて簡易言語作っちゃうよね
0849デフォルトの名無しさん
2014/12/21(日) 12:21:16.65ID:DX6UP5Bmいわゆるシリアライザ(.NET RemotingのシリアライザやWCFのデータコントラクト)とは目的が違う
実際、WCFが導入されて以降にSilverlightやらストアアプリやら新しい.NETのサブセットがいくつか出てるけど
XmlSerializerが省かれた例はない
0850デフォルトの名無しさん
2014/12/21(日) 12:22:44.08ID:7WbNxZ9eなるほど、ありがとう
0851デフォルトの名無しさん
2014/12/21(日) 12:24:20.62ID:iUF3WCS40852デフォルトの名無しさん
2014/12/21(日) 12:30:13.57ID:giCb3w8x問題は配列しか使えないこと
0853デフォルトの名無しさん
2014/12/21(日) 12:31:50.32ID:iUF3WCS40854デフォルトの名無しさん
2014/12/21(日) 12:59:52.62ID:u4V+aSkWwhile(true)
{
int i;
iに関する何かしらの処理
}
この場合、ループが回るごとにint宣言のメモリ割り当てが行われるんですかね?
だとしたら
int i;
while(true)
{
iに関する何かしらの処理
}
の方が効率が良いってことですか?
0855デフォルトの名無しさん
2014/12/21(日) 13:05:44.24ID:YF2cDeZfいえ、すべてに於いて上が同じか優秀です
0856デフォルトの名無しさん
2014/12/21(日) 13:06:28.05ID:gQMH/TzB0857デフォルトの名無しさん
2014/12/21(日) 13:06:38.48ID:giCb3w8x0858デフォルトの名無しさん
2014/12/21(日) 13:40:11.83ID:t1cfeweF人の視点ではスコープが必要な箇所に限定されるだけ後から理解しやすい。
0859デフォルトの名無しさん
2014/12/21(日) 14:10:30.52ID:XZ/0moqW>>854の例だと同じもしくは上の方が良いってことは
上は繰り返しの中でスタックポインタずらしてiを用意してもどしてを繰り返す
下は繰り返す前にスタックポインタをずらしてiを用意しておく
にはならないってこと?Cのauto変数をスタックに積むイメージで考えてるんですが違うのかなあ
0860デフォルトの名無しさん
2014/12/21(日) 14:36:41.41ID:jc9iFlhXiは同時に一つしか存在しないんだから関数全体で一つだけ用意して使い回せばいい
C#ではクロージャの例外があるが、C系言語ではそれが基本だ
0861デフォルトの名無しさん
2014/12/21(日) 17:04:16.23ID:ikKWfd9Pイメージはそれでいいけど、大抵のコンパイラは使い回すように最適化する
下手すると i はレジスタ上にしか存在しないかもしれない
0862デフォルトの名無しさん
2014/12/21(日) 18:50:40.35ID:vluFwW8c0863デフォルトの名無しさん
2014/12/21(日) 18:52:20.89ID:maAqlwH9似てるかどうかわからんが、デリゲートを使う
0864デフォルトの名無しさん
2014/12/21(日) 19:05:54.95ID:vluFwW8cこれですかね?
http://www.atmarkit.co.jp/fdotnet/csharp_abc/csharp_abc_017/csharp_abc01.html
……いや、例えば定積分を計算する関数を作る際、C系だとxの範囲と関数ポインタを
与えて計算するじゃないですか。それと同じようなことがやりたかったんです
0865デフォルトの名無しさん
2014/12/21(日) 19:14:44.09ID:giCb3w8x0866デフォルトの名無しさん
2014/12/21(日) 19:27:02.52ID:mpfXzhYv与えて計算するじゃないですか。
と言われても、自分の常識が必ずしも自分の常識じゃないので
ちゃんと仕様提示してくれ
その関数ポインタは何のためのもの?
別にそんなもの使わずに普通に実装してはダメなのか?
0867デフォルトの名無しさん
2014/12/21(日) 19:27:50.03ID:mpfXzhYv自分の常識は他人の常識じゃない、だ
0868デフォルトの名無しさん
2014/12/21(日) 19:51:52.71ID:mpfXzhYvデリゲート、イベント、ラムダ式、ポリモフィズム が用意されている
0869デフォルトの名無しさん
2014/12/23(火) 01:26:50.63ID:vyb6wmSkせめてC++のテンプレートで静的ダックタイプ程度。
計算式を動的に差し替えるプログラムって
Mathematicaでも作ってんの?
0870デフォルトの名無しさん
2014/12/23(火) 05:57:24.33ID:eMNIdGcp0871デフォルトの名無しさん
2014/12/23(火) 08:06:51.46ID:ATuB6kuL数値積分‥
0872デフォルトの名無しさん
2014/12/23(火) 08:16:42.78ID:3rRE3X2t>>869は元々そのつもりだと思うぞ
任意の式を積分したい状況なんて学生の宿題だけだろ
0873デフォルトの名無しさん
2014/12/23(火) 16:22:42.64ID:W51mY81mそのプロジェクトの全クラスの継承元のクラスに
protected staticメソッドを沢山書いてそれを継承させてるんだけど
他の人のを見るとstaticなユーティリティクラスに
public staticを作ってるのを多く見る。
いちいちUtil.Funcとか書かなくていいからそうしたんだけど
いいよね?
0874デフォルトの名無しさん
2014/12/23(火) 16:26:48.25ID:vvHKlqpRC#6.0でスタティックインポートが入ったら
別クラスのほうが汎用性グッと上がるし手間も変わんなくなるっしょ
だいたいスタティックメソッドをprotectedにする意味なんてあんの
publicでいいじゃん
0875デフォルトの名無しさん
2014/12/23(火) 16:31:17.25ID:zkNCry36>publicでいいじゃん
意味を考えた結果そうなったんだろ。
意味が理解できず形式でしか物事を考えられない
低脳には難しかったかな。
0876デフォルトの名無しさん
2014/12/23(火) 16:41:18.65ID:vvHKlqpRアクセス修飾子で再利用性を下げるべきではない
外部から呼び出すような粒度でない場合はprivateが妥当だけどな
protectedが出てきたらオブジェクト指向という宗教に囚われて
愚かなことをしてしまっていると自覚したほうが良い
0877デフォルトの名無しさん
2014/12/23(火) 16:55:47.64ID:JQ5oTczV馬鹿の考えた意味にどれだけ価値があるのか疑問だ
0878デフォルトの名無しさん
2014/12/23(火) 17:04:24.26ID:gXwWfzsxインターフェースを実装するときには
メソッドに暗黙的にabstractキーワードをつけたことになるじゃないですか。
それと同じようにシールドクラスを実装するときには
メソッドに暗黙的にsealedキーワードをつけたことになりますよね?
public sealed class B : A
{
public sealed override void MyMethod()
{
}
}
この場合MyMethodにsealedキーワードは不要ですよね?
Visual Studio上で上記のように書いても「不要ですよ!」
的なエラーメッセージが出なかったので気になって質問させていただきました。
0879デフォルトの名無しさん
2014/12/23(火) 17:44:45.65ID:eMNIdGcp無駄に煽るなよ低能
ママの愛情が足りなかったのか?
0880デフォルトの名無しさん
2014/12/23(火) 17:47:55.73ID:v4MzS1Ahobj.name = "test" を
obj.ValueOf("name") = "test"
みたいにできたらと思ってるんですが、やっぱ引数使わないと無理ですかね?
今は、obj.Get("name").Value みたいに
Getで取得するパラメーターにvalueインターフェースをつけて実現してます。
0881デフォルトの名無しさん
2014/12/23(火) 17:56:28.17ID:Oyhb+rQ2インデクサならあるけど
0882デフォルトの名無しさん
2014/12/23(火) 18:05:04.65ID:MA8qvbdkそのレスいいね。よそで使わせてもらうわ。
ほんと理解不能にムダな事する奴多すぎ。
0883デフォルトの名無しさん
2014/12/23(火) 18:59:58.24ID:PSJj9mkA0884デフォルトの名無しさん
2014/12/23(火) 20:49:22.45ID:aLQSY5/S> if ((checkString != null) && (checkString.Length != 0))
> if (String.IsNullOrEmpty(checkString) == false)
> このようにString.IsNullOrEmptyメソッドを使うことで、Null&空文字列チェックをシンプルに記述できる。
そうかい?理想はこう… if (!checkString.IsBlank())
つかstringがnull許容型ってちょっと気付かなかった
テキストボックスはnullを空文字変換するようだし
0885デフォルトの名無しさん
2014/12/23(火) 20:52:15.90ID:3/UsXzqc0886デフォルトの名無しさん
2014/12/23(火) 20:52:55.08ID:3/UsXzqc0887デフォルトの名無しさん
2014/12/23(火) 20:55:41.44ID:3rRE3X2tんなことはない
Stringは内部でヒープ上の文字列のポインタを持ってるから文字列は可変長だけど
Stringクラスのインスタンスそのものは固定サイズだ
Stringに限らず、クラスのインスタンスは配列を除いて全て固定サイズ
C#ではあまり無いが、C++だと外からは可変長に見える値型オブジェクトってよく使われる
0888デフォルトの名無しさん
2014/12/23(火) 21:06:26.28ID:3/UsXzqc0889デフォルトの名無しさん
2014/12/23(火) 21:07:07.63ID:3rRE3X2t空文字として振る舞わせるような実装はあり得る
そうしなかったのは、Javaに合わせるためと無駄なボックス化を避けるためだろうね
0890デフォルトの名無しさん
2014/12/23(火) 21:08:37.94ID:aLQSY5/S勝手に理想の言語作れそうだが…そりゃもう凄いやつ
フォームやコントロールは改造したけどあんまりやると同業者に迷惑かもしれんから
このへんは標準で我慢しとくよ
0891デフォルトの名無しさん
2014/12/23(火) 21:11:58.59ID:q8CKri8Q0892デフォルトの名無しさん
2014/12/23(火) 21:20:34.07ID:aLQSY5/S改造=「ユーザーコントロール」でも「カスタムコントロール」でもない派生クラス
同業者=仕事で開発すると、いずれ同業者が仕事で嫌々引き継ぐ
(たまたま現在1人で開発中なので自由に標準化できちゃうが)
0893デフォルトの名無しさん
2014/12/23(火) 21:21:38.06ID:ndvzxwOk0894デフォルトの名無しさん
2014/12/23(火) 21:28:37.64ID:5Uh8vPXz同業者?同僚じゃなくて?
ちょっと言っていることがわからんのですよ…
0895デフォルトの名無しさん
2014/12/23(火) 21:34:39.89ID:1gWRMKD1「自由に標準化」も
さっぱり意味がわかんねえよ…
なんでそんな話になっちゃうの??
0896デフォルトの名無しさん
2014/12/23(火) 21:52:15.02ID:JQ5oTczV高いか低いかは・・・ノーコメント
0897デフォルトの名無しさん
2014/12/23(火) 21:56:03.21ID:ATgZaQzi0898デフォルトの名無しさん
2014/12/23(火) 21:59:08.94ID:gXwWfzsx0899デフォルトの名無しさん
2014/12/23(火) 22:01:53.56ID:5O9NO3ky>メソッドに暗黙的にabstractキーワードをつけたことになるじゃないですか
なりません。
>MyMethodにsealedキーワードは不要ですよね?
そうですね。
0900デフォルトの名無しさん
2014/12/23(火) 22:08:36.34ID:gXwWfzsx回答ありがとうございます。
>>MyMethodにsealedキーワードは不要ですよね?
>そうですね。
やはりそうですよね。
sealedを付与することによって最適化されて効率がよくなるということなので、
もしメソッドの方のsealedを外して最適化が行われなくなったらやだなと思ったんですが、
クラスにsealedを付けてれば、そのクラス内には全部sealedが付与されたことと等価になりますよね。
sealedを付けると最適化される:
http://msdn.microsoft.com/ja-jp/library/ms173150.aspx
>>メソッドに暗黙的にabstractキーワードをつけたことになるじゃないですか
>なりません。
あれ?インターフェースって実体をもたないメソッドの宣言じゃなかったですか?
0901デフォルトの名無しさん
2014/12/23(火) 22:09:52.59ID:3/UsXzqc0902デフォルトの名無しさん
2014/12/23(火) 22:11:40.87ID:vvHKlqpR0903デフォルトの名無しさん
2014/12/23(火) 22:30:32.59ID:gXwWfzsxまじですか!?
ってことはsealedを付与したクラスであっても
最適化のためにはメソッド群に全部sealedを付与する必要がある
ということですね・・・。
望ましい振る舞いとしてはクラスにsealedを付与したらメソッド群には
自動的に全部sealedを付与したことと等価になるべきだと思うので、
これはマイクロソフトに報告した方がよくないですか?
今後のC#のために・・・。
>>902
だから何ですか?
>>899
気になって調べましたが、やはりインターフェースは
メソッドに暗黙的にabstractキーワードをつけたことになります。
http://www.atmarkit.co.jp/fdotnet/csharp_abc/csharp_abc_004/csharp_abc03.html
つまり、実体を持つメソッドは許されません。
0904デフォルトの名無しさん
2014/12/23(火) 22:35:28.43ID:ZhKtxXT7インターフェースはabstractをつけたことになるが、それを実装した実体には付けた事にならない
>>899は後者のことを言ってるはず。
0905デフォルトの名無しさん
2014/12/23(火) 22:37:21.79ID:ZhKtxXT7タイプライブラリは変わるだろうけど。
0906デフォルトの名無しさん
2014/12/23(火) 22:39:14.09ID:3/UsXzqc呼び出し側でcallvirtがcallになるとかでは無いんで、JITがバカじゃなければ影響がないはず
0907デフォルトの名無しさん
2014/12/23(火) 22:41:21.17ID:ETWztIdj>最適化のためにはメソッド群に全部sealedを付与する必要がある
>ということですね
おまえの示した参照先からは
そのような結論になり得ないのだが
0908デフォルトの名無しさん
2014/12/23(火) 22:43:15.56ID:w8fvNum1何の意味があるんだっけ
0909デフォルトの名無しさん
2014/12/23(火) 22:44:52.00ID:D6IlGqYq> これはマイクロソフトに報告した方がよくないですか?
勝手にやっとくれ。
そしてそれ以降の報告はここではなくて個人のブログで勝手にやってくれ。
0910デフォルトの名無しさん
2014/12/23(火) 22:47:44.00ID:vvHKlqpRクラスのメソッドはクラスのメソッドでインターフェースの同名メソッドとは別に存在する
クラスのメソッドがabstractか非仮想かっていうのもそのクラス次第
インターフェースの明示的実装なんかやると別だって分かりやすいでしょう
http://msdn.microsoft.com/ja-jp/library/ms173157.aspx
0911デフォルトの名無しさん
2014/12/23(火) 22:48:14.44ID:gXwWfzsx中間コードをチェックしていただいたようでありがとうございます。
自分も中間コードをチェックできるようになれば話は早いのですが、
まだそこまでスキルがありません。
JITがバカじゃないことを祈りつつ、
自分のコードのメソッド群に全部sealedを付与するのはやめておこうと思います。
(仮に現在のJITがバカだとしても将来のJITは優秀になるはずなので・・・)
>>905,>>907
>シール クラスは基底クラスとして使用できないので、実行時の最適化で、シール クラス メンバーを多少高速に呼び出すことができる場合があります。
という一文があります。
0912デフォルトの名無しさん
2014/12/23(火) 22:49:50.92ID:ZhKtxXT7継承したメソッドに付けて、これ以上継承しない、出来ないようにする為らしい
俺も使ったことないな
0913デフォルトの名無しさん
2014/12/23(火) 22:50:15.68ID:TOFgrQ/A日本語も読めない低脳はもう来なくて良いよ
川俣脳
0914デフォルトの名無しさん
2014/12/23(火) 22:52:18.10ID:3/UsXzqc0915デフォルトの名無しさん
2014/12/23(火) 22:52:19.12ID:ZhKtxXT70916デフォルトの名無しさん
2014/12/23(火) 22:54:35.54ID:JQ5oTczV0917デフォルトの名無しさん
2014/12/23(火) 22:57:43.62ID:w8fvNum1なるほどそういうケースがありうるわけかw
確かに基底クラスでvirtualだと自動的にvirtualになっちゃうから。
0918デフォルトの名無しさん
2014/12/23(火) 22:59:45.53ID:ZhKtxXT70919デフォルトの名無しさん
2014/12/23(火) 23:19:07.95ID:gXwWfzsxあなたたちの言いたいことはなんとなくわかるよ。
クラスをsealedにすれば、
メンバーにsealedが付与されてようが付与されてなかろうが、
関係なく最適化が行われる、
というように読みとれると言いたいんでしょ?
でもこれはMSDNにある「シール クラス メンバー」とは何か?
次第で解釈も変わるじゃんか。
その名の通り、sealedキーワードが付与されたメンバーのことかもしれないし。
だから、マイクロソフトには、不要なものには「不要ですよ!」と警告を出してもらいたい。
interface ITest
{
abstract void MyMethod();
}
これも現在のVSでは「abstractが不要ですよ!」的な警告出ないけど、
警告が出るようにしてもらいたいわ。
0920デフォルトの名無しさん
2014/12/23(火) 23:20:56.79ID:3/UsXzqc0921デフォルトの名無しさん
2014/12/23(火) 23:27:52.64ID:gXwWfzsxすまん、エディタ上で警告(とエラー)が出てなかったから気付かなかった。
ビルドするとエラーになるのね。。。指摘ありがとう。
0922913
2014/12/23(火) 23:29:12.57ID:3wq9WRg2>クラスをsealedにすれば、
メンバーにsealedが付与されてようが付与されてなかろうが、
>関係なく最適化が行われる、
>というように読みとれると言いたいんでしょ?
違うから。
MSDNに書いて有る日本語も読めない低脳は
来なくていいというのに。
0923デフォルトの名無しさん
2014/12/23(火) 23:32:03.64ID:gXwWfzsx自分の意見もろくに言えない奴こそ存在価値ないから来るな
0924デフォルトの名無しさん
2014/12/23(火) 23:39:17.75ID:vkaSmtMb0925デフォルトの名無しさん
2014/12/23(火) 23:51:09.71ID:3wq9WRg2>その名の通り、sealedキーワードが付与されたメンバーのことかもしれないし
国籍は?中国?
0926デフォルトの名無しさん
2014/12/24(水) 00:16:43.92ID:pvTdBCSk「シール クラス メンバー」と言われた時、
普通はsealedキーワードの付与されたクラスのメンバーのことだと思う。
だが、あるクラスのsealedキーワードの付与されたメンバーの可能性も否定はできない。
それに実装上どうなってるかは、マイクロソフト依存だし、MSDNの記載が正しいとも限らない。
その観点で、>>901,>>906の回答が貰えた段階で質問は解決。
C#言語や中間言語ではなくて日本語について議論したいやつがいるみたいだが、
もうね、アホかと。。。
もうちょっと建設的な議論しろよ。
推奨NGワード:低能、低脳、国籍、中国
0927デフォルトの名無しさん
2014/12/24(水) 00:39:23.30ID:ptxGNcBE中国というよりは、チョンだろうね
0928デフォルトの名無しさん
2014/12/24(水) 02:37:23.42ID:jouVg79j0929デフォルトの名無しさん
2014/12/24(水) 02:39:12.96ID:XC0jxcEUvar a = new test();
var b = (Itest) a;
WriteLine(b);
public class test{
public string Get(){return "test";}
}
public interface Itest{
string Get();
}
0930デフォルトの名無しさん
2014/12/24(水) 02:51:07.49ID:tbWeTz1o0931デフォルトの名無しさん
2014/12/24(水) 02:59:03.56ID:c07nCXDthttp://fast-uploader.com/file/6974912912078/
これの問題文の意味がわからないです
リストボックスの中にxやx^2などの1〜100まで変化させた数値をエクセルとして保存する方法のことをいうんでしょうか?
もしそうならその方法がよくわかりません。。
0932デフォルトの名無しさん
2014/12/24(水) 02:59:57.29ID:c07nCXDthttp://www.dotup.org/uploda/www.dotup.org69353.jpg
0933デフォルトの名無しさん
2014/12/24(水) 03:11:23.06ID:XC0jxcEUみかんを揉んで甘くしたいときや、おっぱいを揉みたいとき
果物クラスや人体クラスにI揉むを定義しなければいけないんでしょうか?
それらのオブジェクトはすでに定義されて生成された状態で提供されるので、
変更するのが難しいです。
0934デフォルトの名無しさん
2014/12/24(水) 03:49:55.83ID:IlBhBVXCスレチだよ死ねよ。メリークリスマス!
>>933
> 果物クラスや人体クラスにI揉むを定義しなければいけないんでしょうか?
そうです。ダックタイピングしたいならdynamic使え。メリークリスマス!
>>926が見えなくなりました。メリークリスマス!
0935デフォルトの名無しさん
2014/12/24(水) 07:05:51.97ID:iAWb/cKMデザインパターン的には、そのインターフェースを継承したアダプタークラスを作るとか
0936デフォルトの名無しさん
2014/12/24(水) 08:11:17.47ID:SBMAfTrTclass Aho : Itest {
test o;
public Aho(test o) {this.o = o;}
public String Get() {return this.o;}
}
var b = (Itest) new Aho(a);
0937デフォルトの名無しさん
2014/12/24(水) 10:26:15.91ID:xL1H/xhsおれ素人だけどなんで型推論使うの?
処理おそくならない?
0938デフォルトの名無しさん
2014/12/24(水) 10:33:33.03ID:PztsOEBsinterfaceにこだわらずにFunc<string>とかを受け渡しする、で良いケースもあるな
0939デフォルトの名無しさん
2014/12/24(水) 10:45:40.20ID:B0qw1tPJ0940デフォルトの名無しさん
2014/12/24(水) 11:01:44.75ID:IlBhBVXCコンパイラさんやで
何遍言わしたら気が済むんやこのダーホ
0941デフォルトの名無しさん
2014/12/24(水) 16:03:09.31ID:lBk4luGp0942デフォルトの名無しさん
2014/12/24(水) 20:00:56.76ID:kde12yWR人月ワールドに入ったら吐き気を催すような想像を絶する糞コードばかりだというのに
0943デフォルトの名無しさん
2014/12/24(水) 22:24:49.25ID:83J9p+C4なんかカッコいい響きだな
0944デフォルトの名無しさん
2014/12/24(水) 22:59:46.18ID:TctVZDZ1読むのはどっちでもいいわ
書くのはもうないとダメだけど w
0945デフォルトの名無しさん
2014/12/24(水) 23:16:10.51ID:FNb80HoPクラスのインスタンス化とかにも使えるんだね。
勉強になりやました。
0946デフォルトの名無しさん
2014/12/25(木) 00:59:58.69ID:s/ZpbGN8型推論使わないといけないパタンって、なんかのときの繰り返し文ぐらいだったと思う
0947デフォルトの名無しさん
2014/12/25(木) 03:37:15.58ID:c/bUBZQc0948デフォルトの名無しさん
2014/12/25(木) 06:48:05.41ID:XZW89gFVList<dynamic>とかじゃないちゃんとしたList<匿名型>なんかは
varないとタイプセーフにできないのかな
0949デフォルトの名無しさん
2014/12/25(木) 07:04:19.06ID:hIjBmD/A0950デフォルトの名無しさん
2014/12/25(木) 07:10:39.83ID:dAMLPR9kList<匿名型>とか勘弁してくれ
0951デフォルトの名無しさん
2014/12/25(木) 07:12:31.37ID:I5lYMpbh0952デフォルトの名無しさん
2014/12/25(木) 09:10:04.03ID:KQ7q0pC/var a = new List<Tuple<string,string>>(){
new Tuple<string,string>("こんにちは", "世界"),
new Tuple<string,string>("死ねよ", "クソ虫"),
・・・以下同じ
}
配列の要素のTは書かなくても自明なはずなのに省略できないのが納得できない
0953デフォルトの名無しさん
2014/12/25(木) 09:17:17.71ID:592UL+bA0954デフォルトの名無しさん
2014/12/25(木) 11:43:48.48ID:5xnCRqXR> 配列の要素のTは書かなくても自明なはず
派生してる奴を突っ込むこともあるから
0955デフォルトの名無しさん
2014/12/25(木) 17:26:04.94ID:tMMJu6zmLINQ使えよクソ虫
var a = new[] {
new[] { "こんにちは", "世界" },
new[] { "死ねよ", "クソ虫" }
}
.Select(x => Tuple.Create(x[0], x[1]))
.ToList();
0956デフォルトの名無しさん
2014/12/25(木) 17:53:59.14ID:N1mmNRIO0957デフォルトの名無しさん
2014/12/25(木) 22:16:17.57ID:G5QkmxBIVisual Studioでコマンドプロンプト以外のターミナルを使う方法ってある?
具体的にはcygwinのminttyを指定したい。
0958デフォルトの名無しさん
2014/12/25(木) 22:19:13.74ID:k0rUoxkHとは何ですか?
終端がどうかしましたか?
0959デフォルトの名無しさん
2014/12/25(木) 22:29:21.34ID:c/bUBZQc昔のWindowsサーバにはTelnetサーバの機能があったから、いまでもあるんじゃね
それで好きなTelnetクライアント使えばいいんじゃね
0960デフォルトの名無しさん
2014/12/25(木) 22:40:26.57ID:G5QkmxBIunix系OS使ったことある?
>>959
telnetとかなんも関係ない
visual studioでコンソールアプリケーション作るときに出現するアプリを
コマンドプロンプトから任意のコンソールに変更できないか、って話。
おまえらはコンソールアプリ作ってる時、コマンドプロンプトに使いづらさ感じてない?
まず、上下方向にはなんとか広げられるが、左右方向には広げられなくね?
なんにせよminttyくそ快適だぞ
0961デフォルトの名無しさん
2014/12/25(木) 22:43:07.22ID:N1mmNRIO0962デフォルトの名無しさん
2014/12/25(木) 22:44:42.38ID:vBicrBA8作っているプログラムの実行環境と異なる環境で開発したいとは奇特なひとですね
0963デフォルトの名無しさん
2014/12/25(木) 22:47:17.06ID:G5QkmxBIなんか俺おもしろいこと言った?
コンソールアプリの何がおもしろいんだよ
>>962
環境はなんも変わらない。
使える武器が天と地ほど変わる。
0964デフォルトの名無しさん
2014/12/25(木) 22:47:52.98ID:dAMLPR9k0965デフォルトの名無しさん
2014/12/25(木) 22:52:14.87ID:G5QkmxBIばかかおまえwwwwww
GUIとCUI切り分けてるだけだろjk
ここってこの程度のレベルの連中が集まるとこなの?
もっとギークなやついないの?
初めて来たけど損したわ。
0966デフォルトの名無しさん
2014/12/25(木) 23:00:46.11ID:dAMLPR9k一発実行して終了するコンソールアプリならVSのコンソールの使い勝手なんかどうでもいいはずだから、
対話式のコンソールアプリを作っているのだろうと推測したんだけど、言ってる意味わかる?
俺がGUIとCUI分けるんならGUIから引数付きで単発のコマンドを実行するだけにするね
熟練のUNIX使いなんか特に対話式のコンソールは嫌う人多いよ?
0967デフォルトの名無しさん
2014/12/25(木) 23:14:21.94ID:G5QkmxBI意味わかった。
現在の俺の悩みは
「一行のプリントが長い場合にコマンドプロンプトの仕様で折り返されるが、これがイヤ!」
画面を左右方向に広くして折り返されないようにしたい。
別に対話式コンソールアプリを作ってるわけではないし、
確かに俺も対話式コンソールは好きではない。(interactiveCommand | yesってかんじ)
とりあえずminttyがどれだけカッコイイかリンク貼っとくわ
http://tanakh.jp/img/posts/mintty.png
コマンドプロンプトはこのご時世つかいたくないし、みたくもない。
0968デフォルトの名無しさん
2014/12/25(木) 23:31:26.08ID:rqgePbXPギークって言葉使ってるから痛い高校生だろうけど
0969デフォルトの名無しさん
2014/12/25(木) 23:32:57.47ID:9YkZfv6a0970デフォルトの名無しさん
2014/12/25(木) 23:35:26.79ID:oZl21iAb0971デフォルトの名無しさん
2014/12/25(木) 23:36:56.41ID:TJm+7M940972デフォルトの名無しさん
2014/12/25(木) 23:37:37.11ID:RqhB4oxO0973デフォルトの名無しさん
2014/12/25(木) 23:37:41.08ID:rqgePbXP0974デフォルトの名無しさん
2014/12/25(木) 23:58:34.25ID:rqgePbXP0975デフォルトの名無しさん
2014/12/26(金) 00:02:33.23ID:rmOREM4Xminttyにデバッガを継承してexeを起動する機能があれば
「外部プログラムの開始」でできるでしょ
しかし、これをカッコイイと感じるのか・・・
古臭いコンソールアプリと中途半端な半透明ウィンドウが合わさってダサすぎるとしか思えない
0976デフォルトの名無しさん
2014/12/26(金) 00:29:59.87ID:YamRiAjjみーとぅー
0977デフォルトの名無しさん
2014/12/26(金) 00:40:40.91ID:frLAmI7/0978デフォルトの名無しさん
2014/12/26(金) 00:54:18.21ID:pj4a+GaXなよ
0979デフォルトの名無しさん
2014/12/26(金) 01:06:09.41ID:VhtXo4qT0980デフォルトの名無しさん
2014/12/26(金) 04:49:47.09ID:mTrmrzjPそのコマンドンをデバッグ開始時に叩くようにすればいいんじゃない?
ブレークポイントとかが機能するかどうかは知らんが
0981デフォルトの名無しさん
2014/12/26(金) 04:50:53.57ID:mTrmrzjP「ン」が残ってポケモンの偽物みたいになってしまった・・・
0982デフォルトの名無しさん
2014/12/26(金) 05:02:33.17ID:Qmmzh/DD0983デフォルトの名無しさん
2014/12/26(金) 05:23:13.16ID:+FO0ArfG0984デフォルトの名無しさん
2014/12/26(金) 10:49:11.89ID:t/ZNjN640985デフォルトの名無しさん
2014/12/26(金) 17:27:21.72ID:S+6Wj5Hd0986デフォルトの名無しさん
2014/12/26(金) 19:04:33.25ID:rDii6RoJ0987デフォルトの名無しさん
2014/12/26(金) 19:10:16.35ID:uvn+sgpCVSの単体テスト機能でテストしてれば頻繁にアプリ全体を実行する必要はないはずだし、
アプリ全体のテストもコンソールアプリなら簡単に自動化できるでしょ
0988デフォルトの名無しさん
2014/12/26(金) 21:54:20.58ID:1VVwZeamターミナルとコンソールはWindowsでは同義
http://gihyo.jp/book/pickup/2010/0013
ターミナルの例の中に「コマンドプロンプト」と「mintty」が挙げられてる
http://ja.wikipedia.org/wiki/%E7%AB%AF%E6%9C%AB%E3%82%A8%E3%83%9F%E3%83%A5%E3%83%AC%E3%83%BC%E3%82%BF
0989デフォルトの名無しさん
2014/12/26(金) 22:52:47.15ID:zbR/Pr/+0990デフォルトの名無しさん
2014/12/26(金) 22:59:45.41ID:Z2q5F2hY「ソースはwiki」はもはや馬鹿の象徴
0991デフォルトの名無しさん
2014/12/26(金) 23:56:48.70ID:5vBQJBUk何をみてそう言っているんだろうか
0992デフォルトの名無しさん
2014/12/27(土) 00:08:23.66ID:OgvQhu0j0993デフォルトの名無しさん
2014/12/27(土) 00:39:35.42ID:CxSn36ZMhttp://peace.2ch.net/test/read.cgi/tech/1419608259/
0994デフォルトの名無しさん
2014/12/27(土) 00:42:31.11ID:ZM4QrYS50995デフォルトの名無しさん
2014/12/27(土) 00:43:02.94ID:xcx8bYiC>ターミナルとコンソールはWindowsでは同義
そのリンク先にWindowsでの話は出てない。そう読める記述も無い
Wikiも見てきたけど
>コマンドプロンプト(汎用telnetソフトとして使用可能)
コマンドプロンプトがターミナルエミュレータなのではなくて、telnetソフトがターミナルエミュレータなんだが
ついでに言うとtelnetはコマンドプロンプト組み込みのコマンドじゃなくて、別のプログラムだが
本気でお前がそう思ってるなら、理解力足りなさすぎる
0996デフォルトの名無しさん
2014/12/27(土) 00:55:31.20ID:Iiyigm9/その理論でいくとsshやrloginもターミナルエミュレータということになるな
窓使いが適当なこと言ってんじゃねーぞ
0997デフォルトの名無しさん
2014/12/27(土) 01:05:30.75ID:Iiyigm9/>そのリンク先にWindowsでの話は出てない。そう読める記述も無い
これだからバカは困る
TSSしてるWindowsのエディションがあったら教えてほしいわw
0998デフォルトの名無しさん
2014/12/27(土) 04:18:40.59ID:xTCy8FqV0999デフォルトの名無しさん
2014/12/27(土) 07:35:21.03ID:enMk83j+さぁ逝くんだ
その扉を開けて
1000デフォルトの名無しさん
2014/12/27(土) 07:36:40.55ID:enMk83j+10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。