C#, C♯, C#相談室 Part81

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
2デフォルトの名無しさん:2013/10/07(月) 17:28:33.66
ふらっとVisual C#,C♯,C#(初心者用) Part107
http://toro.2ch.net/test/read.cgi/tech/1380106942/

WPF(XAML, XBAP, .NET4.0)GUIプログラミング Part16
http://toro.2ch.net/test/read.cgi/tech/1369912326/

【VB.NET】LINQ友の会【C#, C♯, C#】
http://toro.2ch.net/test/read.cgi/tech/1202568694/

C#,C#の宿題片付けます。
http://toro.2ch.net/test/read.cgi/tech/1197620454/

Microsoft Silverlight その9
http://toro.2ch.net/test/read.cgi/tech/1321150267/

Visual Studio 2010 Part20
http://toro.2ch.net/test/read.cgi/tech/1354608228/

Visual Studio 2012 Part7
http://toro.2ch.net/test/read.cgi/tech/1371524880/

こんなC#, C♯, C#ライブラリ無いですか?
http://toro.2ch.net/test/read.cgi/tech/1342672311/
3デフォルトの名無しさん:2013/10/07(月) 17:28:47.50
参考リンク

MSDNライブラリ
http://msdn.microsoft.com/ja-jp/library/

@IT Insider.NET
http://www.atmarkit.co.jp/fdotnet/
Insider.NET 会議室 ディレクトリ
http://www.atmarkit.co.jp/fdotnet/index/bbs/
MSDN フォーラム
http://social.msdn.microsoft.com/Forums/ja-JP/categories/

pinvoke.net: the interop wiki!
http://pinvoke.net/
宇宙仮面の C# プログラミング / C# Programming
http://uchukamen.com/
WisdomSoft C#入門
http://wisdom.sakura.ne.jp/programming/cs/
WisdomSoft Microsoft .NET入門
http://wisdom.sakura.ne.jp/system/msnet/
どっとねっとふぁん
http://dotnetfan.org/
緑のバイク 初めてのC# 〜 覚え書き 〜
http://homepage3.nifty.com/midori_no_bike/CS/
どぼん!の .NET Tips (話題にすると荒れます)
http://dobon.net/vb/dotnet/
4デフォルトの名無しさん:2013/10/07(月) 17:29:41.64
質問する前に"必ず"WikiやFAQ集を参照し、同じような質問がないか確認してください。

初歩的な質問はPC初心者板で・・・
http://pc11.2ch.net/pcqa/
参考リンク(よく出てくる情報リンク)
Windows Vista Wiki
http://windowsvista.ms/index.php
Windows VistaFAQ
http://vistafaq.stdo.net/index.html
〜インストールから設定・活用まで〜 すべてが分かるWindows Vista大百科
http://journal.mycom.co.jp/special/2007/windowsvista/menu.html
Windows 7 Wiki
http://www15.atwiki.jp/win7/
Windows 8 Wiki
http://www18.atwiki.jp/win8/
Windows8 移行まとめwiki
http://windows8.wiki.fc2.com/

コードの量が多い場合は下記サイトを使うなどしたほうがいいかも。
コードを貼り付けてRun codeのチェックを外し、submitボタンを押すと専用のアドレスが発行されます。

http://ideone.com/
http://pastebin.com/

直接貼る場合はhtmlエンコードした方がインデントも残って見やすいです。

http://kawama.jp/php/encode_html.php
5デフォルトの名無しさん:2013/10/07(月) 22:06:08.14
htmlエンコードて
6デフォルトの名無しさん:2013/10/09(水) 06:07:02.60
htmlデコードはしなくていいんですか
7デフォルトの名無しさん:2013/10/09(水) 14:12:09.17
チョット質問です。foreach使うときに、パフォーマンス及び
可読性の両方の観点から良い方を教えてください。

Ex1)
List<string> testList = GetTestList();

foreach(var str in testList)
{
処理
}

Ex2)
foreach(var str in GetTestList())
{
処理
}

Ex2の方が可読性が上がると思うのですが、
パフォーマンスが下がるのか、、変わらないのか・・・
それとも変数に入れる作業がない分早いのか・・・

よろしくお願いします。
8デフォルトの名無しさん:2013/10/09(水) 14:39:03.59
変わらん
9デフォルトの名無しさん:2013/10/09(水) 16:17:02.84
正確にはGetTestList()実装依存
LINQの解説してるとこの片っ端から嫁
10デフォルトの名無しさん:2013/10/09(水) 16:55:46.93
List<>で受けてるんだからそんな大層なもんじゃないっしょ
11デフォルトの名無しさん:2013/10/09(水) 23:21:42.82
List<T>でそのまま受けられるってことはGetTestListの戻り値の型はList<T>だから
全く完全に等価だよ
12デフォルトの名無しさん:2013/10/10(木) 02:08:12.90
上の書き方だと、testListをどっかで使うのかと思う
修正するときに上の方が気を使う
パフォーマンスは、理論上はメモリもCPUも変数1個分だけ上が悪い気がするが
まあ、誤差の範囲だろうけど
13デフォルトの名無しさん:2013/10/10(木) 05:21:13.53
ildasmで調べてみると、testListの領域は取られてるが使ってないね。
最適化で同じになる。
14デフォルトの名無しさん:2013/10/10(木) 06:45:20.72
testListのスコープが無駄に広すぎる
描き方はいただけない
15デフォルトの名無しさん:2013/10/10(木) 07:01:30.76
スコープか、なるほど。
>>7じゃないけど、参考になる。
デバッグ用に一旦変数に入れてから使うやり方をしてたけど、
後々のことを考えるとこっちの方がいいのかな。
16デフォルトの名無しさん:2013/10/10(木) 09:03:02.25
GetTestListの実装しだいだろうけど
他スレッドがGetTestList触ったときの挙動の違いとかもあるかな?
17デフォルトの名無しさん:2013/10/10(木) 10:04:59.81
コーディングルール次第かなあ。
2の書き方が許されてるなら2でいいんじゃない?
18デフォルトの名無しさん:2013/10/10(木) 14:27:21.47
引数paramがdataを持っているか否かの真偽値を返すメソッドの命名で悩んでます

bool ValidateParamHasData(Param param);
bool CheckParamHasData(Param param);
bool HasParamData(Param param);

validateもcheckもわかりづらいから使うなとよく言われてるけど
一番下のじゃちんぷんかんぷんだしどうすればいいでしょうか
19デフォルトの名無しさん:2013/10/10(木) 14:29:54.59
大抵はデータを持ってる結果HogeするからCanHoge
20デフォルトの名無しさん:2013/10/10(木) 14:45:06.79
bool IsValid(Param param);
21デフォルトの名無しさん:2013/10/10(木) 14:46:49.52
ごめんなさい、「Hogeする」の部分が「ParamがDataの場合の処理をする」としか言い様がない場合はどうすればいいでしょうか
2218:2013/10/10(木) 14:54:48.82
ちなみにDataにはData1, Data2, Data3の3種類があってそれぞれを判別するメソッドを分ける予定です
なので>>20のお答えもちょっと無理そうです

なんかややこしくて申し訳ないです
23デフォルトの名無しさん:2013/10/10(木) 15:50:30.27
そのDataとやらはクラス名なのか値なのかはっきりしろ
具体的にはisなのかequalなのか
2418:2013/10/10(木) 16:07:03.66
クラス名です
「ParamがDataを持っている場合」なので使うとしたらHasかContainsかなと

>>21では「ParamがDataの場合の処理をする」と書きましたが
「ParamがDataを持っている場合の処理をする」の誤りです
25デフォルトの名無しさん:2013/10/10(木) 16:50:02.71
ならHasDataでいいだろもう
26デフォルトの名無しさん:2013/10/10(木) 20:25:28.53
DataAvailable
27デフォルトの名無しさん:2013/10/10(木) 20:48:07.73
>>18
っていうか、何そのstaticおじさんみたいな手続き指向脳。
何でParamの状態をParam以外の奴に尋ねるんだよw
28デフォルトの名無しさん:2013/10/10(木) 20:53:26.60
全力で許した
2918:2013/10/10(木) 20:58:47.53
初心者すぎて申し訳ないです
Paramの拡張メソッドにHasDataを追加すれば良かった話ですね・・・
30デフォルトの名無しさん:2013/10/11(金) 02:56:46.18
なぜ拡張メソッド
普通にParamにプロパティ作れよ
そのプロパティの名前で悩むなら、どっかに名前どうするか相談するスレがなかったっけ
31デフォルトの名無しさん:2013/10/11(金) 03:11:03.20
ParamはDLLで定義されてるんで直接いじれないんですよ・・・
32デフォルトの名無しさん:2013/10/11(金) 05:48:16.69
staticってそんなに駄目なの?
MVVMでコードビハインド駄目って理屈と同じ気がする・・・
33デフォルトの名無しさん:2013/10/11(金) 06:44:30.14
OOP教条主義者の妄言だから気にしなくていいよ
Paramを引数にする処理が複数存在した場合、全部プロパティで検証するのかって考えたらアホらしさが分かるはず
34デフォルトの名無しさん:2013/10/11(金) 08:24:34.82
staticおじさんはグローバル変数ほしさにstatic乱用しちゃうような人のことだから、このケースで使うのは誤り
35デフォルトの名無しさん:2013/10/11(金) 09:20:36.31
void Method( IEnumerable<Foo> e ){}

というメソッドがあって、別のIEnumerable<Bar>からSelectして渡したいと思いました。

Method( bars.Select( (b) => new Foo( b, ... ) );

でもFooのコンストラクタが例外を出す可能性があって、tryでくくりたいんです。
それで考えたのが

Method( bars.SelectMany<Bar, Foo>( (b) =>
{
 try
 {
  return new Foo[]{ new Foo( b, ... ) };
 }
 catch
 {
  reuturn Enumerable.Empty<Foor>();
 }
} );

ですが、ちょっと不細工だとおもうんですけど
空を返せるSelectってないもんですか
皆さんならどう書きますか
36デフォルトの名無しさん:2013/10/11(金) 09:26:53.48
> 空を返せるSelectってないもんですか
拡張メソッド書けば?
37デフォルトの名無しさん:2013/10/11(金) 11:12:07.85
C#が世にでて10年以上経ってるみたいだけど
商用アプリでは相変わらず使われていない

CADや高機能なペイント、ドロー系ツールでは
お金を頂くようなソフトを作ることは出来ないのでしょうか?
38デフォルトの名無しさん:2013/10/11(金) 12:00:16.92
Visual Studioのようなホスティング型のはあるようだよ。
やっぱりGUIのパフォーマンスに難があって、
ハイブリッドになるようだね。
39デフォルトの名無しさん:2013/10/11(金) 12:02:10.45
Catalystは.Netだったよ
40デフォルトの名無しさん:2013/10/11(金) 12:02:27.94
>>37
君には無関係だよ
41デフォルトの名無しさん:2013/10/11(金) 12:06:26.02
できません、って答えてほしそうね
42デフォルトの名無しさん:2013/10/11(金) 12:06:53.74
無論できないよ
43デフォルトの名無しさん:2013/10/11(金) 12:08:21.58
>>37君は次に、C#はソースが丸見えとか言い出すぞ
44デフォルトの名無しさん:2013/10/11(金) 12:29:24.05
無論スケスケやねん
45デフォルトの名無しさん:2013/10/11(金) 13:28:07.99
XBOXはXNAで出来るしVitaはmonoベースだしPS3/PS4もUnityで開発出来るようになったし
画像処理が苦手だったらゲーム機なんかに採用されないよね
46デフォルトの名無しさん:2013/10/11(金) 13:29:54.26
>>43
っあ、そうなんですか?
それじゃ、シェアウェアの作者は使わないはずですね
47デフォルトの名無しさん:2013/10/11(金) 13:58:54.94
今時シェアウェアとか存在してんの?
48デフォルトの名無しさん:2013/10/11(金) 17:38:45.76
>>37
うちの開発は組み込みですらC#だお!
49デフォルトの名無しさん:2013/10/11(金) 17:46:02.06
業務用なんかだと殆どが.netだけどライセンス周りだけNativeっての結構ある
50デフォルトの名無しさん:2013/10/11(金) 19:22:08.80
昔はLOHの制限とかあったから極端にメモリを食う用途で.NETを使うのは厳しかった
51デフォルトの名無しさん:2013/10/11(金) 20:45:57.23
そんな巨大なバッファを使い捨てにするのが間違ってるだろ
時々呼び出して使う処理だとしても、本体と同一のAppDomainで動かさなきゃいい話
LOH問題の有無にかかわらず、そんないかにも落ちそうな処理は隔離したいわ
52デフォルトの名無しさん:2013/10/11(金) 21:13:26.49
>>34
違うよw
むしろもろ>>18みたいな設計をする人のこと
53デフォルトの名無しさん:2013/10/11(金) 21:21:17.40
副作用おじさん
54710:2013/10/12(土) 01:15:43.82
>>48
まあ最近組み込み Java 案件も珍しくないとはいえ、うちでは見たことないなぁ。
業務系の受託とか、自社製品の設定機能とか保守機能とかにはよく使ってるが。
5548:2013/10/12(土) 01:24:14.50
>>54
on FPGA で何を記述しているのかとチラ見すると .cs でどうもhttp://en.wikipedia.org/wiki/.NET_Micro_Frameworkを使っているらしい本当か
とても信じがたいけれども
56デフォルトの名無しさん:2013/10/12(土) 14:17:14.67
.NET Miocro Frameworkはインターフェース誌2012年8月号でも
付録ARM基盤への対応記事が掲載されていたけど、
USBホストとかソケットとかを標準で持ってるし、
PCと基盤をUSBで繋いでVisualStudioからデバッグ出来るしで、
かなり便利そうだった。
57デフォルトの名無しさん:2013/10/12(土) 14:59:48.41
今後は更新なしと聞いた気が。
58デフォルトの名無しさん:2013/10/12(土) 16:25:41.06
.net compactより優遇されてる印象 >> Micro
59デフォルトの名無しさん:2013/10/12(土) 16:45:36.77
>>58
Comoactはもう……。
60デフォルトの名無しさん:2013/10/12(土) 16:54:40.50
SilverlightくらいのものをMFみたいにオープンソースで公開してくれればいいのにな
そしたらCFの分野もカバーできるしスマホもC#一色になるのに
61デフォルトの名無しさん:2013/10/12(土) 17:02:50.88
プークスクスw
62デフォルトの名無しさん:2013/10/12(土) 18:18:33.49
>>59
物流製造の業務用モバイルは世界中でWindowsCE/Mobileの独占状態なのにねえ……
結局P/Invokeだらけで「これって.netか?」みたいになってるわw
63デフォルトの名無しさん:2013/10/12(土) 18:29:31.90
いやWindows Embedded 8も出てるでしょ
もともとOSとセットだからあんまりCFとは言わなくなったけど、
ちゃんとCFの最新版が入ってるよ
64デフォルトの名無しさん:2013/10/12(土) 18:42:36.75
.NETはもう十分浸透したから、最近のMSは.NETを特別扱いするのをやめて
Windowsなら当然使えるものとして単なるAPIの一つと位置付けてる
65710:2013/10/12(土) 19:41:45.76
>>55
これは俺も知らなかったわ。
こんどハード屋さんに聞いてみよ。
66デフォルトの名無しさん:2013/10/12(土) 22:13:24.75
>>64
.NETはもう十分浸透した????????????
67デフォルトの名無しさん:2013/10/12(土) 22:55:05.73
だからCompactもMicroもとっくにディスコンでしょ。

>>63
それはCompactじゃない。
Embeddedシリーズは基本的にPC用OSと同じだから当然.NETもフルの.NET。
68デフォルトの名無しさん:2013/10/12(土) 22:58:10.33
>>67
http://msdn.microsoft.com/en-us/library/ee486593.aspx
新しいCFが付いてるのはWindows Embedded Compactだな
69デフォルトの名無しさん:2013/10/12(土) 23:06:28.62
客先で恥かかなくてよかったね >>67
70デフォルトの名無しさん:2013/10/12(土) 23:16:33.38
そこはかとなく70の匂い
71デフォルトの名無しさん:2013/10/12(土) 23:18:46.57
確かに>>70は頭がおかしい
72デフォルトの名無しさん:2013/10/12(土) 23:21:28.61
>>68
最新CFは3.9って微妙なバージョン番号なのね
73デフォルトの名無しさん:2013/10/12(土) 23:23:45.09
引っ込み付かなくなったアホが暴れる流れ
74デフォルトの名無しさん:2013/10/12(土) 23:41:31.51
>>68
一応まだ細々と続いてるのか。
実質的には死んでると思うけど。

>>69
こんなトリビアなネタが話題になるってどんな客先だよw
75デフォルトの名無しさん:2013/10/12(土) 23:43:32.53
>>72
○まだCLR4系になってないから4は付けられない
○遅れてるイメージを持たせないためになるべく大きな数字にした
○次は4系に移行するよというメッセージも含めた

こんなところだろう
76デフォルトの名無しさん:2013/10/12(土) 23:50:40.03
TPLとかDLRがCFに必要なのかねえ
77デフォルトの名無しさん:2013/10/12(土) 23:58:08.97
いやCLR4ってVMの仕様が変わってる上にBCLにも大幅に手が入ってる
TPLとかDLRとかはライブラリがあればCLR2でも動くよ
78デフォルトの名無しさん:2013/10/13(日) 00:44:45.21
>>75
次が3.91だったりするかもな
79デフォルトの名無しさん:2013/10/13(日) 02:40:39.77
いい加減ビヘイビアの自動生成実装してほしい
BlendなしでもサクサクMVVM作れないとWPFの意味ないんだけど
80デフォルトの名無しさん:2013/10/13(日) 03:16:51.38
ビヘイビアとMVVMってあまり関係がないと思うのですが
81デフォルトの名無しさん:2013/10/13(日) 07:58:33.56
propaより複雑なスニペットを用意しろと?
8248:2013/10/13(日) 08:52:42.41
>>78
るびー1.9の話ですか?
83デフォルトの名無しさん:2013/10/13(日) 11:52:52.16
ルーピーか
84デフォルトの名無しさん:2013/10/13(日) 12:16:10.62
Windows Formsってどうなっちゃったの?
結局WINDOWSのGUIは何で作るのが主流なの?
85デフォルトの名無しさん:2013/10/13(日) 15:25:08.85
C#と言うかプログラミング自体初心者なんですが
1つ質問させてください

あるクラスを配列で利用してるとします
そのクラスのメソッド内で自身の配列のインデックスを求めることは可能ですか?

メソッドの引数としてインデックスと同じ物を渡せば利用できるのはわかりますが
あまりスマートではないと思ったので

そもそもこのような設計を考える方が間違いですかね?
86デフォルトの名無しさん:2013/10/13(日) 15:42:11.79
>>85
例えばWPFには添付プロパティとかあるわけで一概に間違いと否定できないけど、
でもまあほとんどの場合は間違いだと思うけどね
87デフォルトの名無しさん:2013/10/13(日) 16:19:59.50
>>85
クラスに「配列でしか使えない」という制限が無いのでそれを前提とした機能を実装するのは良くないかと。
複数の配列から参照される事もあるし素直にArray.IndexOfにすべし。
8885:2013/10/13(日) 16:37:28.13
やっぱりインデックスの数値が必要な処理は利用する側で実装して
クラス内には内包しないようにした方が良いんですね

勉強になりましたありがとうございます
89デフォルトの名無しさん:2013/10/13(日) 16:43:35.93
あららら・・・
何か勘違いさせちゃってるようだけどhw
9085:2013/10/13(日) 16:53:26.68
ん?何か勘違いしてますか?俺
91デフォルトの名無しさん:2013/10/13(日) 16:59:24.31
is演算子の使い道教えて
92デフォルトの名無しさん:2013/10/13(日) 17:10:31.27
使い古された感はありますが、伝統的に
今現在でもまずはこれです。

This is a pen.
93デフォルトの名無しさん:2013/10/13(日) 17:12:06.08
public overrides bool Equals(object obj)
{
return obj is T && Equals((T)obj);
}
94デフォルトの名無しさん:2013/10/13(日) 17:35:13.77
>>92
荒井注乙
95デフォルトの名無しさん:2013/10/13(日) 18:23:47.89
荒井注がとっさに出てくるって絶対50代だろw
96デフォルトの名無しさん:2013/10/13(日) 18:41:14.63
小学生の頃英語わからないからマイケルジャクソンのBADを
this is a penだけで歌ってたなー
97デフォルトの名無しさん:2013/10/13(日) 18:51:30.69
>>92
俺のときは this is a pencil. by 40代
98デフォルトの名無しさん:2013/10/13(日) 19:02:19.64
両方だろ
99デフォルトの名無しさん:2013/10/13(日) 20:40:01.61
XAMLでCommand記述したら自動的にVMにCommand追加してバインドしてくれるようになった?
100デフォルトの名無しさん:2013/10/13(日) 20:50:19.61
それは本末転倒だろww
何のためにVMで抽象化してるのか考えろ
必要ないと思うなら普通にイベントハンドラ使え
101デフォルトの名無しさん:2013/10/18(金) 11:53:46.25
unsafeコードで配列アクセスはポインタのインクリメント/デクリメントを極力使って
TPLでパラレル化をしたら
ともにTVTestでテレビ見ながら、
Q9550で1000x1000の逆行列で2.54秒ぐらい
10000x10000の逆行列で2822秒ってとこ。
これってPure Cだとどれぐらいで実行できまつか?
102デフォルトの名無しさん:2013/10/18(金) 11:57:18.97
>TVTestでテレビ見ながら

とかわけ分からん条件ついてるし(´・ω・`)しらんがなとしか
103デフォルトの名無しさん:2013/10/18(金) 13:50:29.30
TVTestとかPT3とか使ってるのは大概アニオタ
アニオタは自分理論で攻めてくるから注意な

こちらに大人の対応が求められる
104デフォルトの名無しさん:2013/10/18(金) 14:00:26.30
>>103
アニオタじゃねーよ
俺はエロゲオタだ
105デフォルトの名無しさん:2013/10/18(金) 19:06:30.40
みんな Build Insider とか行くの?
106デフォルトの名無しさん:2013/10/21(月) 23:14:44.23
質問させてください。
やりたいことは、Windowsphone8で日本語(SJIS)のWebサイトを読み出したい。

Windowsphone8ではGetEncoding("Shift-JIS")が使えません。

www.atmarkit.co.jp/ait/articles/1301/17/news074.html
ここのサンプルを使おうとしましたが、byte配列で渡す必要があります。
WebclientのDownloadDataメソッドもWP8では使えず
Stringからbyte配列への変換も、GetEncoding("Shift-JIS")が
使えず行き詰まってしまいました。
なにか良い方法ないでしょうか?
107デフォルトの名無しさん:2013/10/21(月) 23:19:43.39
108デフォルトの名無しさん:2013/10/21(月) 23:29:11.62
C++なんて使えなかった頃はオープンソースのSJIS用Encodingを入れてたことを思えば
109デフォルトの名無しさん:2013/10/21(月) 23:43:03.61
C++が使えなかった頃にそんなオープンソースのが手に入ったのかな
110デフォルトの名無しさん:2013/10/21(月) 23:46:22.87
GetEncoding(932)じゃ駄目?
というかShift-JISじゃなくてShift_JISだぞ
111デフォルトの名無しさん:2013/10/21(月) 23:58:08.12
>>110
全部使えません。
112デフォルトの名無しさん:2013/10/22(火) 00:02:50.44
こういうところ手抜きだよな
113デフォルトの名無しさん:2013/10/22(火) 01:39:08.35
WPFの放置っぷりも酷いからな、マジでModernといいWPFといいM$何がしたいのかわからない
VSだけはマメに更新しやがるのに、いい加減WPF数あるバグなおせよ
114デフォルトの名無しさん:2013/10/22(火) 05:41:02.81
We bet on Mobileなんて言っちゃってるからなぁ
Mobileは鳴かず飛ばず、Desktopからも信頼を失うことにならないか
115デフォルトの名無しさん:2013/10/22(火) 10:31:09.36
DataSet<T>というジェネリッククラスがあります。
このクラスから派生した DataSet<Member> が DataSet<T> をインスタンス化したものであることを確認するために

members.GetType() == typeof(DataSet<>)

とやったけどうまくいきません
本当はどう書くべき何でしょうか
116デフォルトの名無しさん:2013/10/22(火) 11:05:07.40
WPFは、ActiveXめいて来た感じだね
方向性はこれで良いと思うが、直感的に使い方が分らないのが非常に良くない
総合的に考えて、結局旧来フォームベースで作ってしまう
117デフォルトの名無しさん:2013/10/22(火) 11:10:03.81
>>115
意味が良くわからない、もう少し丁寧に何がしたいのか何が問題なのかを


#members.GetType().GetGenericTypeDefinition() == typeof(DataSet<>)
#という事なのか?な?
118デフォルトの名無しさん:2013/10/22(火) 11:15:24.42
>>115
派生型で型引数の数が同じで同じ型名とかなんの嫌がらせだ。

class DerivedDataSet<T> : DataSet<T> { ... }
であるとして、
DerivedDataSet<Hoge>はDataSet<T>から派生したんじゃなくてDataSet<Hoge>から派生したもの。
これはDerivedDataSet<Hoge>のインスタンスをDataSet<int>にキャストできないことから明らか。
つまり、DerivedDataSet<Hoge>はDataSet<T>自体とは直接の関係がない。

ジェネリックなら素直に型制約じゃ駄目なの?
119デフォルトの名無しさん:2013/10/22(火) 11:17:54.17
って、派生じゃなくて構築された型のことだったのか…?
120デフォルトの名無しさん:2013/10/22(火) 11:19:32.21
C++と違って微妙に不便な型制約、もうちょっと注意深く作って欲しかったり・・・
最近ちょっと微妙な出来の悪さにイライラw
121デフォルトの名無しさん:2013/10/22(火) 11:23:17.56
コンパイル時解決じゃない以上今ぐらいが限界だと思うが
enum, delegate辺りの型制約は欲しいけど
122デフォルトの名無しさん:2013/10/22(火) 11:32:00.18
制約は、決め打ち制約ではなくて簡単なスクリプト書かせてくれればそれでいいんだけどね
C++だとコンパイルタイムメタプログラミングでどんな制約でもできてしまうけど、コードが直感的でない
123115:2013/10/22(火) 11:32:42.61
>>117
これでした
ようはいくつかあるプロパティの中から DataSet<T> であるプロパティを全てリストアップしたいのです
これが意外と難しい
124デフォルトの名無しさん:2013/10/22(火) 11:44:07.05
System.Reflection.PropertyInfo[] tmp = typeof(調べたい型).GetProperties().Where((item) => item.PropertyType.GetGenericTypeDefinition() == typeof(DataSet<>)).ToArray();
自分のやり方だと、こんな感じですかね
125デフォルトの名無しさん:2013/10/22(火) 11:47:47.30
GetGenericTypeDefinitionはIsGenericTypeがfalseだと例外発生するって書いてあるぞ
126デフォルトの名無しさん:2013/10/22(火) 18:12:30.96
Dictionary<string, List<string>> dic; // いくつかの要素が入ってるとする
var results = new List<string>();

foreach(var value in dic.Values)
 results.InsertRange(results.Count, value);

Dictionaryの値を一つのList<string>にまとめる処理なんですが
LINQとか使って一行で書けたりしませんか?
127デフォルトの名無しさん:2013/10/22(火) 18:44:22.62
var results = dic.Values.SelectMany(x => x);
もしくは
var results = from x in dic.Values from y in x select y;
もしList<T>にしたければresult.ToList()すればよい
128デフォルトの名無しさん:2013/10/22(火) 20:05:30.29
WPFの話の続きだけど、いまC#(.NET)で、Windows アプリケーションを作るとしたら、
WindowsForm と WPF のどちらがいいの?

仕事(納品する)とかではないので、ざっくりコメントをいただければとうれしいです。
129デフォルトの名無しさん:2013/10/22(火) 20:09:00.42
ざっくりもなにもForms以外ありえない
130デフォルトの名無しさん:2013/10/22(火) 20:10:54.21
扱える土方が多い技術を使え
131デフォルトの名無しさん:2013/10/22(火) 20:13:14.11
手段の探索に時間をかけるなんて無駄
132デフォルトの名無しさん:2013/10/22(火) 20:50:02.04
WPFは手続き型脳には無理
133デフォルトの名無しさん:2013/10/22(火) 20:53:54.71
自分でどっちにするか決めれない脳な時点で無理
134デフォルトの名無しさん:2013/10/22(火) 21:46:17.82
ふわっ とか
もこっ とか
しゅいん! みたいなのが欲しいときはWPF

それ以外は全部WinFormでいいよ
135デフォルトの名無しさん:2013/10/22(火) 23:09:31.04
GDIですごく描画重いのWPFにしたら直る?
136デフォルトの名無しさん:2013/10/22(火) 23:12:16.88
倍率ドン!更に倍!ってな感じに余計重くなる
137デフォルトの名無しさん:2013/10/22(火) 23:37:52.79
独自に描画してて重いなら多分爆速になる
普通に使ってて重いなら多分余計重くなる
138デフォルトの名無しさん:2013/10/22(火) 23:50:41.77
>>137
何言ってるのかさっぱりわからん
139デフォルトの名無しさん:2013/10/22(火) 23:52:37.36
わからなくて普通
140デフォルトの名無しさん:2013/10/23(水) 00:02:42.83
どう考えても独自に描画してるほうが爆速。
141デフォルトの名無しさん:2013/10/23(水) 00:06:41.57
いやいや
WPFのシェーダ使ったエフェクトとかHWアクセラレーションなしじゃとんでもなく遅くなるよ
142デフォルトの名無しさん:2013/10/23(水) 00:08:39.59
どうやって描画するかによるだろ。どんだけ馬鹿なんだよ
143デフォルトの名無しさん:2013/10/23(水) 00:09:26.03
>>138
独自描画のコードがスパゲッティってことだろ
144デフォルトの名無しさん:2013/10/23(水) 00:11:00.80
純正です
重たいユーザーコントロールをフォームにはっつけたらサイズ変更の時にすごく重いです
145デフォルトの名無しさん:2013/10/23(水) 00:12:46.46
WPFに移行できるってことはそのユーザーコントロールもお前が作ってるんだな?
なら作りが悪いんだろ
146デフォルトの名無しさん:2013/10/23(水) 01:12:38.32
描画の問題じゃない可能性も高い
データグリッドっぽい自作コントロールで、UIの仮想化を忘れてるとかな
147デフォルトの名無しさん:2013/10/23(水) 01:33:22.11
WPFなんて論外。
148デフォルトの名無しさん:2013/10/23(水) 19:43:08.02
そうだ 時代はストアアプリ
149デフォルトの名無しさん:2013/10/23(水) 19:44:56.88
xboxのストアは成功したと言えるがWindows8は成功しないだろうな。
150デフォルトの名無しさん:2013/10/23(水) 20:17:01.78
ストアが成功するためには決済が紐ついてないとだめだよな
普通のPCはまずそれがない

デスクトップの先がないからってジタバタし過ぎて死期を早めたんじゃないか
151デフォルトの名無しさん:2013/10/24(木) 17:34:53.39
List<T>.Contains()が遅くて困ってる。
集合Aに対してxが存在するかどうか判断する最速の方法教えて。
152デフォルトの名無しさん:2013/10/24(木) 17:41:50.37
集合Aが集合という以上の情報を持っていないなら線形探索する以外どうにもならん
Dictionary<TKey,TValue>併用とかでどうにかするとか
リストじゃなくてツリーで良いならSortedDictionary<TKey, TValue>使うとか
153デフォルトの名無しさん:2013/10/24(木) 17:44:17.61
あとTが構造体でEqualsオーバーライドしてないとか
154デフォルトの名無しさん:2013/10/24(木) 17:49:52.85
ありがとうございます。試してみます。
155デフォルトの名無しさん:2013/10/24(木) 17:56:45.88
あとは設計の問題だったりすることも……
例えば描画のタイミングで毎回リストを探索しちゃってるとか
156デフォルトの名無しさん:2013/10/24(木) 18:53:30.97
>>153はIEquatable<T>実装の方がいいね
157デフォルトの名無しさん:2013/10/25(金) 13:33:37.62
Javaだと、
List: インターフェース、
ArrayList : List の実装クラスの一つ、
List のスーパーインターフェースとして Iterator があるけど、

C# だと、以下が対応するような感じという理解であってますか?
ArrayList → C# での List (具象クラス)
List → IList (インターフェース)
Iterator → IEnumerable (インターフェース)

C# の場合、IEnumerable は Linq で使える extention method とかも定義されているので、
Java の Iterator とは若干違いますが・・・
158デフォルトの名無しさん:2013/10/25(金) 13:52:00.14
まあ大体合ってる
拡張メソッドは基本的に記法だけの問題だからIEnumerable自体の機能ではない
159デフォルトの名無しさん:2013/10/25(金) 14:05:36.09
>>158
ありがとうございます。
160デフォルトの名無しさん:2013/10/25(金) 17:13:47.40
object型でもらった引数を元のT型(いくつかの定義されている中の1つ)に戻すにはどうすればいいですか
161デフォルトの名無しさん:2013/10/25(金) 17:17:21.42
キャストする以外に何かあるのか?
162デフォルトの名無しさん:2013/10/25(金) 17:17:56.00
補足です。
GetType()によるTypeはわかっています。objectをこのType型に昇格?させたいのですが、どうすればいいですか
163デフォルトの名無しさん:2013/10/25(金) 17:22:53.37
キャストって書いてあるのになんで無視するかな
164デフォルトの名無しさん:2013/10/25(金) 17:24:59.40
って同時だっただけか
165デフォルトの名無しさん:2013/10/25(金) 17:26:56.58
object obj = 何か
Type type = obj.GetType();

list.Add ((*1)obj);

(*1)ここに入れる式を教えて下さい。ここはobject型ではなく元の型が必要です
166デフォルトの名無しさん:2013/10/25(金) 17:29:54.01
いくつか用意されているなら、かたっばしからasでキャストかな
167デフォルトの名無しさん:2013/10/25(金) 17:35:22.94
list.Add ((*2)(*1)obj);

もう少し正確に書くとライブラリによって定義された(*2)の型変換が発動するために、
(*1)は元の型にもどさなければいけません。
型は(自分以外の人間が作るので)実行時にしかわかりません。
だから動的にGetType()の結果と同じ型に昇格させるにはどうすればいいですか
168デフォルトの名無しさん:2013/10/25(金) 17:36:49.94
>>165
listでコレクションの型が確定してる、またはobjectなわけで、元の型っているの?
169デフォルトの名無しさん:2013/10/25(金) 17:41:38.09
listは何なんだよということだわな
170デフォルトの名無しさん:2013/10/25(金) 17:43:49.58
>>167
Addにオーバーロードがあるのかな?
ケース分けしてケース毎にキャスト
if (t = typeof(TypeA)) list.Add ((TypeA)obj);
else if (t == typeof(TypeB)) list.Add ((TypeB)obj);
else if (t == typeof(TypeC)) list.Add ((TypeC)obj);
171デフォルトの名無しさん:2013/10/25(金) 17:46:04.91
>>157
>List → IList (インターフェース)
いえ違います
172デフォルトの名無しさん:2013/10/25(金) 17:52:50.29
左辺がJAVAなんだろ
173デフォルトの名無しさん:2013/10/25(金) 18:04:01.39
dynamic型にキャストしたら実行時に適切な型に解決してくれました。

list.Add ((*2)(*1)obj);
      ↓
list.Add ((dynamic)obj);

ありがとうございました。
174デフォルトの名無しさん:2013/10/25(金) 18:46:11.10
listはTとか型引数ないのか

void Hage<T>( object obj )
{
 ...
 list.Add( (T)obj );
}

みたいなかんじでよぉ
175デフォルトの名無しさん:2013/10/25(金) 19:00:18.22
オーバーロードがあるから無理
オーバーロードはコンパイル時に解決する必要があるけど
ジェネリックの特殊化が起きるのは実行時だからな
176デフォルトの名無しさん:2013/10/25(金) 19:59:27.53
?
177デフォルトの名無しさん:2013/10/25(金) 20:28:09.22
dynamicにもインテリセンスあっていいのに
object型の予測変換ぐらい入れとけよ
178デフォルトの名無しさん:2013/10/25(金) 20:30:32.80
いやdynamicだと派生クラスでGetTypeとかオーバーロードされてたらそっちが呼ばれる
間違った候補を表示する可能性があるからダメ
179デフォルトの名無しさん:2013/10/25(金) 22:24:34.95
>>175
じゃあジェネリックの型パラメータ制約は実行時にチェックされるのか?
180デフォルトの名無しさん:2013/10/25(金) 22:32:08.74
C#のGenericはJIT時だな
181デフォルトの名無しさん:2013/10/25(金) 22:46:05.13
>>179
そうだよ
ジェネリックは一切言語に依存しない
182デフォルトの名無しさん:2013/10/25(金) 22:47:27.29
制約は当然C#コンパイラがチェックするけどそれはただのMSの親切で
コンパイル後にも制約の情報は残ってて最終的にJITがチェックする
183デフォルトの名無しさん:2013/10/25(金) 23:54:39.19
VSの99%は愛でできてるからな。
184デフォルトの名無しさん:2013/10/25(金) 23:58:34.71
J言語とはちゃうねん
185デフォルトの名無しさん:2013/10/26(土) 02:18:55.50
J++っていつの間にかC#になってたんだな
186デフォルトの名無しさん:2013/10/26(土) 02:30:23.72
J++はヘルスバーグがMSに来て最初の仕事だった

J++にはdelegateがあるんだよね
187デフォルトの名無しさん:2013/10/26(土) 03:40:47.69
PGになったのが30過ぎてからだから毎日すごいプレッシャーだわ・・・
でも好きな仕事だから楽しいんだけどね、おまえらももっと楽しめよ
188デフォルトの名無しさん:2013/10/26(土) 04:40:45.27
dynamic型はある意味便利だけどリファクタツールが使えなくなってメチャメチャ不便になるというもろ刃の剣
独立した構文中でのみ有効で良かったような気がする、ぶちまけてしまっては残念言語になってしまう
という訳でみんなdynamicの使用は控えようよ><
189デフォルトの名無しさん:2013/10/26(土) 06:54:32.30
dynamicが必要な状況ってそうそうないだろ
190デフォルトの名無しさん:2013/10/26(土) 07:57:46.18
静的型付き言語のメリットがなくなっちゃうよね
事実VS使ってるのにXAML書くのがJS書くのと変わらないくらいしんどいし
19148:2013/10/26(土) 09:15:59.34
>>186
ヘルスバーグの筋のよさにはどうしても惹かれてしまう
192デフォルトの名無しさん:2013/10/26(土) 10:06:25.67
ヘルスバーグなんて有益なアプリケーションは何一つかいてないじゃんw
言語の仕様を決めてるだけw
193デフォルトの名無しさん:2013/10/26(土) 10:10:21.58
優れた性能のテレビを作った人に
「お前 世に名を残す番組一つも出してないな」
と言ってるようなもの
194デフォルトの名無しさん:2013/10/26(土) 10:31:31.93
でもテレビ作ったやつなんて誰も興味ないし覚えてない
良い番組は記憶に残るし監督の名前も広まる
195デフォルトの名無しさん:2013/10/26(土) 10:34:52.25
194は論理的思考のできないバカ
例えて言うならプログラミング言語の優劣の議論でいきなり
一般利用者にはソフトの名前しか記憶に残らない
と言い出すひ等しい
196デフォルトの名無しさん:2013/10/26(土) 10:38:23.54
既にヘジたんの名前は十分に売れていると思うのは俺の気のせい?
197デフォルトの名無しさん:2013/10/26(土) 10:39:41.96
売れてない
WindowsでC#やって2ちゃんねるに入り浸っている人以外
198デフォルトの名無しさん:2013/10/26(土) 10:48:27.97
実質C#やvb.netで作成された優秀なアプリケーションはないしな
ガベコレうぜーし
199デフォルトの名無しさん:2013/10/26(土) 10:57:36.61
>>197
つturbo pascal
つdelphi
200デフォルトの名無しさん:2013/10/26(土) 11:05:45.00
屁痔がデルファイに携わったとしても
デルファイはC#と違って
信者の多くは屁痔を知らないだろう
201デフォルトの名無しさん:2013/10/26(土) 11:10:13.06
ゲーム専用ですし
主舞台とはいいつつも有名なパッケージ製品がないのは何故でしょう
一つ二つあってもいいですよね
Javaにはありますよ
202デフォルトの名無しさん:2013/10/26(土) 11:41:50.43
任天堂の倒し方w
20348 ◆QZaw55cn4c :2013/10/26(土) 13:01:31.67
>>200
ヘジタンに俺の心が届けば‥‥
204デフォルトの名無しさん:2013/10/26(土) 13:04:42.25
>>201
C#の主舞台がゲーム?

ゲームではC+++DirectXの一人勝ちだろ
205デフォルトの名無しさん:2013/10/26(土) 13:09:49.57
>>204
Unityでも触ってろ
206デフォルトの名無しさん:2013/10/26(土) 13:13:54.47
>>204
情弱乙
207デフォルトの名無しさん:2013/10/26(土) 13:34:26.21
>>204
情報が古いよオッサンw
業界から消えた方が世のため人のためじゃね
208デフォルトの名無しさん:2013/10/26(土) 13:43:42.34
>>201
C#の主舞台は中小企業なのでパッケージ製品をカスタムするよりスクラッチした方がいいのです
209デフォルトの名無しさん:2013/10/26(土) 14:00:39.43
マ板でやれ
210デフォルトの名無しさん:2013/10/26(土) 14:15:07.70
C#は、Delphiの後継と言ってよいの?
あと TypeScript ってMSが作ったと聞いていますが、これもヘルスバーグ氏が作ったの?
211デフォルトの名無しさん:2013/10/26(土) 14:22:20.76
どっからDelphiが来たんだよ。ggrks
212210:2013/10/26(土) 14:27:28.75
Turbo PascalやDelphiつくったヘルスバーグ氏がC#も作ったって事で、
別にC#はDelphiの後継というわけではないって事か。
213デフォルトの名無しさん:2013/10/26(土) 14:34:24.87
>>212
漢字はよく似ているけれどもね、まあJavaとも似ているが
214デフォルトの名無しさん:2013/10/26(土) 14:48:24.15
C#で作られたゲームを挙げてみろよw
215デフォルトの名無しさん:2013/10/26(土) 14:51:20.27
Unityで作られたゲームの最低でも1/10以上はC#だろ
216デフォルトの名無しさん:2013/10/26(土) 14:59:35.49
>>210
Delphiのメソッドポインタや手続きポインタがdelegateの原型
217デフォルトの名無しさん:2013/10/26(土) 14:59:59.54
WP7.5用ストアでも覗けばいいんじゃね?
218デフォルトの名無しさん:2013/10/26(土) 15:01:58.93
稀によく>>214みたいな奴いるがほとんどの場合単なる無能だよな
219デフォルトの名無しさん:2013/10/26(土) 15:28:12.70
ゲームじゃないけど、誰でも知ってる一部上場企業のパッケージをいくつか C# でやったことはあるな。
220デフォルトの名無しさん:2013/10/26(土) 15:43:31.82
C#を使う理由がわからん
221デフォルトの名無しさん:2013/10/26(土) 15:47:32.16
馬鹿乙
222デフォルトの名無しさん:2013/10/26(土) 16:17:17.28
>>220
楽だから
223デフォルトの名無しさん:2013/10/26(土) 17:41:08.85
Brainfuckとc#どれが一番楽ですか?
224デフォルトの名無しさん:2013/10/26(土) 18:11:03.42
自分で考えろ無能
225デフォルトの名無しさん:2013/10/26(土) 18:21:51.00
>>223
いちいち聞くようなやつは、全部諦めるのが一番楽
226デフォルトの名無しさん:2013/10/26(土) 18:31:42.33
給料日後の週末だから大きい子供がいっぱい
227デフォルトの名無しさん:2013/10/26(土) 18:35:08.37
中小零細は25日払いじゃないところも多いんだけどね
228デフォルトの名無しさん:2013/10/26(土) 18:36:59.64
大きいとは大きい会社のということですか
229デフォルトの名無しさん:2013/10/26(土) 18:54:25.93
>>228
身体ばっかり大きくて脳みそがないってことだろ。
つまりおまえのことだwww
230デフォルトの名無しさん:2013/10/27(日) 04:06:13.45
>>210
なんだったか、delphiのライブラリの独特な仕様の一部が
そのまま.NET Frameworkにも入っている、ってのがあった気がする
何の機能の部分だったかさっぱり思い出せないんだけど
231デフォルトの名無しさん:2013/10/27(日) 06:02:43.69
今見たらtypescriptってC#みたいになってるな
232デフォルトの名無しさん:2013/10/27(日) 08:35:28.92
>>210
TypeScriptはヘルスバーグだよ
233デフォルトの名無しさん:2013/10/27(日) 09:24:44.07
ヘジたん love!
234デフォルトの名無しさん:2013/10/27(日) 09:42:47.84
ObserverパターンをRx使わなくてもいいように、もっと簡単にしてほしい
235デフォルトの名無しさん:2013/10/27(日) 10:01:31.25
いやObserverパターンってC#のイベントそのものだぞ
Observerパターンを言語に取り込んだのがイベントだ
Rxは(GoFでいう)Observerパターンとは全く異なるもの
236デフォルトの名無しさん:2013/10/27(日) 10:17:10.07
仮面ライダー?
237デフォルトの名無しさん:2013/10/27(日) 10:19:33.73
ObserverパターンでいうところのObserverをDSL使ってプル型っぽく書けるようにしたのがRxだけど
あれをObserverパターンだと言うとGoF信者が発狂する
238デフォルトの名無しさん:2013/10/27(日) 10:28:29.79
EventArgs e = await button.Click;
ができればRxは完全に用済みなわけだけど、できないんだっけ?
自分で作るのは簡単にできそうだな
239デフォルトの名無しさん:2013/10/27(日) 10:56:31.88
>>235
え?そうなの?
GoFのデザパタのひとつだとは知ってたんだけど、C#のイベントがObserverで実装されてたんだ・・・

なんかみんな詳しいね、俺の現場にもみんなのような師匠が居ればレベルアップできるんだけどな・・・
240デフォルトの名無しさん:2013/10/27(日) 10:57:40.31
MVPの弟子になればいいじゃん
たぶん糞面白くもないWPFのレクチャーされるだろうが
241デフォルトの名無しさん:2013/10/27(日) 10:59:54.94
技術はみんな持ってる
待遇に見合わないから出し惜しみしたり、競争の優位性保つために隠したり
そんなもんだよ
こいつら技術ねえなあって思っても何だかんだ仕事は進むだろ?
技術ガチなかったら進まないから
242デフォルトの名無しさん:2013/10/27(日) 11:03:23.06
>>239
俺も学生の頃にネットの凄い人たちを見ていて、
会社でプロでやっている人たちはこんなに凄いんだ、付いて行けるかなと心配してたんだが、、、
入った会社のソースを見て、余りのレベルの低さに衝撃&目眩。。。
でも、転職先で偶然MVPな人と一緒に仕事をする事になって、かなり勉強させて貰った。
243デフォルトの名無しさん:2013/10/27(日) 11:06:00.63
だから技術はあるんだよ
でも教えたくなる後輩とそうでない後輩はいる
244デフォルトの名無しさん:2013/10/27(日) 11:10:19.63
いや、高い技術を見せてないだけだったら分かるんだが、
凄まじいネストの嵐、何千行にもなる関数、どこに飛んでるののgoto文、
switch,caseラベルに直値で10進と16進の混在とか、
せめて入門書レベルでいいから普通に書こうよ。
245デフォルトの名無しさん:2013/10/27(日) 11:12:30.05
そしてテストしてないんですよねwww
246デフォルトの名無しさん:2013/10/27(日) 11:14:07.32
やっぱ年上って教え辛いんですかね?
業界入ったの遅いから年齢だけはどうしようもないんですよね
好きな仕事なんでやる気はありまくりなんだけど
247デフォルトの名無しさん:2013/10/27(日) 11:14:29.18
>>244
嫌がらせだろ
かなり嫌われてるんだな、
248デフォルトの名無しさん:2013/10/27(日) 11:16:21.07
>>247
いや俺が入る前から有る主力製品のソースを読む機会が有って見てみたんだ。
249デフォルトの名無しさん:2013/10/27(日) 11:35:23.23
技術不足でまともに進まないからデスマとかIT土方って言葉があるんだと思うぞ
250デフォルトの名無しさん:2013/10/27(日) 12:13:57.94
普段使えない同僚が社外で個人作のフリーソフトの出来が良くて不思議だった
251デフォルトの名無しさん:2013/10/27(日) 12:23:21.23
レベル高い人って共通して書くスピードが半端じゃなくて仕事が速いってみんな言いますね
そんな人見た事ないですけど・・・
252デフォルトの名無しさん:2013/10/27(日) 12:33:03.50
>>251
うちに1人すごい人がいるけど、突出しているのはその人くらいですね
100人に1人もいないんじゃないでしょうかね
スピードと言うより、無駄や手戻りがなく思考時間が短くて効率がいいんでしょうね
バグも少ないですよ
253デフォルトの名無しさん:2013/10/27(日) 12:34:25.11
ある程度詳しい設計書が出来てる現場にヘルプで入るとノータイムでコードだけ打ってる感じになる
254デフォルトの名無しさん:2013/10/27(日) 12:34:51.19
出来る新人がいるけど出世されたらむかつくからエクセルばっかり書かせてる
255デフォルトの名無しさん:2013/10/27(日) 12:37:18.61
>>218
>稀によく
「稀」なのか「よく」なのかはっきりせい!
256デフォルトの名無しさん:2013/10/27(日) 12:38:09.54
>>255
おまえは一生ROMってろ
257デフォルトの名無しさん:2013/10/27(日) 12:39:36.99
バースト誤りみたいなもんだろ
258デフォルトの名無しさん:2013/10/27(日) 12:43:14.23
新参乙
259デフォルトの名無しさん:2013/10/27(日) 12:45:01.08
>>249
それは仕様策定側、要件定義側の問題では?
260デフォルトの名無しさん:2013/10/27(日) 17:42:19.52
>>255
統計学的に偏りがひどいということだろう。
職場、外ではそんなアホなことを言う奴はまずないのに、2chだと普通にいるとか。
261デフォルトの名無しさん:2013/10/27(日) 17:46:11.50
統計学的()
さすが70。いうことが違う
262デフォルトの名無しさん:2013/10/27(日) 17:54:36.25
マ板でやれってんだろキチガイども
263デフォルトの名無しさん:2013/10/27(日) 18:05:49.86
放置しとけよ
おたくもキチガイに言葉が通じると思ってるのかい
264デフォルトの名無しさん:2013/10/27(日) 18:06:52.51
外では稀にしかニートを見かけないのになぜかこのスレにはよくいるとか。
265デフォルトの名無しさん:2013/10/27(日) 22:23:43.28
画像を100個ほど読み込むにあたって,
image[0]=Properties.Resources.image0;
image[1]=Properties.Resources.image1;
image[2]=Properties.Resources.image2;
というふうにして読み込んでいます.
これを,
for(i=0;i<100;i++){
image[i]=Properties.Resources.image+i.ToStrung();
}
という感じにしたいのですが,これではうまく動きませんでした.
どうか助けてください.
266デフォルトの名無しさん:2013/10/27(日) 22:28:35.10
Resources.Designer.csのコードを開いてみな
267デフォルトの名無しさん:2013/10/27(日) 23:12:30.78
>>266
今日の半日分と次の1週間分のモヤモヤが解決しました!
268デフォルトの名無しさん:2013/10/27(日) 23:33:29.54
>>267
じゃあ次は漏れのムラムラをかいsy・・・
おっと仕事しすぎた。もう寝るお。
269デフォルトの名無しさん:2013/10/27(日) 23:37:49.31
>>268
おかずうp
あごめん、俺も寝るわ
270デフォルトの名無しさん:2013/10/27(日) 23:43:56.98
とんでもないところで質問してしまったのか・・・
ともあれ,ありがとうございました。。
271デフォルトの名無しさん:2013/10/27(日) 23:58:28.14
キモイんだよ馬鹿親父どもが
272デフォルトの名無しさん:2013/10/28(月) 06:11:03.86
List<T>.Contains()が遅くて困ってたけど、最適化が終わったので報告。
統計とると基本、falseになる場合が99%だったのでほとんど全探索してた模様。
あとループ末端でList<>Count()はかなりキツイ。あと、Stack<>も遅いことが判明。

Time0=00:01:14.9643356
Time1=00:00:11.8496268 hash化
Time2=00:00:02.1716764 Stack<>排除 自前実装

処理のアルゴリズムはそのままで結構速くなりました。
273デフォルトの名無しさん:2013/10/28(月) 06:45:22.85
SQL Server使わずにDictionary使う人いるんですが、理由を聞くとKey Valueはテキストだから速い!と言っていました。
連想配列って良くわからないんだけどそんなに速いの?

>>272
のHash化もDictionaryってことだよね?
274デフォルトの名無しさん:2013/10/28(月) 07:13:46.43
SQL Serverとの比較で言うならDictionaryじゃなくてKey-value storeじゃないか
あと.NETのString::GetHashCodeは結果をキャッシュしないからあまり性能が良くない
275デフォルトの名無しさん:2013/10/28(月) 10:12:27.77
>>274
Dictionary側では当然キャッシュしてるからほとんど影響ないよ
要素がいくつあろうがGetHashCodeは一回だ
276デフォルトの名無しさん:2013/10/28(月) 10:44:43.31
>>272
IEnumerable<T>.Count()はコレクションがIConnection<T>を実装してる場合は
実際に要素を数えずICollection<T>.Countプロパティを使うので
List<T>.Count()は定数時間だよ
あとハッシュ使う以外にもList<T>.BinarySearchを使う方法もある
追加削除はどうしてもハッシュより遅くなるけど検索だけならこれでも十分
277デフォルトの名無しさん:2013/10/28(月) 17:56:32.59
for (int i = 0; i < list.Count(); i++)

for (int i = 0, listcnt = list.Count(); i < listcnt; i++)

この差が半端ない。パフォーマンス分析してCount()がトップ3に出てくるなら要チェック。
278デフォルトの名無しさん:2013/10/28(月) 18:00:05.46
いやCountプロパティの方使えよ
279デフォルトの名無しさん:2013/10/28(月) 18:02:03.19
for内で要素数変えないならforの外に出せよ
280デフォルトの名無しさん:2013/10/28(月) 18:03:16.57
使っても倍以上の差が開く。
281デフォルトの名無しさん:2013/10/28(月) 18:03:27.90
もうちょっと実りのある話が欲しくないか
282デフォルトの名無しさん:2013/10/28(月) 18:04:44.32
それは難しい相談だな。
283デフォルトの名無しさん:2013/10/28(月) 18:05:01.39
なんでよw
284デフォルトの名無しさん:2013/10/28(月) 18:06:34.89
そもそもforeach使えよ
285デフォルトの名無しさん:2013/10/28(月) 18:11:55.93
いまはforの話をしてるんです
286デフォルトの名無しさん:2013/10/28(月) 18:13:26.40
IEnumerable<T>.Count()の実装って
var collection = source as ICollection<T>;
if (collection == null) return collection.Count;
else { int n = 0; foreach(var x in source) n++; return n; }
だったはずだから型チェックとプロパティ呼び出しだけの差だね
そんなことで倍以上ってちょっと現実的な状況とは思えないね
普通はループの中の処理のほうが圧倒的に重いし、
検索ならそんな小手先の工夫じゃなくて>>272で自分自身が言ってるように
アルゴリズムを工夫するべき
287デフォルトの名無しさん:2013/10/28(月) 18:18:46.69
1命令と2命令は2倍の差って言いたいんだと思ってたけど違うのか
288デフォルトの名無しさん:2013/10/28(月) 18:23:42.43
その差を軽視してる人は数値計算したことない人だろう。
実際、パフォーマンス分析走らせれば、Genericsがらみだらけなんだから、
便利さ優先で速度後回しのライブラリだよ。ボトルネックになって当然。
289デフォルトの名無しさん:2013/10/28(月) 18:24:43.95
>>288
数値計算なら配列使え
290デフォルトの名無しさん:2013/10/28(月) 18:25:06.82
いや、君スレタイ見てるかな
291デフォルトの名無しさん:2013/10/28(月) 18:28:35.11
数値計算したことがあれば、細かいこと気にするのは最後ににほんの一部分だけでいい
ということは身をもって理解してるはずだが
292デフォルトの名無しさん:2013/10/28(月) 18:29:19.48
コンテキスト(Context)の省略形がいつも悩むのですが、いい3-4文字の省略形ないですか

ctx = 変
cntx = おかしい
cntext = なげーよ
293デフォルトの名無しさん:2013/10/28(月) 18:29:20.56
C#自体のオーバーヘッド気にしない時点でナンセンスな話だろ
294デフォルトの名無しさん:2013/10/28(月) 18:31:07.37
Fortran.net使え。
295デフォルトの名無しさん:2013/10/28(月) 18:31:45.81
よく見かけるのはcontかな
296デフォルトの名無しさん:2013/10/28(月) 18:32:15.28
数値計算するときは結果を出すとための計算式が全て。それを改善したら1万倍とか速くなる
プログラムでの改善なんてごくわずかだろ
297デフォルトの名無しさん:2013/10/28(月) 18:39:15.80
しかし電子計算機には電子計算機に適した計算式があるのだから仕方がない。
基本and、or、notなんだから。
298デフォルトの名無しさん:2013/10/28(月) 18:46:02.11
もうFPGAでもやってろや
299デフォルトの名無しさん:2013/10/28(月) 18:48:47.82
>>292
ctxでいいんじゃね?
300デフォルトの名無しさん:2013/10/28(月) 19:36:30.92
元の形を残せないなら、最初の数文字を使うことが多いから、con とか。
でも、7 文字くらいだったらそのままでいいんじゃないかと。分かりやすいし。
301デフォルトの名無しさん:2013/10/28(月) 19:38:05.96
>>292
たった7文字を略そうと思う発想そのものが変だとは思わないんだ
302デフォルトの名無しさん:2013/10/28(月) 19:47:03.34
思ってたら聞かないだろ間抜け
303デフォルトの名無しさん:2013/10/28(月) 20:13:58.06
WCF初めて知った・・・恥ずかしい・・・///
そしてググるとかずきのサイト・・・彼、若いのにほんとすごいよね
尾上のサイトより何倍も役にたってる
WCFのここは抑えとけってあったらアドバイスお願いします
304デフォルトの名無しさん:2013/10/28(月) 20:17:43.67
もう時代が二回りしてるな
305デフォルトの名無しさん:2013/10/28(月) 20:20:29.23
まだVS2008使ってるというのにMSはどこまで先へ行ってしまったのか。

なぜか追いかける気がしない。先で転んでそうだから。
306デフォルトの名無しさん:2013/10/29(火) 15:29:10.78
いまだにVS2008使ってるか
ただのアホだろ
307デフォルトの名無しさん:2013/10/29(火) 15:36:02.57
vsは2012か2008の2択だろjk
308デフォルトの名無しさん:2013/10/29(火) 16:06:00.34
2010だよ
Win8なんざ使う気ねぇ
309デフォルトの名無しさん:2013/10/29(火) 16:33:26.55
タッチパネル使わないのに2012で開発してるやつはキチガイ
2008は新しい技術についていけなかった老害キチガイ
2010は天才
310デフォルトの名無しさん:2013/10/29(火) 16:34:14.68
compact framework案件が多いんだよファック
311デフォルトの名無しさん:2013/10/29(火) 16:41:10.87
おまいらってキーボードやマウスは会社が用意したやつ使ってる?
それとも自分で持ってきたやつ使ってる?
312デフォルトの名無しさん:2013/10/29(火) 16:42:27.64
>>311
自社内なら会社の
出向でノートPCあてがわれたらキーボードだけ持ってく(許可おりれば)
313デフォルトの名無しさん:2013/10/29(火) 16:46:41.95
>>312
さんくす
やっぱり自分の使いやすいキーボードの方がいいよね
314デフォルトの名無しさん:2013/10/29(火) 16:50:19.52
>>313
使いやすい云々ってよりストロークが異様に浅いやつで打ってると
指おかしくなってくる
315デフォルトの名無しさん:2013/10/29(火) 17:33:56.83
>>314
まじか
俺は滑らすように打つタイプだから浅い方がいいな
316デフォルトの名無しさん:2013/10/29(火) 17:57:47.90
asyncとawaitの為だけに2012買ったのぜ・・・
317デフォルトの名無しさん:2013/10/29(火) 18:00:44.62
>>316
ざまぁw
318デフォルトの名無しさん:2013/10/29(火) 18:04:31.08
.NET 5.0の新機能楽しみにしています
319デフォルトの名無しさん:2013/10/29(火) 18:13:20.51
>>318
と.NET4.0の機能もまともに使えていない輩が申しております。
320デフォルトの名無しさん:2013/10/29(火) 19:39:58.58
キーボードよりリファレンス持ち込み制限がキツイ
高級言語はライブラリでかいし覚えられん
321デフォルトの名無しさん:2013/10/29(火) 20:28:50.82
>>320
うるさいところはスマホも持ち込めないしキツいよねえ
322デフォルトの名無しさん:2013/10/29(火) 21:02:05.51
Java の SortedLinkedHashMap の C# 版みたいなクラスはありますか?
C# のDictionary に、追加した順を保持してほしいです。

MSDNを見たところ、そういったクラスはなさそうなのですが・・・・
323デフォルトの名無しさん:2013/10/29(火) 21:07:46.01
標準にはない
324デフォルトの名無しさん:2013/10/29(火) 21:11:10.20
>>321
そんなにきついとか
金融系?
325デフォルトの名無しさん:2013/10/29(火) 21:29:33.48
>>322
Javaにそんな名前のクラスはないが
順番保持のDictionaryならKeyedCollectionが使えるかも
326デフォルトの名無しさん:2013/10/29(火) 23:41:09.36
Windowsアプリケーションを作成しています。

ソフトのアップデートに伴って、
タスクバー上のアイコン画像も変更したのですが
特定の端末上で実行すると、どうしても旧画像(***.ico)が使用されている様です。


例)
A端末 → 新しい画像に切り替わっている
B端末 → 旧画像のままでタスクバー上に表示されてしまう。


備考:
PCを再起動してもB端末上では旧画像のままタスクバーにアイコンが表示されています。


どうすれば正常にB端末でもアイコンを切り替える事が出来ますでしょうか?
※切り替わらないのは、タスクバー上のアイコンのみです。
327デフォルトの名無しさん:2013/10/30(水) 00:24:13.54
>>326
複数の画像を含むアイコンを使ってるのではない?
そのうち1種類しか変更してないとか
328デフォルトの名無しさん:2013/10/30(水) 00:33:33.40
>>327
いいえ。新しく作成した***.ico ファイルを指定してビルドをしています。
329デフォルトの名無しさん:2013/10/30(水) 00:38:03.64
アイコンキャッシュ 削除でぐぐれ
330デフォルトの名無しさん:2013/10/30(水) 00:52:59.29
あれもアイコンキャッシュを使ってるのか
なるほど
331デフォルトの名無しさん:2013/10/30(水) 01:38:57.25
                | ̄``''- 、
                |      `゙''ー- 、  ________
                |    ,. -‐ ''´ ̄ ̄`ヽ、_        /
                |, - '´ ̄              `ヽ、     /
              /               `ヽ、ヽ   /
             _/                    ヽヽ/
           / / /   /  /  /            ヽハ
          く  / /!   |   〃 _/__ l|   | |   |  |  | | ||ヽ
           \l// / |  /|'´ ∧  ||   | |ー、||  |  | l | ヽ
            /ハ/ |  | ヽ/ ヽ | ヽ  | || /|ヽ/!  |/ | ヽ
            / |  ||ヽ { ,r===、   \| _!V |// //  .!   |
            | ||   |l |ヽ!'´ ̄`゙   ,  ==ミ、 /イ川  |─┘
            | ハ||  || | """ ┌---┐  `  / //  |
            V !ヽ ト! ヽ、    |     !    / //| /
               ヽ! \ハ` 、 ヽ、__ノ    ,.イ/ // | /
    ┌/)/)/)/)/)/)/)/)/)/)lー/ ` ー‐┬ '´ レ//l/ |/
    |(/(/(/(/(/(/(/(/(/(/│||      |\  〃
  r'´ ̄ヽ.              | | ト    /    \
  /  ̄`ア             | | |  ⌒/     入
  〉  ̄二) 知ってるが    | | |  /     // ヽ
 〈!   ,. -'                | | ヽ∠-----', '´    ',
  | \| |   .お前の態度が   | |<二Z二 ̄  /     ',
  |   | |               _r'---|  [ ``ヽ、      ',
  |   | |   気に入らない >-、__    [    ヽ      !
  \.| l.              ヽ、      [     ヽ    |
    ヽ|              \    r'     ヽ、    |
332デフォルトの名無しさん:2013/10/30(水) 04:43:02.77
そういうデカいAAは答えが出る前に貼るものよ
333デフォルトの名無しさん:2013/10/30(水) 10:56:40.12
ツボをはずしたAAほど間抜けなものはないな
334デフォルトの名無しさん:2013/10/30(水) 12:26:20.64
AA探しに1時間以上かかったんだろう
335デフォルトの名無しさん:2013/10/30(水) 12:27:32.10
>>329 サンキュー

>>331
寒すぎ
336デフォルトの名無しさん:2013/10/30(水) 15:29:26.54
フォントにMeiryo UIを使ってgraphics.DrawStringするときStringFormatにLineAlignment.Farを設定すると
j や y の下が切れるんですが、他の環境でも同じですか?

Windows7です。
337デフォルトの名無しさん:2013/10/30(水) 15:38:16.90
あれ? StringFormat.GenericDefaultから始めると下が切れない。。
だけどこんどはEllipsisCharacterにしてるせいで点々で省略されてしまう……

下が切れるのはStringFormat.GenericTypographicから始めたときでした。
同じオプションにしてるはずなのに描画の挙動が違うなんてヒドイ
338デフォルトの名無しさん:2013/10/30(水) 15:52:55.24
それだけじゃ追試しようもないな
339デフォルトの名無しさん:2013/10/30(水) 16:52:24.54
すんません単独コードでやってみたら再現しませんでした……

とりあえずMSのTextFormatFlags/StringFormat Utilityだと切れてるんですが
340デフォルトの名無しさん:2013/10/30(水) 17:39:51.36
StringFormatFlags.NoClipをはずしてしまっていました……
ごめんなさーい
341デフォルトの名無しさん:2013/10/30(水) 23:54:40.03
.NET MVCでの開発をしようとしてるのですが、
WebGrid と jqGrid どちらがいいのでしょうか
342デフォルトの名無しさん:2013/10/31(木) 00:08:59.51
俺がWeb嫌いな理由はC/Sの、今なら分散システムの通信ロジックが広くて難しいってことなんだよな
景気悪いからトレーニング兼ねた現場もなかなか無いし、パートだけ書いててもぜんぜん理解できない
343デフォルトの名無しさん:2013/10/31(木) 00:12:24.35
必要になったときに覚えりゃええねん
344デフォルトの名無しさん:2013/10/31(木) 14:03:59.42
>>341
概ねどんな技術にも言えることだが、まずはビルトインのもので作ってみて足りなかったら外部に頼る
最初っからショートカットしようとするのは結局一番遠回り
つまりまずはWebGridで作ってみな
345デフォルトの名無しさん:2013/10/31(木) 18:04:25.22
>>344
言えてる
アセンブラとは言わないがCぐらいは義務教育で必修にしないと日本のITは終わる
346デフォルトの名無しさん:2013/10/31(木) 18:12:29.95
>>345
さすがにそれは遡りすぎだw
まあ車輪の再発明を恐れる気持ちは良く分かるが、それはそれでいい経験なんだけどねえ
347デフォルトの名無しさん:2013/10/31(木) 18:30:02.89
好奇心に勝る才能はない
348デフォルトの名無しさん:2013/10/31(木) 18:44:42.31
俺はエロゲの画像データ解析でC言語を覚えた。
エロは技術革新をもたらす。
349デフォルトの名無しさん:2013/10/31(木) 18:55:48.56
俺はエロ動画を見たいからPCを買ってプログラマデビューをした。
350デフォルトの名無しさん:2013/10/31(木) 19:16:46.60
エロ画像管理は素人なりに結構勉強になった
351デフォルトの名無しさん:2013/10/31(木) 19:33:11.34
だから業界に野郎が多いのか
352デフォルトの名無しさん:2013/10/31(木) 19:56:05.42
俺は教えてちゃんを繰り返すうちに彼氏ができた。
353デフォルトの名無しさん:2013/10/31(木) 20:38:42.20
周り半分女だわ
354デフォルトの名無しさん:2013/10/31(木) 20:57:47.63
裏山死刑といいたいが顔による
355デフォルトの名無しさん:2013/10/31(木) 22:01:55.37
開発現場にいる女って

マンコがついてるだけのデブス
356デフォルトの名無しさん:2013/10/31(木) 22:28:42.12
万個ついてれば十分
357デフォルトの名無しさん:2013/10/31(木) 22:30:00.21
>>344
うんむ、WebGridでいくかの

>>355
なぜか30才以上独身が多い
358デフォルトの名無しさん:2013/10/31(木) 22:33:21.53
1000人以上いて、95%が男だなあ
359デフォルトの名無しさん:2013/10/31(木) 23:58:43.34
俺の周り美人ばっかりだ。ごめんな
360デフォルトの名無しさん:2013/11/01(金) 00:18:59.32
まあ女性のほうが能力平均は高いな。
男は能力に差がありすぎる
361デフォルトの名無しさん:2013/11/01(金) 00:36:53.15
割と可愛い地味目の女が多いな
特に協力会社に女が多い
比較的楽な職場だから根性無さそうなのが回されるんだろう
362デフォルトの名無しさん:2013/11/01(金) 07:49:03.83
>>359
いや、謝る暇があったら眼科行け
363デフォルトの名無しさん:2013/11/01(金) 15:18:27.61
>>359
画像うp
364デフォルトの名無しさん:2013/11/01(金) 19:53:26.76
壁紙がクラウディア窓辺とかなんだろ
365デフォルトの名無しさん:2013/11/01(金) 20:30:52.46
なにそれマイクロソフト関連?
366デフォルトの名無しさん:2013/11/01(金) 20:44:45.58
クラウディアさんみたいな人と結婚したいよね
367デフォルトの名無しさん:2013/11/01(金) 20:46:38.64
クラウザーさん?
368デフォルトの名無しさん:2013/11/01(金) 20:48:24.50
残念、今出しょう子でした
369デフォルトの名無しさん:2013/11/02(土) 00:09:26.95
初歩的な質問でもうしわけないのだけど、エンディアンに詳しい人いたら教えてください。
以下のようなコードがあった場合

byte[] BYTE_ARRAY = new byte[sizeof(uint) * 8];
fixed(byte* byteArray = &amp;BYTE_ARRAY[0]) {
 uint* p = (uint*)byteArray;
 
 for(int i=0; i<8-1; i++)
  *(p) ^= *(p + 1)
}

Console.WriteLine(BitConverter.ToString(BYTE_ARRAY));

C#でも、ビックエンディアンとリトルエンディアン関係なく、同じデータが出力されるという認識でOKでしょうか?
ビックエンディアン向けも対応せざる得ないんだけど、テスト環境が揃わないのでテストできない・・・。
詳しい方教えてください。
370デフォルトの名無しさん:2013/11/02(土) 00:15:50.84
C#でデータ作って保存して取り出すならエンディアン関係なしに同じ
どっか別のが保存したのを1バイト単位で取り出して処理するって話ならエンディアンは考えないとダメ

ってか配列やエンディアンがどんなものかイメージでしか分かってないだろ
それを先に勉強しとけ
371デフォルトの名無しさん:2013/11/02(土) 00:21:48.07
>>369だとforの中がたまたまエンディアンと無関係な計算だから結果は同じになるはずだけど
一般的には同じにならないよ
372デフォルトの名無しさん:2013/11/02(土) 00:31:23.52
>>370
ありがとう。
問題ないとは思ってたけど安心した。
373デフォルトの名無しさん:2013/11/02(土) 00:42:07.99
>>371
取りあえずはバイト配列の高速処理のためにuint*なりでまとめて処理してって感じです。
C#が他の型のポインタにキャストの時によけいなことしてないと分かれば一安心です。

ちなみに外部入力やらエンディアン依存の数字配列(計算に使う)なんかは環境にそろえてバイトスワップ処理やっとります。
374デフォルトの名無しさん:2013/11/02(土) 00:56:51.41
これはトラブルパターンだな
375デフォルトの名無しさん:2013/11/02(土) 07:39:58.48
インディアン嘘つかない←嘘だよな?
376デフォルトの名無しさん:2013/11/02(土) 10:36:41.86
>>369
> ビックエンディアン向けも対応せざる得ない

仕事で MONO とか使ってるの?
377デフォルトの名無しさん:2013/11/02(土) 11:57:38.11
rawデータ加工です
378デフォルトの名無しさん:2013/11/02(土) 12:37:13.73
EXIFならMかIかみてエンディアン意識しないと動かないぞ
379デフォルトの名無しさん:2013/11/02(土) 12:39:54.31
もういいですよ
そのうちエンディアンネスの違いで天が落ちてくる心配までしてやる気か?
380デフォルトの名無しさん:2013/11/02(土) 15:17:28.12
簡易的なメーラーを作りたいのですが、パスワードを復号化するための秘密鍵の
保存方法で迷っています。

■実現したいこと
thunderbirdのような一般的なメーラーのように
パスワードは初回入力のみで、次回からパスワード入力無しでメールを取得
(POP3)したい。
381デフォルトの名無しさん:2013/11/02(土) 15:21:00.16
>>380
・復号に必要な情報をクラウドに置く
・オペレーティングシステムの暗号サービス機能を利用する
382デフォルトの名無しさん:2013/11/02(土) 15:21:00.63
それは盗まれても構わない(PCにアクセスされたらパスワード流出は覚悟)ってスタンスが普通。
chromeなんてパスワード平文保存だよw
383デフォルトの名無しさん:2013/11/02(土) 15:21:44.25
それじゃ要件が足らない
秘密鍵の保存にあたってどういうセキュリティ実現したいか
がコアな問題だろ
お前はどういう風に秘密鍵を保存したいんだ
384デフォルトの名無しさん:2013/11/02(土) 15:24:00.89
■実装方法と欠点
手段1.共通鍵暗号方式でパスワードを暗号化し、暗号化されたパスワードを%appdata%などに保存しておく。
    暗号化に使用した秘密鍵は・・・どこに保存?
    暗号化されたパスワードなら流出しても復号化できなければ意味が無いので適当に置いといてもいいのかなとは思いますが
    秘密鍵もセットで流出するとダメなので、どうやって永続化すればいいのかわかりません。
385デフォルトの名無しさん:2013/11/02(土) 15:26:46.65
よく考えろ
HDDのどこに保存しようがHDDダンプして外部送信されたら
HDDのどこにも安全なところなどないのだということを
386デフォルトの名無しさん:2013/11/02(土) 15:26:52.04
>>384
パスワードは流出したら困るから暗号化
暗号化するのに使ったキーは流出したら困るから暗号化
キーを暗号化するのに使ったキーは流出したら困るから暗号化
以下ループ
387デフォルトの名無しさん:2013/11/02(土) 15:29:12.23
windowsだったら暗号化APIにPC依存で暗号化して保存してくれる処理があったと思う
これも単に暗号化してくれるだけだから安全じゃないが
388デフォルトの名無しさん:2013/11/02(土) 15:31:44.13
流出する時なんて既に悪性のプログラムが何かもぐりこんでるわけだから無駄
389デフォルトの名無しさん:2013/11/02(土) 15:31:45.33
1度に書ける文字数と、連続投稿規制がきつい・・・

手段2.公開鍵暗号方式によって公開鍵と秘密鍵を生成し、鍵2種はキーコンテナーに保存しておく
    msdn.microsoft.com/ja-jp/library/tswxhw92(v=vs.110).aspx
    キーコンテナーを使用する場合、コンテナ名(上記ソースではMyKeyContainer)がわかれば取得できてしまうため
    .NET Reflectorなどを使用して調べられたら終わり。
390デフォルトの名無しさん:2013/11/02(土) 15:34:37.40
安全に保存する方法はないよ。毎回手入力させたって安全にはできない。諦めな
391デフォルトの名無しさん:2013/11/02(土) 15:37:29.47
あと〜POP3の方がセキュリティがザルなんで
俺が流出によって攻撃したいと考えているなら
POP3のパケットの方を狙うわ
392デフォルトの名無しさん:2013/11/02(土) 15:39:50.53
皆さんたくさんのレスをありがとう。

ぶっちゃけると、パスワードが流出した場合に
私が作成したプログラムのセキュリティが他のソフトと比べて甘すぎるからダメだった
ってことになるのが嫌だったんです。
※しかし毎回手動入力は必須
393デフォルトの名無しさん:2013/11/02(土) 15:40:09.15
>POP3の方がセキュリティがザル
いまどきTLSで暗号化してないバカがいるとは思わなかった
394デフォルトの名無しさん:2013/11/02(土) 15:42:58.72
>>393
●CNとか大きなプロバイダーのメール未だに平POP多いよ
根本的にやる気ないんだろう
395デフォルトの名無しさん:2013/11/02(土) 15:54:43.68
俺が課金してるHPは素のFTPのみだなw
396デフォルトの名無しさん:2013/11/02(土) 15:57:00.77
>>393
今時過剰にセキュリティーを気にする方が馬鹿っぽいと思うけど
397デフォルトの名無しさん:2013/11/02(土) 16:05:27.65
レジストリにでも保管してろよ
398デフォルトの名無しさん:2013/11/02(土) 17:01:27.72
>>392
?しかし毎回手動入力は必須
○しかし毎回自動入力は必須

レジストリ案いいですね。
ありがとう。
399デフォルトの名無しさん:2013/11/02(土) 17:02:20.59
今時レジストリなんか使うなカス
400デフォルトの名無しさん:2013/11/02(土) 17:25:31.24
画像リソースとかをユーザーに共有させる機構をアプリに組み込んだけど、
GoogleドライブのアカウントIDを埋め込む必要があって、一応暗号化してソースに直書した
Reflectorで見ればどうせ一発だから呪いの言葉も添えといたわ
401デフォルトの名無しさん:2013/11/02(土) 17:34:38.31
いい加減逆コンパイラ消えないかなー
でも他人の書いたコードはみたいなー
402デフォルトの名無しさん:2013/11/02(土) 19:26:05.35
>>401
まず舌をおもいっきり噛め
話しはそれからだ
403デフォルトの名無しさん:2013/11/02(土) 19:26:28.72
それってGoogleの利用規定とかに触れないのかな
404デフォルトの名無しさん:2013/11/02(土) 19:30:38.67
>>401
お前が消えろ
405デフォルトの名無しさん:2013/11/02(土) 19:32:51.65
MSの設計方針としてはどうなんだろうね
サポートで金稼げってことかな
Javaの有料販売アプリってあったっけ
406デフォルトの名無しさん:2013/11/02(土) 20:47:43.12
http://rawrbitrary.com/arcade/infinite-mario-bros-in-html5/

世の中にはこんなゲームを作れるスーパープログラマがいるというのに
このスレのカスどもは。。。
407デフォルトの名無しさん:2013/11/02(土) 20:57:24.13
>>378
横から質問なんですが、Exifから画像方向を取得しようとして
System.Drawing.Imaging.PropertyItem をBitmap.PropertyItemsプロパティからから取得してみたんです。
id 0x112 (Orientation)のValueを取得すると、バイト並びは
0x06, 0x00
となってました。これってリトルエンディアンですよね?
バイナリエディタでTIFFヘッダーをみてみるとMM(ビッグエンディアン)なんですが
どうなってるんでしょうか。。

ヘッダのエンディアンに関係なく値が格納されてるファイルが存在するのか、
.netがヘッダを見てValueをBitConverterで簡単に取得できるようにリトルエンディアンにしてくれているのか?
408デフォルトの名無しさん:2013/11/02(土) 21:04:53.32
それはexif読むライブラリ使ってるようなもんだからエンディアン関係なし
ただしその手ので取り出したバイトデータからメーカーノート読むんだったらエンディアン関係あり
409デフォルトの名無しさん:2013/11/02(土) 21:05:18.63
PropertyItem取ってくるときにライブラリが変換してる
410デフォルトの名無しさん:2013/11/02(土) 21:56:46.60
>>406
す、すごい、
411デフォルトの名無しさん:2013/11/02(土) 22:00:34.91
>>410
しかも何気に面白いw
412デフォルトの名無しさん:2013/11/02(土) 22:08:11.26
>>410
ブラウザのマリオって10年ぐらい前からあって今更感しか感じないけど
413デフォルトの名無しさん:2013/11/02(土) 22:19:20.62
Canvas使って二次方程式レベルの物理演算してるだけ
技術的ハードルもアイデアも存在しない単純作業だな
414デフォルトの名無しさん:2013/11/02(土) 22:22:36.95

ぐぐって Canvas を調べたんですね。よくできました。
415デフォルトの名無しさん:2013/11/02(土) 22:34:16.36
自分がググったからこそできる反応
416デフォルトの名無しさん:2013/11/02(土) 23:51:19.82
バカってゆーほーがバカだ、の世界ですね。わかりますん。
417デフォルトの名無しさん:2013/11/03(日) 00:04:02.04
おまえほどの馬鹿はいねーよ
418デフォルトの名無しさん:2013/11/03(日) 00:43:20.19
馬鹿と罵っていいのは小学生まででしょ。
大人になってからそういう罵り方するのは何かを間違っちゃってるんでしょ。
治るといいよね。
419デフォルトの名無しさん:2013/11/03(日) 06:43:42.88
visual studioのデータテーブルアダプタのような自動生成のデータアクセスオブジェクトは業務で使いますか?
それともSqlConnectionなどのクラスを使い手書きしますか?
420デフォルトの名無しさん:2013/11/03(日) 09:15:46.90
ケースバイケース
421デフォルトの名無しさん:2013/11/03(日) 09:32:33.16
堅いシステムだと型付きDataSetが主流かなあ
Entity Frameworkもちらほら見かけるようになったけど
DataReaderを生で使うのはもうほとんど見ないが、更新系SQLではDbCommandじゃないとダメなことが結構ある
422デフォルトの名無しさん:2013/11/03(日) 17:54:19.78
未だにDataSet使わなきゃいけない現場があるのか…
423デフォルトの名無しさん:2013/11/03(日) 18:09:03.47
未だにVB6の案件時折見るぞ
それにくらべたらDataSetなんて超モダンだろ
424デフォルトの名無しさん:2013/11/03(日) 18:43:07.91
ハイカラですなあ
425デフォルトの名無しさん:2013/11/03(日) 18:44:38.22
超モダン
426デフォルトの名無しさん:2013/11/03(日) 18:59:10.49
MS-Cの仕事すらいまだにあるからな
427デフォルトの名無しさん:2013/11/03(日) 21:02:05.14
パンチカードとかの時代の案件の保守とか一度やってみたい
428デフォルトの名無しさん:2013/11/03(日) 21:11:08.24
その辺は真空管関連の電子工作が必要だろうな
429デフォルトの名無しさん:2013/11/03(日) 21:12:47.71
初歩のラジオはいい雑誌だった。ふぅ
430デフォルトの名無しさん:2013/11/04(月) 01:30:19.24
vs2010のC#でMFCみたいなカッコイイUI (リボン?)って作れないんですか?
431デフォルトの名無しさん:2013/11/04(月) 01:33:44.60
>>430
マイクロソフトの非公式サイトのリボンライブラリを使用
432デフォルトの名無しさん:2013/11/04(月) 01:46:04.69
433デフォルトの名無しさん:2013/11/04(月) 02:35:55.52
リボンほど世界から嫌われたUIはない。
434デフォルトの名無しさん:2013/11/04(月) 02:46:23.46
そもそもリボンとMetroが激しくマッチしないからな
M$のムカツクところがAppleと違ってデザインを統一しないってところなんだよな
8.1ですらデスクトップのスタートボタンとその隣のIEとExplorerのアイコンが激しく違和感ありまくりだし
Metroをそのままデスクトップにまでもってくればよかったのに
M$様が提唱してるWPFなら粗結合でUIだけ変更できるんじゃないんですか?
435デフォルトの名無しさん:2013/11/04(月) 07:03:18.65
マカーがMSに入ってからおかしくなった。
436デフォルトの名無しさん:2013/11/04(月) 13:32:37.34
パソコンの内パーソナルな部分は全部スマフォに持っていかれて
今のパソコンの使われ方はワークステーションだからな
Metroとか脇見せずワークステーションOSとして実装すればいいのに
437デフォルトの名無しさん:2013/11/04(月) 13:56:18.33
>>433
開発者で今時その認識は痛い

>>434-436
何を言ってるのかさっぱり分からん
438デフォルトの名無しさん:2013/11/04(月) 14:02:06.52
分からないなら黙っててください。ウザイだけです。
439デフォルトの名無しさん:2013/11/04(月) 14:49:08.27
>>436
同意
440デフォルトの名無しさん:2013/11/04(月) 15:16:47.70
OS

一本化して
開発費を
抑えたいんです!
441デフォルトの名無しさん:2013/11/04(月) 17:01:17.47
自演くせーのがあるな
442デフォルトの名無しさん:2013/11/05(火) 19:52:34.93
指定したディレクトリから
そこに存在するファイルを表示させて
更に指定したディレクトリの下にフォルダがあったら
そのフォルダの中のファイルも表示させる
ツリー表示みたいにさせたいんです。
それで、指定したディレクトリにはAフォルダがある。
そしてAフォルダの中にはBフォルダとCフォルダがある。
BとCが同じ場所にあるように見せたいんですけど
知恵を貸してください。
ソースはこちら
http://ideone.com/fUVXqo
443デフォルトの名無しさん:2013/11/05(火) 19:55:28.05
リストボックスじゃなくてツリービュー使えばいい
444デフォルトの名無しさん:2013/11/05(火) 19:56:42.17
リストボックスで完成させたいんです。
445デフォルトの名無しさん:2013/11/05(火) 20:02:56.88
見せたいのは分かったけど質問がなんなのか書いてありません。
知恵を貸せ、じゃない。
どの点に知恵を提供すればいいんだね。
446デフォルトの名無しさん:2013/11/05(火) 20:03:07.80
じゃオーナードローするか
-+-A
 +-B
みたいに文字付けてツリーにしろよ
でもそんなんじゃヤダって言うんだろ?氏ね
447デフォルトの名無しさん:2013/11/05(火) 20:15:27.08
ほんと何を質問したいのかさっぱりだな
448デフォルトの名無しさん:2013/11/05(火) 20:16:45.87
>>445
自分の書いたソースだと
フォルダが同じ場所でもどんどん右の方に寄っていきます。
同じ場所の場合は右に寄らないようにしたいのです。
449デフォルトの名無しさん:2013/11/05(火) 20:29:15.27
ツリービュー使いたくない理由が不明
450デフォルトの名無しさん:2013/11/05(火) 20:30:02.10
右に寄せる処理のところに同じ階層の時は寄せる処理はしないようにifでかけば?
451デフォルトの名無しさん:2013/11/05(火) 20:31:14.99
>>450
同じ階層だと判定する処理を教えてください。
452デフォルトの名無しさん:2013/11/05(火) 20:36:55.67
以降ノータッチでお願い
453デフォルトの名無しさん:2013/11/05(火) 20:43:02.20
>>70臭がした
454デフォルトの名無しさん:2013/11/05(火) 20:45:33.51
しねえよw
455デフォルトの名無しさん:2013/11/05(火) 22:24:55.92
昔、ツリーなかった頃LISTBOXでツリー作ったっけな
リカーシブコールと、階層の深さ情報も持ち回したかな
456デフォルトの名無しさん:2013/11/05(火) 22:47:51.03
>>442
http://ideone.com/DLGPoL
質問には答えない
457デフォルトの名無しさん:2013/11/05(火) 22:53:48.33
language: C#
created: 1 hour ago
visibility: public

なんで1時間経ってから貼ったの?
458デフォルトの名無しさん:2013/11/06(水) 00:09:38.49
CMD でTREE > c:\tree.txt
459デフォルトの名無しさん:2013/11/06(水) 00:16:39.80
>>458
天才
460デフォルトの名無しさん:2013/11/07(木) 20:41:12.36
>>442
仕事時間空いたので暇つぶしに・・・おれ優しいだろ。

このメソッドを追加して、

private void FolderUnderDisp(string folder,int level)
{
listBox1.Items.Add(new string(' ', level * 5) + System.IO.Path.GetFileName(folder) + "[フォルダ]");
level++;

foreach (string SubFolder in System.IO.Directory.GetDirectories(folder, "*", System.IO.SearchOption.TopDirectoryOnly))
{
FolderUnderDisp(SubFolder, level);
}

foreach (string FilePath in System.IO.Directory.GetFiles(folder, "*", System.IO.SearchOption.TopDirectoryOnly))
{
listBox1.Items.Add(new string(' ', level*5) + System.IO.Path.GetFileName(FilePath) + "[ファイル]");
}
}


元のソースの
//指定ディレクトリの中のサブディレクトリを格納
コメント行から
FileName(file1, folder);
の行までを全部削除して代わりに
FolderUnderDisp(textBox1.Text, 0);
を追加で幸せになれるよ。

他のメンバ変数とFileName()ってメソッドも要らないから削除ね。
461デフォルトの名無しさん:2013/11/10(日) 19:49:00.30
クラスをロックしないでメンバにアクセスすると例外を出すようなクラスって作れますか?
462デフォルトの名無しさん:2013/11/10(日) 19:56:26.86
無理 複数の同期オブジェクトでlockされたらどうすんの?
463デフォルトの名無しさん:2013/11/10(日) 20:01:23.19
class Hoge {
&nbsp; &nbsp; readonly object sync = new object();
&nbsp; &nbsp; public IDisposable LockThis() {
&nbsp; &nbsp; &nbsp; &nbsp; syncでMonitor.EnterしてDisposeでMonitor.Exitするオブジェクトを返す
&nbsp; &nbsp; }
&nbsp; &nbsp; public void Do() {
&nbsp; &nbsp; &nbsp; &nbsp; LockThisが呼ばれてからDisposeされてない間はthrow
&nbsp; &nbsp; &nbsp; &nbsp; 処理
&nbsp; &nbsp; }
}
強いて言うならこんなんかなぁ
464デフォルトの名無しさん:2013/11/10(日) 20:03:00.53
&nbsp;
465デフォルトの名無しさん:2013/11/10(日) 20:08:41.88
匿名掲示板に意味不明な暗号命令を書き込んでる奴がいます。
冤罪事件だと思います。
466デフォルトの名無しさん:2013/11/10(日) 20:10:10.09
冤罪だと判明してるなら別にええやん
467デフォルトの名無しさん:2013/11/10(日) 21:07:10.31
ワロタw
468デフォルトの名無しさん:2013/11/11(月) 16:21:46.59
struct A{...};

//(1)
[DllImport("a.dll")]
static extern Func(ref A a);

//(2)
[DllImport("a.dll", EntryPoint="Func")]
static extern FuncNull(int a = 0);

(1)でFuncに構造体のポインタを渡せますが
nullを渡す方法が分からないので
(2)のような宣言も用意しています。

・unsafeを使わない
・余計なメモリの確保や構造体全コピーのようなオーバーヘッドを発生させない
・(2)のような冗長な宣言なし
・もちろん構造体のポインタも渡せる

上記を満たすような記述はありませんか?
469デフォルトの名無しさん:2013/11/11(月) 16:38:31.02
何で構造体じゃなくてクラスを使わないの?
470デフォルトの名無しさん:2013/11/11(月) 16:44:09.71
unsafeでも使ってろ
471デフォルトの名無しさん:2013/11/11(月) 17:30:59.01
>>469でFA
ただしクラスの場合は
StructLayout属性を明示しないといけない
472デフォルトの名無しさん:2013/11/11(月) 18:21:30.19
StructLayoutっていう名前と、サンプルコードに構造体使ってるところばっかりだから
意外と盲点だった
473デフォルトの名無しさん:2013/11/11(月) 18:26:54.04
クラスを渡せるとは知りませんでした。
vtableを除いた部分のポインタを渡す方法を教えてください。
474デフォルトの名無しさん:2013/11/11(月) 18:36:42.73
はあ?何言ってんのお前
475デフォルトの名無しさん:2013/11/11(月) 18:55:10.17
>>473
StructLayoutつければ構造体と同じように扱ってOK
vtableとかそんなことは考えなくていい

というか構造体も仮想じゃないmethod tableは持ってんじゃないの?
詳しい人教えて
476デフォルトの名無しさん:2013/11/11(月) 19:40:21.52
classでもstructでもP/Invokeの時はマーシャリングが発生する
必要に応じて変換やコピーが発生している
vtableはコピーされない
477デフォルトの名無しさん:2013/11/11(月) 20:09:46.27
なるほど、vtableは除かれるんですね。
ありがとうございました。
478デフォルトの名無しさん:2013/11/11(月) 23:53:18.24
いや残りますよ場合によってですが
479デフォルトの名無しさん:2013/11/12(火) 08:52:27.49
struct A{...};

//(1)
[StructLayout(LayoutKind.Sequential)]
class Wrap<T>{
public T a;
}

//(2)
[StructLayout(LayoutKind.Explicit)]
class Wrap<T>{
[FieldOffset(0)] public T a;
}

 [DllImport("a.dll")] static extern Func(ref A a);
→[DllImport("a.dll")] static extern Func(Wrap<A> awrap); に変更

(1)では動作しませんでした。
(2)ではこのクラスメンバを呼び出す周辺のコードまでデバッガで追えなくなってしまいました。
例外も発生せず、スルーのようです。

Aはランタイム定義、FuncはWin32apiなので変更できません。
どのように書けば、先頭に構造体を配置したクラスのポインタを渡せますか?
480デフォルトの名無しさん:2013/11/12(火) 09:18:39.71
なんでジェネリック型にしようとか考えちゃってんの?
しかも構造体がランタイム定義って情報は後出しじゃん。ったくもう……

struct A{...};

[StructLayout( LayoutKind.Sequential )]
class C
{
 public A a;
}

[DllImport("a.dll")] static extern Func( C c );

でいけるだろハゲ
481480:2013/11/12(火) 09:23:23.74
これじゃ意味ないなハゲ

[StructLayout( LayoutKind.Sequential )]
class C
{
 ... (ここに構造体Aのフィールドを正しい順番で定義)
}

つかここまでする意味ってなんなの
やっぱパフォーマンスの要求がシビアなんですか?
482デフォルトの名無しさん:2013/11/12(火) 09:38:34.07
c#って遅い。Javaにしか勝てないなんて。
483デフォルトの名無しさん:2013/11/12(火) 12:28:22.34
はいはい
シャバい煽りは間に合ってます
484デフォルトの名無しさん:2013/11/12(火) 12:40:37.10
>>482みたいな低能が書いたらどんな言語/処理でも糞遅い
485デフォルトの名無しさん:2013/11/12(火) 12:43:03.83
むしろc#が速いと思ってる奴はよほどの低脳。c#は言語としてとても遅い部類に入る。

勝てるのはそうだな。Javaぐらいか。
486デフォルトの名無しさん:2013/11/12(火) 13:01:20.57
はい次の方ー
487デフォルトの名無しさん:2013/11/12(火) 13:22:25.85
言語というかライブラリだと思ってる
488デフォルトの名無しさん:2013/11/12(火) 15:46:56.51
C#が遅いケースNo.1 ・・・ DEBUGビルドのexeをそのまま使っている
この場合GUIが絡まない普通のコードで約3倍遅くなる
489デフォルトの名無しさん:2013/11/12(火) 16:05:02.62
C#は早い
LLを使ったことあるならわかる
490デフォルトの名無しさん:2013/11/12(火) 16:25:40.09
やはり速度は C++ + AVX が最強ですな。
491デフォルトの名無しさん:2013/11/12(火) 16:30:43.85
ベクトル処理ならGPGPU最強じゃね

それより.NETのSIMD対応ってどの方向良くと思う?
ベクトルデータ型を設けるか
自動ベクタル化の方向で行くか
492デフォルトの名無しさん:2013/11/12(火) 16:39:22.51
速度がクリティカルな処理なら
CとasmのハイブリッドでWinGを使うのが一番速い
WinGならビデオメモリーに直接アクセス出来るんだぞ
493デフォルトの名無しさん:2013/11/12(火) 16:45:39.32
>>492は遅いのしか作れないタイプ
WinG/C/asm使えば速いとかどんだけ馬鹿なんだよ
494デフォルトの名無しさん:2013/11/12(火) 16:58:58.93
>493はペンティアムのU, Vパイプを使ったコードが書けないタイプ(w
495デフォルトの名無しさん:2013/11/12(火) 17:01:58.06
昭和のままお脳が止まっている人がおる
496デフォルトの名無しさん:2013/11/12(火) 17:04:49.75
UVパイプわろた。20年前から進化止まってそう
497デフォルトの名無しさん:2013/11/12(火) 17:09:20.47
今年の3月でPentium登場から20年だったんだな
DOSの頃はVRAMに直接描画してたけど今は触ることねーなぁ
498デフォルトの名無しさん:2013/11/12(火) 17:23:51.08
 
 マ 板 で や れ
 
499デフォルトの名無しさん:2013/11/12(火) 17:25:00.66
それはそうと遥か昔にDirectX由来の行列関数群がSIMD対応してるとかいう噂あったんだがデマか
500デフォルトの名無しさん:2013/11/12(火) 17:26:02.09
>>480
これでいけました。
ジェネリックがいけなかったのかもしれません。
ありがとうございました。
501デフォルトの名無しさん:2013/11/12(火) 17:29:02.21
マ板君キタ━(゚∀゚)━!
502デフォルトの名無しさん:2013/11/12(火) 17:48:30.09
>>500
いや、それでもちろんいけるだろうけど……
503デフォルトの名無しさん:2013/11/12(火) 17:57:44.89
webbrowserで他のフレームにアクセス出来ないんだが
UnauthorizedAccessExceptionが出る
HRESULT:0x80070005(E_ACCESSDENIED)
504デフォルトの名無しさん:2013/11/12(火) 17:58:24.72
スレチだから。

せめて知らない人にわかるように説明口調でお願い
505デフォルトの名無しさん:2013/11/12(火) 17:59:19.87
ってのはCPUの話ね
506デフォルトの名無しさん:2013/11/12(火) 18:00:02.88
507デフォルトの名無しさん:2013/11/12(火) 20:56:32.46
C#は遅いだろ、暗号化と通信とかやったらC++の1/10程度しか速度出なかったぞ
508デフォルトの名無しさん:2013/11/12(火) 21:22:41.27
みんなお前の十倍早いコードがかけるから大丈夫
509デフォルトの名無しさん:2013/11/12(火) 21:24:53.52
俺達は1+1=2じゃねえ、1+1=200だ! 10倍だぞ10倍!
510デフォルトの名無しさん:2013/11/12(火) 22:34:57.41
例えば8bitや7bit文字前提の処理をunicodeのC#でやったら
いたるところでコード変換が必要になるから、
そんなものかもな。

極端な例でよければ逆にC#のコレクションがC++/STLより速い例も
あげることができるよ。
511デフォルトの名無しさん:2013/11/12(火) 22:38:27.07
お呼びじゃないよ
512デフォルトの名無しさん:2013/11/12(火) 22:55:11.79
>>506
dクス
513デフォルトの名無しさん:2013/11/12(火) 23:16:05.33
あのテンプレートとかSTLとかがC++が遅いとか言われるようになった
元凶だとおもうわ
あんなモノはマスターベーションの役にしかたたないだろう
514デフォルトの名無しさん:2013/11/12(火) 23:20:06.96
もちろんそういう分野もあるけど、一般的に速度を求める時代じゃないからな
今時速度連呼してるのは時代遅れか池沼だけだろ
515デフォルトの名無しさん:2013/11/13(水) 05:01:54.47
まず低スペ改善しろってことだな
でもモバイルではやはり速度はほしいのでC#はお呼びでない事実w
516デフォルトの名無しさん:2013/11/13(水) 05:06:35.17
C#でC++のdllを使ったら速くなるの?
517デフォルトの名無しさん:2013/11/13(水) 05:16:03.44
>>513
STLって、むしろ速くね?
518デフォルトの名無しさん:2013/11/13(水) 05:50:17.39
お前らLL使ったことないのな
519デフォルトの名無しさん:2013/11/13(水) 05:58:33.59
C++のテンプレートは速いけど、c#のGenericsは遅い。
520デフォルトの名無しさん:2013/11/13(水) 08:21:02.60
Genericsは型毎にネイティブコードを生成するので
Genericsを使用しない場合と同程度には速い。

そう思っていた時期が私にもありました。
521デフォルトの名無しさん:2013/11/13(水) 08:43:58.94
いまどきSTLなどという化石を使っている人がいるとは
522デフォルトの名無しさん:2013/11/13(水) 09:48:51.19
複素数型すらまともに実装できないGenericsのくせに態度がでかいな。
523デフォルトの名無しさん:2013/11/13(水) 09:53:46.42
Boxingが不要なだけ速いだろ
Objectから取り出す操作がどれだけ重いか
524デフォルトの名無しさん:2013/11/13(水) 11:01:03.21
>>522
つ System.Numerics.Complex
525デフォルトの名無しさん:2013/11/13(水) 11:30:33.00
>>524
精度固定ならGenericsはおろかテンプレートもいらねーよ。
526デフォルトの名無しさん:2013/11/13(水) 15:10:31.32
ソースの暗号する方法ある?
難読化はできるけど

やっぱ、商用するならC++じゃないといかんのか
527デフォルトの名無しさん:2013/11/13(水) 15:15:10.91
暗号化を何だと思ってるの?
仮に暗号化できても実行するときに復号化するんだったら読めるじゃんw
528デフォルトの名無しさん:2013/11/13(水) 17:06:46.63
難読化+暗号化のソフトはいちおーあるな
529デフォルトの名無しさん:2013/11/13(水) 17:27:29.09
ソースの話をしてるんであってexeの話じゃねーよ。
530デフォルトの名無しさん:2013/11/13(水) 17:27:56.95
>>526
アタッシェケースでソースコードのフォルダーを暗号化するのがいいよ
531デフォルトの名無しさん:2013/11/13(水) 17:39:44.51
アメリカかどっかにネイティブにしちゃう商用パッケージなかったっけ?
532デフォルトの名無しさん:2013/11/13(水) 17:46:10.78
ソースは普通テキストファイルなんだから
テキストファイルが暗号化できればなんでも良いんじゃないの
533デフォルトの名無しさん:2013/11/13(水) 17:49:47.81
暗号化zipでも使っとけよwww
534デフォルトの名無しさん:2013/11/13(水) 17:51:08.16
>>531
たしか実行ファイルにライブラリ一式詰め込むんでファイルサイズが巨大化するんじゃなかったっけw
535デフォルトの名無しさん:2013/11/13(水) 18:03:20.44
なんだディスアセンブル防止の話ではないのか
536デフォルトの名無しさん:2013/11/13(水) 18:19:01.77
プログラム内のstring="あああああ"を隠したいとかそんなんじゃないの
537デフォルトの名無しさん:2013/11/13(水) 18:26:58.92
>>536
それだけなら丸見えだから、>>526のC++じゃ〜が意味不明(C#難読化ソフトのオプションで暗号化してくれるのはある)

違うとは思うが>>526>>529だとしたら相当な池沼だろうなwww
538デフォルトの名無しさん:2013/11/13(水) 18:50:29.65
string まりこ様;
int あっちゃん,ともちん;
bool さぁや;

を、隠したいのかもしれん
539デフォルトの名無しさん:2013/11/13(水) 18:54:45.73
それは単純な難読化で隠れる
540デフォルトの名無しさん:2013/11/13(水) 19:52:10.30
ローカル変数なら残らないんじゃね?
541デフォルトの名無しさん:2013/11/14(木) 04:08:46.85
お前ら、あまり気にしてないのな
自分で解析したら、ただコメントが削除されただけの
ほぼそのままソースが入ってて驚いたわ
542デフォルトの名無しさん:2013/11/14(木) 04:16:09.03
async/awaitを使った非同期メソッドにしたらILSpyで全く見えなくてわろた
設定ミスってるのかもしれんが
543デフォルトの名無しさん:2013/11/14(木) 05:16:52.84
string スケベなタイトルのDVD;
int 抜いた回数;
bool お気に入り;
544デフォルトの名無しさん:2013/11/14(木) 12:32:48.93
気にする必要があったら気にするし
気にする必要がなければ気にしない
脳内で条件文が使えないのがバカ
545デフォルトの名無しさん:2013/11/14(木) 12:48:15.87
気にする必要がある場合の話をしてるってことに気づけないのが真のバカ
546デフォルトの名無しさん:2013/11/14(木) 13:40:13.79
思い込みと曲解は救えない
547デフォルトの名無しさん:2013/11/14(木) 16:19:04.77
バカは自分が馬鹿だということが理解できない
548デフォルトの名無しさん:2013/11/14(木) 16:45:12.70
自分が馬鹿だと知った人は、自分より馬鹿の奴を馬鹿にして安心する。
549541:2013/11/14(木) 16:58:36.02
必要があるとかじゃなくて…
お前ら露出狂なの?
550デフォルトの名無しさん:2013/11/14(木) 17:00:35.47
>>507
配列アクセスをunsafeコードでポインタで書き換えても?
配列のままだと添え字チェックが毎回はいるんでそら遅いはず。
あとTPLをこまめに使って並列化を心がければ10倍も違うことはありえない
C/C++だとTPLほど並列化のコストを低減できない
551デフォルトの名無しさん:2013/11/14(木) 17:05:34.62
unsafeはでかい配列を一気に処理するならかなり速くなるが、
小さい配列が大量にあってそれを処理すると逆に遅くなる。fixedが想像以上に重い。
552デフォルトの名無しさん:2013/11/14(木) 17:10:19.65
大量にて、暗号処理やら信号処理などの場合、関数内部の一番外側のループに入る時点ですべての配列が決定するだろ。
そこで処理する配列をすべてfixed宣言するだけで、そんなに重くなるとは思えないんだが、
ループ内部で配列宣言してそいつをその都度fixedしてるんじゃないのか?
553デフォルトの名無しさん:2013/11/14(木) 17:28:12.53
いちいち煽りの相手して暇なのか?
554デフォルトの名無しさん:2013/11/14(木) 17:29:33.38
その10倍違うとかいうコードを見せてもらわんとわからんが、
encryptとか通信って書いてるぐらいだからもともとHWでやってもおかしくない処理だと思うんだが、
fixed宣言することがボトルネックになるほどの大量の小さい配列を使う場面なんて想像できないんだが。
通信フレームのユーザデータを何らかのアルゴリズムに従ってencryptするだけだろ?
555デフォルトの名無しさん:2013/11/14(木) 17:34:10.56
>>553
現実問題としてC#にするとどれぐらい速度低下するかは皆気になるところだろ。
せいぜい許容できるのは、1/2から1/3ぐらいで、1/10となると大問題だろ。
556デフォルトの名無しさん:2013/11/14(木) 18:11:59.73
safe/unsafeうんぬん以前にBitmap.SetPixel/GetPixelが
遅すぎるんでないかと思うようになりました。
557デフォルトの名無しさん:2013/11/14(木) 18:14:17.53
こんな話何回繰り返せば気が済むんだ?
C++やJava,VB6等と比較したベンチマーク結果がどっかにあったろう
558デフォルトの名無しさん:2013/11/14(木) 18:15:02.63
遅すぎるも何も使ってる人はZeroです。Nothingです。Emptyなのです。
559デフォルトの名無しさん:2013/11/14(木) 18:15:29.48
SetPixel/GetPixelなんて遅くて当然だろ
560デフォルトの名無しさん:2013/11/14(木) 18:25:33.16
LockBitsでSetPixel/GetPixel相当の関数を自作したら、
それほど遅くならなかった。(対応フォーマットはいくつかに絞ったけど)
MSがわざと遅くしているとしか思えない。
561デフォルトの名無しさん:2013/11/14(木) 18:31:21.08
具体性のかけらもない検証不可能な放言にどれほど価値があるんだか
ブログに書けチンカスども
562デフォルトの名無しさん:2013/11/14(木) 18:34:57.06
速さに関する議論は、数字ださなきゃ無意味だってのが、過去に学んだ経験だわ。
563デフォルトの名無しさん:2013/11/14(木) 18:40:03.40
何度も同じ話を繰り返す池沼はホント死ね
564デフォルトの名無しさん:2013/11/14(木) 18:48:42.03
70みたいな池沼しかいないスレに期待するなよ
565デフォルトの名無しさん:2013/11/14(木) 18:56:12.78
まじレスするとLINQは糞遅い。
566デフォルトの名無しさん:2013/11/14(木) 18:58:02.52
最初からパフォーマンスの要件あるならC++一択でしょ。
567デフォルトの名無しさん:2013/11/14(木) 19:01:22.02
>>566
C++でもSetpixelみたいなの使ってたら糞遅い
言語以外の部分が重要
568デフォルトの名無しさん:2013/11/14(木) 19:07:12.71
お前らみたいなアホが書いてれば、言語の貴賎と無関係に使い物にならんよ
安心しときな
569デフォルトの名無しさん:2013/11/14(木) 19:20:44.56
急にあっちこっちのスレが荒れだしたな。マルチスレッド君が戻ってきたのか?
570デフォルトの名無しさん:2013/11/14(木) 19:29:40.09
>>566みたいな単純思考は>>70だろうな
571デフォルトの名無しさん:2013/11/14(木) 19:52:53.47
C#perの食いつきのよさと余裕のなさは異常
普段どういう境遇にあるのか偲ばれる
572デフォルトの名無しさん:2013/11/14(木) 20:16:38.11
どう考えても
おまえの病んだ精神の方がやばいだろ
573デフォルトの名無しさん:2013/11/14(木) 20:19:11.07
ほらね
辛抱足らんわ
574デフォルトの名無しさん:2013/11/14(木) 20:20:30.78
そうですね
575デフォルトの名無しさん:2013/11/14(木) 20:21:48.48
暗いと不平を言うよりも
すんであかりをつけましょう

うざいとレスを返すより
すすんで透明あぼーんしよう
576デフォルトの名無しさん:2013/11/14(木) 20:37:07.70
マルチスレッド君ってのは>>70のことなの?
577デフォルトの名無しさん:2013/11/14(木) 20:47:10.40
どうでもいいけど、「C#per」ってどう読むんだろう

CSharperなら、まあ解る
でもシャープを記号にするならC#erだよなというか
578デフォルトの名無しさん:2013/11/14(木) 22:58:46.48
C#パーなんじゃね?
579デフォルトの名無しさん:2013/11/14(木) 23:27:47.44
未だにjpgすらまともに読めなくて
Susieプラグイン使う必要があるとは・・・
てか外人はSusie使わないで何使っているのか気になる
580デフォルトの名無しさん:2013/11/15(金) 00:17:15.89
libjpegに決まってんだろ
Susie()
島国ライブラリがw
581デフォルトの名無しさん:2013/11/15(金) 01:45:00.55
jpeg読めないの?
582デフォルトの名無しさん:2013/11/15(金) 02:05:21.81
読めるよ。「まともに」の内容にもよるけど
583デフォルトの名無しさん:2013/11/15(金) 07:02:19.99
Microsoft.Office.Interop.Excel
以外にエクセルを扱えるM$公式ライブラリて有りますか?
上のライブラリはCOM参照を解放するのが面倒すぎます
584デフォルトの名無しさん:2013/11/15(金) 07:07:33.17
System.IO.Packaging
585デフォルトの名無しさん:2013/11/16(土) 09:33:31.71
                | ̄``''- 、
                |      `゙''ー- 、  ________
                |    ,. -‐ ''´ ̄ ̄`ヽ、_        /
                |, - '´ ̄              `ヽ、     /
              /               `ヽ、ヽ   /
             _/                    ヽヽ/
           / / /   /  /  /            ヽハ
          く  / /!   |   〃 _/__ l|   | |   |  |  | | ||ヽ
           \l// / |  /|'´ ∧  ||   | |ー、||  |  | l | ヽ
            /ハ/ |  | ヽ/ ヽ | ヽ  | || /|ヽ/!  |/ | ヽ
            / |  ||ヽ { ,r===、   \| _!V |// //  .!   |
            | ||   |l |ヽ!'´ ̄`゙   ,  ==ミ、 /イ川  |─┘
            | ハ||  || | """ ┌---┐  `  / //  |
            V !ヽ ト! ヽ、    |     !    / //| /
               ヽ! \ハ` 、 ヽ、__ノ    ,.イ/ // | /
    ┌/)/)/)/)/)/)/)/)/)/)lー/ ` ー‐┬ '´ レ//l/ |/
    |(/(/(/(/(/(/(/(/(/(/│||      |\  〃
  r'´ ̄ヽ.              | | ト    /    \
  /  ̄`ア             | | |  ⌒/     入
  〉  ̄二) 知ってるが    | | |  /     // ヽ
 〈!   ,. -'                | | ヽ∠-----', '´    ',
  | \| |   .お前の態度が   | |<二Z二 ̄  /     ',
  |   | |               _r'---|  [ ``ヽ、      ',
  |   | |   気に入らない >-、__    [    ヽ      !
  \.| l.              ヽ、      [     ヽ    |
    ヽ|              \    r'     ヽ、    |
586デフォルトの名無しさん:2013/11/24(日) 18:46:04.26
MDIでMenuStripのマージが起きないようにする方法教えてくれ
587デフォルトの名無しさん:2013/11/24(日) 18:47:37.09
知ってるがお前の態度が気に入らない
588デフォルトの名無しさん:2013/11/24(日) 19:35:01.95
>>586
試してないけどFormのMainMenuStripに指定しなきゃマージされないんじゃない?
589デフォルトの名無しさん:2013/11/24(日) 20:30:01.20
>>558dクス
590デフォルトの名無しさん:2013/11/24(日) 20:40:28.85
.net2.0 ぶりにVisual Studio & C#を触ることになったのだけど、DB周りが浦島太郎状態でわけわかめ
Windows Form 上のコントロール群にバインドするデータソースって何使うのが標準ですか?
591デフォルトの名無しさん:2013/11/24(日) 20:45:12.15
>>589
教えてやったがお前の態度が気に入らない
592デフォルトの名無しさん:2013/11/24(日) 20:45:59.00
なんだこのキチガイ。
593デフォルトの名無しさん:2013/11/24(日) 20:49:08.77
未だにDataSet使ってる
594デフォルトの名無しさん:2013/11/24(日) 20:53:13.94
>>591ダメだったじゃねえか
595デフォルトの名無しさん:2013/11/24(日) 21:06:55.94
安易にバインドするなよ
レイヤをきっちり切り分けないと後で泣を見るぞ
.NETが過去の遺物になって載せ替え作業が発生した時に楽になるように作れ
596デフォルトの名無しさん:2013/11/24(日) 21:18:33.49
普通はバインドした方が疎結合に近づくと思うが…
597デフォルトの名無しさん:2013/11/24(日) 21:20:32.04
DB周りもそうだけど、そもそもWindows FormsじゃなくてWPFがスタンダードなの?
598デフォルトの名無しさん:2013/11/24(日) 21:22:28.40
WPFがスタンダードとは言えないが
WinFormsは未来が無さそう
599デフォルトの名無しさん:2013/11/24(日) 21:23:09.29
>>596
ねーよ
フレームワークに依存しすぎ
どんな言語にも一週間残業なしで移植可能と確信できる設計で作れ
600デフォルトの名無しさん:2013/11/24(日) 21:25:29.00
なんで.NETの置き換えなのに.NETよりバインディングがしょぼいって想定なの
601デフォルトの名無しさん:2013/11/24(日) 21:26:38.97
WinFormsはVB6ぐらいの根強さがある。
しかしWPFはWindowsMEぐらいの根強さしか感じられない。
602デフォルトの名無しさん:2013/11/24(日) 21:27:38.09
WPFはともかくSilverLightは死んだよね。
603デフォルトの名無しさん:2013/11/24(日) 21:27:58.61
>VB6ぐらいの根強さ
あの根強さはとっとと捨てて欲しいわw
604デフォルトの名無しさん:2013/11/24(日) 21:29:10.38
20倍カビキラーにも耐えるよ
605デフォルトの名無しさん:2013/11/24(日) 21:30:20.84
Silverlight、良い技術だったんだがなあ

「SilverlightでWin/Macのマルチプラットフォームを実現出来ます」 → 「iPad登場」
の流れが痛恨だった、タイミング悪過ぎ
606デフォルトの名無しさん:2013/11/24(日) 21:30:45.18
DBから読み込んだレコードのカラムを一個づつUIに移すコードを手で書くなんて
ありえん過ぎ得ると思うんだけど、最近は違うの?
607デフォルトの名無しさん:2013/11/24(日) 21:32:29.95
>>600
しょぼい、しょぼくないじゃあないんだよ
置き換えが簡単かそうでないかだ
VB6で懲りただろ
608デフォルトの名無しさん:2013/11/24(日) 21:38:47.29
置き換えが困難なら客から一杯ふんだくれるじゃないですか
609デフォルトの名無しさん:2013/11/24(日) 21:45:41.61
正直、WPFのItemsControl系のUIなんてそんなに出番があるわけじゃないし、
だったらDataBindingもDataTemplateも要らないわけで、もその時点でWPFの
存在意義って小さいんだよね。

フローレイアウトなんてWindows Formでもそれなりに出来るし。
610デフォルトの名無しさん:2013/11/24(日) 21:50:06.26
位置固定のほうが客が喜ぶんだよね。
611デフォルトの名無しさん:2013/11/24(日) 21:55:02.44
いやいや今時固定ウィンドウはないよさすがに。

Windows Formは1.x時代からAnchor等の設定でそれなりにフローレイアウトに対応してたし、
2.0でコンテナが増えて強化もされた。
612デフォルトの名無しさん:2013/11/24(日) 21:55:10.88
XAMLによるデザイナとPGの分業なんて幻想でしか無いしな
まあMVVMは結構好きだけど
613デフォルトの名無しさん:2013/11/24(日) 22:07:45.59
全部コード書いちゃいなよ!
614デフォルトの名無しさん:2013/11/24(日) 22:18:11.12
>>612
俺は本当にそこが一番悲しいというか残念というか、国内のPG・SEってデザインやUIにこだわりや情熱持ってる奴一人もない
なんか海外で人気のあるデザインテンプレートをパクってくるだけ、模倣するのも理解して消化する必要あるからセンスないと無理なんだよ
ほんっと日本ってデザイナーの地位低いよね、Appleで流れ変わるかと思ったけど日本はかわらんね
615デフォルトの名無しさん:2013/11/24(日) 22:19:30.37
そんなもの持った奴をMSが入社させたからメトロUIができたわけだが。
616デフォルトの名無しさん:2013/11/24(日) 22:20:39.81
需要があれば対応するよ
業務システムのGUIが美しくて格好良くてもだれも嬉しくないからね
617デフォルトの名無しさん:2013/11/24(日) 22:21:26.80
デザイン厨は使いやすさなんて眼中にないからな。
618デフォルトの名無しさん:2013/11/24(日) 22:22:57.89
>>616
それは嘘だな、事実は業務システムでまともなデザインやUIが実装された物がない。だろw
619デフォルトの名無しさん:2013/11/24(日) 22:24:48.63
フォントをこれでもかと大きくしておくと。トップの反応がいい。大抵老眼だからな。
620デフォルトの名無しさん:2013/11/24(日) 22:31:08.64
>>614
デザイナーの地位が低いのかデザイナーのスキルが低いのか…
楽天なんか見てると後者のような気がする
621デフォルトの名無しさん:2013/11/24(日) 23:02:21.02
>>618
おまえは何を言ってるんだ?
622デフォルトの名無しさん:2013/11/24(日) 23:03:34.37
PropertyDescripterって何のために存在するんですか?
623デフォルトの名無しさん:2013/11/24(日) 23:11:02.67
インスタンスがどんなプロパティを持っているかの定義
同じような役割のPropertyInfoはCLR型の定義だから変更不能だけど、
PropertyDescriptorは自由にカスタマイズできる
例としてDataTableとかPropertyGridで使われてる
624デフォルトの名無しさん:2013/11/24(日) 23:45:02.41
タスクマネージャみたいにリアルタイムにグラフが左に流れていくようするには
どうやるんですか?
winformでやろうとしています。
625デフォルトの名無しさん:2013/11/24(日) 23:57:53.30
>>624
タイマ使ってクライアント領域を定期的に無効化してやるだけ
626デフォルトの名無しさん:2013/11/25(月) 00:34:14.10
わかりました
627デフォルトの名無しさん:2013/11/25(月) 06:53:03.25
>>620
楽天は、日本人によりたくさん買い物させるスタイルなんだよ
実験では、印象が悪いけれども、より多く買い物をするという結果が

日本と海外の差は、楽天以外でも、新聞の折り込みチラシを見るとよくわかる
628デフォルトの名無しさん:2013/11/25(月) 06:55:33.32
デザインに金を使ってる→高い というイメージは正しいから。
べつに海外だって同じだよ
629デフォルトの名無しさん:2013/11/25(月) 08:39:38.08
日本人は実態がないものに金を払わない傾向にあるからな
デザインはもちろんパソコンのソフトなんかも無料無料とうるさい
630デフォルトの名無しさん:2013/11/25(月) 09:25:54.55
>>590
WinFormsなら今でもやっぱり dataset + tableadapter じゃね?
同時実行制御のクソ面倒なSQLも自動生成してくれるし。
項目のバインディングもそうだけどそういうのはEFじゃむりっぽくね?

対象がASP.NET MVCとかならEFの方が将来性ある技術なんだろうけど。
631デフォルトの名無しさん:2013/11/25(月) 13:35:58.35
俺もまだDataSet + TableAdapterなんだけどさ、
EFって同時実行制御とかやってくれないの?

ってっきり、EF内部で生成されるSQLに含まれるかと思ってたよ。
632デフォルトの名無しさん:2013/11/25(月) 13:44:47.84
EFは複数レコード一気更新すらねえことに唖然とするぞ
LINQ to SQLですらあるというのに
EFの利点なんぞ一発スキーマ更新くらいしかねえわ
633デフォルトの名無しさん:2013/11/25(月) 13:54:55.53
EFは基本的にORMだから、長所も欠点もORMと同じで
EF独自の機能としてはアドホッククエリ用にLINQが活用できる程度かな
だから大域処理はストアドまかせになるし、
排他は楽観的排他が基本。
634デフォルトの名無しさん:2013/11/25(月) 14:04:34.71
スキャフォールディングとかCode Firstとか一通り試してみて
「おぉ! すげえ!」
とは思ったけど、実際に使うかと聞かれたらNOだな。
635デフォルトの名無しさん:2013/11/25(月) 14:14:41.42
>>633
にも関わらずストアドまともに扱えるようになったのがごく最近なのがEFの笑いどころ
ま、個人のおもちゃですわ
636デフォルトの名無しさん:2013/11/25(月) 14:30:56.16
regasm.exeでアセンブリをレジストリに登録するときって
アセンブリ内の静的コンストラクタが呼ばれるもんなの?

Process.GetCurrentProcess().ProcessName をログに残すとRegAsmってあるんだけど……

気持ちい悪いし想定してないからプロセス名で弾くべきだよね?
637636:2013/11/25(月) 14:37:00.59
ComRegisterFunctionでマークしたメソッドがあると静的コンストラクタが呼ばれるのかな?
638デフォルトの名無しさん:2013/11/25(月) 14:47:42.88
アセンブリロードして型情報を調べるだろうからありえる話だね。
639その@:2013/11/25(月) 17:11:17.49
C#でDataGridView上のチェックボックスのあるセルにおいて、セルがクリックされた場合でも
チェックボックスのオン・オフを切り替える処理を以下の通り記述しています。

しかし、セルをクリックした時には何も反応が無く
別のセルにフォーカスを移動させて初めて、クリックしたセルのチェックボックスのオン・オフが
切り替わるという不思議な現象が起こっています。
どこに問題があるのでしょうか?
640その2:2013/11/25(月) 17:51:04.59
private void dgv_test_CellMouseClick(object sender, DataGridViewCellMouseEventArgs e)
{
int i_row = e.RowIndex; int i_col = e.ColumnIndex;
DataGridViewCheckBoxColumn col;
col = new DataGridViewCheckBoxColumn();
col.FalseValue = 0; col.TrueValue = 1;
641デフォルトの名無しさん:2013/11/25(月) 17:54:34.48
>>639
まったく事情はわからんが、よくあるのは再描画されてないってことじゃね?
設定変えたあとですぐ再描画を要求してみんさいや。
642デフォルトの名無しさん:2013/11/25(月) 18:09:09.73
DataSetとか気持ち悪いから使わない
OleDbがあれば十分だしこれが1番柔軟で将来性もある
643デフォルトの名無しさん:2013/11/25(月) 18:10:32.81
2年前にSQLServerから廃止された奴がなんだって
644デフォルトの名無しさん:2013/11/25(月) 18:12:10.39
たぶんODBCじゃね
645その3:2013/11/25(月) 18:29:03.99
if (Convert.ToBoolean(dgv_test[i_col, i_row].Value) == true)
{ dgv_test[i_col, i_row].Value = col.FalseValue; }
else if (Convert.ToBoolean(dgv_test[i_col, i_row].Value) == false)
{ dgv_test[i_col, i_row].Value = col.TrueValue; }
dgv_test.Refresh();
}
646デフォルトの名無しさん:2013/11/25(月) 19:04:04.77
>>642-644
わろたw
647デフォルトの名無しさん:2013/11/25(月) 19:17:33.35
DataSetとかいうゴミを使うと将来苦労するよ
648デフォルトの名無しさん:2013/11/25(月) 19:18:14.77
EFってまだまだなんだね
でもMVC4だとテンプレにデフォでEFだよね
649デフォルトの名無しさん:2013/11/25(月) 19:43:08.95
>>647
Datsetなしでどうやってフォームのコントロールにバインドするん?
650デフォルトの名無しさん:2013/11/25(月) 19:52:42.21
普通に出来るだろ
651デフォルトの名無しさん:2013/11/25(月) 19:53:57.22
>>649
わろたw
652デフォルトの名無しさん:2013/11/25(月) 20:16:59.81
>>650
それはバインドとは言わない
653デフォルトの名無しさん:2013/11/25(月) 20:46:15.90
ちょっと何言ってるか分からない
654デフォルトの名無しさん:2013/11/25(月) 20:53:34.51
BindingList<T>の立場は…
655デフォルトの名無しさん:2013/11/25(月) 21:36:55.18
こんばんは

VisualStudio2008でC#の開発しています。

デバッグ中にブレイクポイントで止まった際に、黄色矢印の左側に緑のポチが出ます。
これはなんでしょうか?

また、同様のタイミングで前後のコードが薄い緑(青?)で塗りつぶされることがあります。
これもなんなのでしょうか・・・。


スレッドタイマでグルグル処理を回してるとこなので、関連があるかと思うのですが、
詳細がわかりません・・・。
656デフォルトの名無しさん:2013/11/25(月) 21:45:13.70
>>655

imgur.com/QCuAvQP

忍者修行中でリンク貼れませんでした
こんな感じです・・。
657デフォルトの名無しさん:2013/11/25(月) 22:02:04.93
658デフォルトの名無しさん:2013/11/25(月) 22:08:48.19
>>657
代理ありがとうございます。たすかります!
659デフォルトの名無しさん:2013/11/25(月) 22:48:09.14
>>639
CurrentCellDirtyStateChangedイベントで値をコミットする。

ttp://msdn.microsoft.com/ja-jp/library/system.windows.forms.datagridview.currentcelldirtystatechanged(v=vs.110).aspx
660デフォルトの名無しさん:2013/11/26(火) 08:04:32.94
だいたいフォームにいきなりバインドって発想が気が狂ってる
レイヤー分割の基本すら出来てない
661デフォルトの名無しさん:2013/11/26(火) 09:12:06.06
>>660
具体的にどうすんの?
662デフォルトの名無しさん:2013/11/26(火) 10:20:26.04
RADってそういうもんだろ
663デフォルトの名無しさん:2013/11/26(火) 10:40:25.40
.netのDataGridViewって巨大なdatasetのオンデマンドな読み込みもやってくれないのね…。
リレーション張って親子関係にしたdatatableも自動的に必要なだけの子を読んでくれるわけじゃないし。

10年以上前のDelphiで当たり前にやってくれてたことをいちいちコード書かなきゃいけない失望感。
うへえ。
664デフォルトの名無しさん:2013/11/26(火) 14:23:05.03
ざまあみろとしかいえねえw
665デフォルトの名無しさん:2013/11/26(火) 14:33:08.34
なんか昔に比べると一つ一つの機能の完成度が低いよな
開発環境にしろ、ライブラリにしろ
666デフォルトの名無しさん:2013/11/26(火) 17:59:31.41
巨大データをそのままGridって手抜き以外の何物でもない
667デフォルトの名無しさん:2013/11/26(火) 20:08:46.64
だよな、SQLを自動生成なんて手抜き以外の何物でもないよな
668デフォルトの名無しさん:2013/11/26(火) 20:12:36.81
LINQが誰も使わなくなったように、
大量のデータをそのままバインディングする馬鹿もいなくなった。
669デフォルトの名無しさん:2013/11/26(火) 20:21:09.18
DataReader最強ってこった
670デフォルトの名無しさん:2013/11/26(火) 20:31:32.53
PHPやらRailsやらで十分ってことかいな
671デフォルトの名無しさん:2013/11/26(火) 20:33:52.58
うぬぼれんなC++最強
672デフォルトの名無しさん:2013/11/26(火) 20:36:36.38
>671がC++使えないのは明らかだな
673デフォルトの名無しさん:2013/11/26(火) 20:40:09.67
>>670
この流れでRailsはないだろ
674デフォルトの名無しさん:2013/11/26(火) 21:14:59.70
いや、C++最強だろ
もう誰も倒せない
675デフォルトの名無しさん:2013/11/26(火) 21:17:41.08
真面目に、C/C++ に替わる言語って出てくるのかな。
676デフォルトの名無しさん:2013/11/26(火) 21:19:24.43
マジレスするとC#。
677デフォルトの名無しさん:2013/11/26(火) 21:21:14.51
>>675
Dに期待してたけど、2.0で迷走してるしな


そしてここはC#スレだ
678デフォルトの名無しさん:2013/11/26(火) 21:26:54.33
>>660
さんざんMSの提灯記事で
「1行もコードを書かないでDBアプリが作れる!」
とか煽ってたよね
679デフォルトの名無しさん:2013/11/26(火) 21:35:39.31
>>675
マジレスするとない
用途によってはC/C++よりもこっちがいい、あっちがいいってのはあるがその言語で完全に置き換えることはできない
680デフォルトの名無しさん:2013/11/26(火) 23:37:49.08
681デフォルトの名無しさん:2013/11/26(火) 23:42:31.91
実際.NET+Webは成長してるしクライアントに拘る奴は新しいのを求めてない
682デフォルトの名無しさん:2013/11/27(水) 00:36:21.08
Qtの時代や
683デフォルトの名無しさん:2013/11/27(水) 02:36:48.37
>>668
そりゃLINQは経営者でもないんだから、LINQが誰も使えないのは当たり前だ
684デフォルトの名無しさん:2013/11/27(水) 10:47:11.57
>>680
呼んでたら死にたくなってきた
685デフォルトの名無しさん:2013/11/27(水) 10:55:45.32
そうか死ねよ軟弱者
686デフォルトの名無しさん:2013/11/27(水) 11:46:25.81
>>684
そうでもないじゃん?
Silverlightは死んだ、WPFは死ぬ
WinFormsもしくはASP.NET MVC + Javascriptで作れって答え出てるし。
687デフォルトの名無しさん:2013/11/27(水) 11:59:27.76
          ,, _
       /     ` 、
      /  (_ノL_)  ヽ
      /   ´・  ・`  l    かつてのマイクロソフトの技術とその未来は死んだんだ
     (l     し    l)    いくら呼んでも帰っては来ないんだ
.     l    __   l    もうあの時間は終わって、君も人生と向き合う時なんだ
      > 、 _      ィ
     /      ̄   ヽ
     / |         iヽ
    |\|         |/|
    | ||/\/\/\/| |
688デフォルトの名無しさん:2013/11/27(水) 15:56:46.12
IDisposableはアンマネージリソースの開放に使用するとのことですが、
処理終了時に実行させたい処理がある際に使用するのは邪道なんでしょうか。
689デフォルトの名無しさん:2013/11/27(水) 17:23:05.87
>>688
具体的には?
いつ呼び度されるかわからないからあんまり良くない場合もある
690デフォルトの名無しさん:2013/11/27(水) 17:36:53.10
>>688
よほど本来の使用目的から外れてなにやってるかわからなくならない限り
Disposeはいろいろやってかまわないと思う。
その点ファイナライザは制限が厳しい。
自身が直接抱えているアンマネージドリソース以外をいじったらダメ。
自身が包含している他のクラスのアンマネージドリソースの片付けもご法度。
Windows FormsなどのDispose(bool)パターンがそれだね
691デフォルトの名無しさん:2013/11/27(水) 17:43:01.48
>>689
finallyで処理する内容をDisposeにやらせたい感じです。
このfinallyの内容は複数個所で同じ事を行っています。
Disposeで処理させる場合はusingを使用しています。
692デフォルトの名無しさん:2013/11/27(水) 18:04:43.55
広義のリソースということでIDisposableを使ってもいいんじゃね?

ちょっとしたフラグ管理みたいなクラスで
using構文が便利だからIDisposableにしたときがあった
693デフォルトの名無しさん:2013/11/27(水) 18:06:23.83
>>689
いつ呼び出されるかわからないのはファイナライザによるときじゃね?
694デフォルトの名無しさん:2013/11/27(水) 18:09:19.68
仕様としてデストラクタがあるのに使い物にならないのは完全に言語の設計バグ。
695デフォルトの名無しさん:2013/11/27(水) 18:20:26.28
うん。バグだね。
ご満足いただけたかな?
696デフォルトの名無しさん:2013/11/27(水) 18:22:07.83
すまん、誤爆した。
697デフォルトの名無しさん:2013/11/27(水) 18:28:43.14
usingなしだとファイナライザ実行まで呼び出されなくなるから、
書き忘れたりして最悪遅れてもなんとかなるものならいいとおもう
698デフォルトの名無しさん:2013/11/27(水) 19:12:45.84
Disposeを放置しているとFinalizerが勝手に呼び出してくれると
思い込んでた時期が私にもありました
699デフォルトの名無しさん:2013/11/27(水) 19:20:51.07
馬鹿っぽい。
思い込むも糞も、そういう実装じゃなきゃFinalizerの意味がない件
700デフォルトの名無しさん:2013/11/27(水) 19:21:45.89
言語の欠陥なんだから仕方がない。
701デフォルトの名無しさん:2013/11/27(水) 19:22:17.22
その辺強制できないのがC#のクソたる所以
702デフォルトの名無しさん:2013/11/27(水) 19:36:38.71
お前ら的に文句ない実装ってどんなんなの
703デフォルトの名無しさん:2013/11/27(水) 19:46:56.45
参照がなくなったら即finalizerの実行。メモリ回収はGCに任せる。
704デフォルトの名無しさん:2013/11/27(水) 19:49:45.74
WPFの案件に途中参戦して思うのは、どの案件もMVVMで始めて途中からコードビハインドになってて如何にWPF(MVVM)がそびえ立つ糞かよくわかる
VMなくてVとMだけになっちゃってる、業務システムとはいえ壊滅的な糞デザインと糞UIでセンスの欠片もないのにWPF(笑
WinFormsじゃあかん理由どこにあんのん?使い慣れた道具ならもっと早く簡単にクオリティ高く作れるのに(´・ω・`)
705デフォルトの名無しさん:2013/11/27(水) 19:50:30.12
それは隣のクソスレで言ってきてくれ
…隣の隣だったかな
706デフォルトの名無しさん:2013/11/27(水) 19:59:48.13
ideone.com/mYKF8Q
このコードをasyncを使って書き換えたのですが思ったように動作しないので質問させてください

こちらが書き換えたものです ideone.com/D7t3vp
デバッグすると7行目のawait tcpClient.ConnectAsync(host, port);以降の処理が行われずフリーズしてしまいます
どこがまずいのでしょうか?忍法帳修行中でリンク貼れませんでした
707デフォルトの名無しさん:2013/11/27(水) 20:07:34.52
componentクラスを継承しないなら自前で、
System.GC.SuppressFinalize(this)しなくちゃいかんということだろ
Dispose(bool)の仕組みを理解してない人も多そうだ
708デフォルトの名無しさん:2013/11/27(水) 20:09:43.91
メインスレッドでブロックしてるからWM_TIMERが回ってきませんっての思い出した
709デフォルトの名無しさん:2013/11/27(水) 20:13:43.91
こんばんは。

C#及びマルチスレッドの処理の素人です。
知恵を貸してください。

スレッドタイマーで500msごとに繰り返し呼ばれる処理Aがあります。

Aの処理時間が500ms以上かかることがあります。
その場合に、
次のA呼び出しを待たせる、または呼ばない方法はあるでしょうか?

lockでいけるかとおもったのですが、同じスレッドだと待たせられないとのことで
困っております。
710デフォルトの名無しさん:2013/11/27(水) 20:17:53.60
タイマーに何のクラス使ってんの
3種類くらいあるけど
711デフォルトの名無しさん:2013/11/27(水) 20:23:37.41
System.Threading.TimerCallback
System.Threading.Timer
で、繰り返し呼んでいます。
712デフォルトの名無しさん:2013/11/27(水) 20:28:20.58
最初からスレッドタイマーって書いてるのにねw

>>709
普通にlockでいけるはず
713デフォルトの名無しさん:2013/11/27(水) 21:09:07.83
だめだこりゃ
714デフォルトの名無しさん:2013/11/27(水) 21:50:21.54
>>712
返信ありがとうございます。
ということは、lockを使いつつ
処理処理がタイマー間隔より長いという状況を減らしていけば大丈夫なのかな・・・
(元々ほぼない予定ですが、気になりはじめてしまいまして・・)

フォームのボタンをボタンクリックイベント内にlockで囲んだとしても
連打で、ボタンクリックイベント発生させたらlockの効果はないと読み、
それと同様のパターンかと思ったのですが。。。

組み込みシングルスレッドばっかりやっていたので、
かなり戸惑っております。。。
715デフォルトの名無しさん:2013/11/27(水) 22:00:43.48
volatile bool で処理中フラグでも持っときゃいんじゃねの
カッコつけたいならSemaphoreでも使え
716デフォルトの名無しさん:2013/11/27(水) 22:08:32.70
MSDNとStackoverflowで読めば大抵解決するだろうに・・・
こいつPGに向いてないわ
717デフォルトの名無しさん:2013/11/27(水) 22:13:12.30
イベント系教えてやれと思ったが、再入やらかしてハマるのが目に見えるからか
718デフォルトの名無しさん:2013/11/28(木) 01:41:24.68
>>714
500ms間隔に必要性がないのなら、処理開始時にタイマー止めて処理が終わって再開するのが吉
719デフォルトの名無しさん:2013/11/28(木) 08:02:12.59
ある静的クラスのデータを複数のクラスで共有したい
ある静的クラスと似たような実装(データは別)が複数あるので基底クラスを作って継承したいけど
静的クラスは継承できない
普通のクラスで作ると利用する複数のクラスすべて参照を渡さなければいけない

こういう場合どうするのがベスト?
720デフォルトの名無しさん:2013/11/28(木) 08:35:55.48
包含とかstatic factoryとか
721デフォルトの名無しさん:2013/11/28(木) 09:05:31.46
普通にシングルトンパターンでしょ
722デフォルトの名無しさん:2013/11/28(木) 09:44:56.05
データは別にしたいのでシングルトンよりFactoryの方が良さそうです
ありがとうございました
723デフォルトの名無しさん:2013/11/28(木) 10:01:31.55
709,714です。

色々と教えて頂きありがとうございます。

スレッドタイマで定期的に呼ばれるスレッドにlockが効くことを確認できました。

しかしlockのみではスタックオーバーフローの危険があるため、
volatileのフラグで管理することとします。

lockはlockで別のスレッドとの排他管理に使用することとします。

ありがとうございました。
724デフォルトの名無しさん:2013/11/28(木) 10:17:37.70
組み込みシングルスレッドでも、タイマー割り込みルーチン処理中は
普通割り込み禁止にするじゃん?
725デフォルトの名無しさん:2013/11/28(木) 14:39:56.39
制限ゾーンからP/Invokeを呼び出す.NET3.5向けのアセンブリなのですが、
.NET4.0でコンパイルして呼び出すと次のエラーが出ます。

System.InvalidOperationException:
Security Transparent メソッドでは CAS Assertを実行できません

どこを直したらよいか教えてください。

using System;
using System.Security;
using System.Reflection;
using System.Security.Permissions;
using System.Runtime.InteropServices;

[assembly: AssemblyVersion("1.0.0.0")]
[assembly:AllowPartiallyTrustedCallers]

namespace Test1s {
 public static class Util {
  static public int TickCount {
   [SecurityPermission(SecurityAction.Assert, UnmanagedCode = true)]
   get { return GetTickCount(); }
  }
  [DllImport("Kernel32.dll", EntryPoint = "GetTickCount"),SuppressUnmanagedCodeSecurity]
  static extern int GetTickCount();
 }
}
726デフォルトの名無しさん:2013/11/28(木) 14:49:31.17
727デフォルトの名無しさん:2013/11/28(木) 20:32:35.32
>>718
それじゃインターバルが狂うだろう。
何いってんだ
728デフォルトの名無しさん:2013/11/28(木) 20:33:50.99
日本語が読めないのかな
729デフォルトの名無しさん:2013/11/28(木) 20:41:39.89
しかし、AsyncとRxってほんと偉大やな
BGWorkerとか二度と触りたくないわ、3.5とかの案件は二次以下で絶対受けない
730デフォルトの名無しさん:2013/11/28(木) 21:28:09.83
RxはもっぱらTasks.Taskをサポートしていない.NET3.5向けになっちまったな
731デフォルトの名無しさん:2013/11/28(木) 21:35:10.78
>>726
2行追加でいけました。ありがと〜。
[assembly: SecurityRules(SecurityRuleSet.Level2)]
[assembly:AllowPartiallyTrustedCallers]

[SecuritySafeCritical]
public static class Util {
732デフォルトの名無しさん:2013/11/29(金) 00:55:20.26
最近レベル低いなりに今まで理解できなかったことや使い方がわからなかったことがわかってきてまたプログラミングが楽しくなってきた。
なんかある日突然ずっと理解できなかったことがスッと理解できたりするんだけどこれはなんなんだろう
733デフォルトの名無しさん:2013/11/29(金) 01:21:20.82
そういう段階はまだまたま素人
何もかもめんどくさい
やり方はわかるがだるいから金で下請けにやらせよう
そうなって始めて一人前
734デフォルトの名無しさん:2013/11/29(金) 01:23:35.20
と、自分で下請けに出したこともない奴が言っています
735デフォルトの名無しさん:2013/11/29(金) 01:36:09.75
相談です。
別アプリケーションのコンボボックスの値をc#を使って変更したいと考えています。
たとえば、エクセル2013でファイルを保存するときに、デフォルトではファイルの種類が「EXCELブック」になっていますが、
コンボボックスを開くと「EXCELマクロ有効ブック」や「EXCEL 97-2003ブック」などたくさんの選択肢が出てきます。
この選択を、プログラムで操作したいのです。
コンボボックスのウィンドウハンドルの取得まではできていますが(ただし、選択肢ごとにさらに子ウィンドウハンドルがあるとしたら、
それは取得できていません)、選びたい選択肢を選ぶ方法がわかりません。
検索すると、C++やVBでSendMessageやPostMessageを使った例はいくつかでてきますが、転用しようとしてもうまくいかず・・・

よろしくお願いします。
736デフォルトの名無しさん:2013/11/29(金) 01:45:12.07
うまくいかず言われても、結局それしかないわけで   しかってわけでもないけど
C++とかでのが見つかってるなら適当にキーワード拾ってC#と並べて検索すればいい
737デフォルトの名無しさん:2013/11/29(金) 01:53:25.98
C++やVBはいじったことがないので、なんとなくこうだろうという推測ぐらいしかできないのです。
つまり、C++やVBのSendMessageやPostMessageと、C#のそれと機能が一緒なのかもわからないですし、
文法が一緒なのかもわからないですし、ゆえに転用した時の私の記述が間違っているのか、それともそもそも
C#にはそういう機能がないのかも判別できないのです。
キーワードはいろいろと変えて検索してみてはいるのですが、そもそもこういうことをやりたい人があまりいないようで
似たようなことをやっている人すらほとんど出てきません
738デフォルトの名無しさん:2013/11/29(金) 01:58:01.04
エクセルならスクリプト組めよ
739デフォルトの名無しさん:2013/11/29(金) 01:59:06.98
いえ、実際に操作したいのはエクセルではないです。
エクセルは、わかりやすいかと思って例で出しただけですが、誤解させたようですいません。
740デフォルトの名無しさん:2013/11/29(金) 02:07:15.87
JAVAとかWPFだとただの壁紙だからコンボボックスのハンドルとか取得できないよね
dll注入するしかないのか
741デフォルトの名無しさん:2013/11/29(金) 06:55:48.37
具体的にどんなコードを試して駄目だったとかあれば答えやすいが
742デフォルトの名無しさん:2013/11/29(金) 06:56:06.97
JavaはしらんがWPFならUIオートメーションでいけなくはない
743デフォルトの名無しさん:2013/11/29(金) 08:47:04.57
>>735
答えわかってるじゃん
コンボボックスのハンドルを何らかのアルゴリズムで検索して
セレクションを変えてよっていうメッセージを送るだけ
744デフォルトの名無しさん:2013/11/29(金) 08:59:13.27
画像認識でやる
745デフォルトの名無しさん:2013/11/29(金) 09:37:37.69
別プログラムのコンボボックスを選択するには
http://hpcgi1.nifty.com/MADIA/VBBBS/wwwlng.cgi?print+200605/06050011.txt
続:別プログラムのコンボボックスを選択するには
http://homepage1.nifty.com/MADIA/vb/vb_bbs/200605/200605_06050012.html

このサイトを参考にして作っています。
[DllImport(&quot;user32.dll&quot;)]
[return:&nbsp;MarshalAs(UnmanagedType.Bool)]
private&nbsp;static&nbsp;extern&nbsp;bool&nbsp;SetForegroundWindow(IntPtr&nbsp;hWnd);
private&nbsp;const&nbsp;int&nbsp;CB_SELECTSTRING&nbsp;=&nbsp;0x14D;
private&nbsp;const&nbsp;int&nbsp;WM_COMMAND&nbsp;=&nbsp;0x111;
private&nbsp;const&nbsp;int&nbsp;CBN_SELCHANGE&nbsp;=&nbsp;0x10000;

SendMessage(hWnd2,&nbsp;CB_SELECTSTRING,&nbsp;-1,&nbsp;&quot;コンボボックスの文字列&quot;);
PostMessage(hWnd,&nbsp;WM_COMMAND,&nbsp;CBN_SELCHANGE,&nbsp;hWnd2);
746デフォルトの名無しさん:2013/11/29(金) 09:39:04.94
※hWnd, hWnd2はコンボボックスのウィンドウハンドルと、コンボボックスのリストの1つ目?の子ウィンドウハンドル?です。
コンボボックスのリストの1つ1つにウィンドウハンドルがあるのかわかりませんが、ウィンドウエクスプローラのウィンドウファインダで
取得したコンボボックスのプロパティを見るとそんな感じで書いてあったので、とりあえず流用しています。
なお、ウィンドウハンドルの取得自体は問題なくいっています(テキストボックスのウィンドウハンドルを取得して、文字列を送信する
プログラムは問題なく動いているので)

>>743
>コンボボックスのハンドルを何らかのアルゴリズムで検索して
コンボボックスのハンドルは検索できていますが、コンボボックスのリスト1つ1つにもハンドルがあるのですか?
そこまでは検索できていません

>セレクションを変えてよっていうメッセージを送るだけ
セレクションを変えてよっていうメッセージを送る方法がわからないのです。
747デフォルトの名無しさん:2013/11/29(金) 10:03:35.47
なんかコードが死んでいますねorz

[DllImport("user32.dll")]
[return: MarshalAs(UnmanagedType.Bool)]
private static extern bool SetForegroundWindow(IntPtr hWnd);
private const int CB_SELECTSTRING = 0x14D;
private const int WM_COMMAND = 0x111;
private const int CBN_SELCHANGE = 0x10000;
SendMessage(hWnd2, CB_SELECTSTRING, -1, "コンボボックスの文字列");
PostMessage(hWnd, WM_COMMAND, CBN_SELCHANGE, hWnd2);
748デフォルトの名無しさん:2013/11/29(金) 10:11:29.58
スレチになるけど、アプリケーション名とやりたいことを具体的に書いたほうが早いと思うけどな
そもそも外部プログラムから操作することがベストとも思えんし
749デフォルトの名無しさん:2013/11/29(金) 11:06:54.63
アプリも何も、HWNDが取れるタイプならメッセージ送るだけだろ
750デフォルトの名無しさん:2013/11/29(金) 11:47:21.08
そのメッセージの送り方がわからないって言ってるんだから、やさしく教えてあげればいいのに。
ちなみに俺はわからんw
751デフォルトの名無しさん:2013/11/29(金) 12:10:13.14
答えは>>745のリンク先に書いてある。

が、VBだから理解できないんだよな?

C++はともかく、VBは簡単だから覚えろよ。
C#を習得済みなら1日でできるだろ。

そうすりゃ、世界中のVBによるコードがお前の力になる。
752デフォルトの名無しさん:2013/11/29(金) 12:20:16.76
文字列の内容は同じだけど参照が違うstringオブジェクトを作りたいのだが無理か?
753デフォルトの名無しさん:2013/11/29(金) 12:35:44.77
754デフォルトの名無しさん:2013/11/29(金) 13:39:17.30
>>727
世の中、インターバルが狂っても問題が起こらない場合がほとんどだから
タイマー処理中はタイマー止めるのが普通
755デフォルトの名無しさん:2013/11/29(金) 14:31:13.68
TaskCompletionSourceで作成したTask1を待つときに
SemaphoreSlim.WaitAsync(int milliSec)的な待ち方はできないでしょうか。

async void aaa(){
Task<bool> task2 = task1.....?;
if(await task2){
//task正常終了
}else{
//taskが指定ミリ秒内に終わらなかった場合
}
}
756デフォルトの名無しさん:2013/11/29(金) 20:23:42.75
>>754
非常識な人は言うことが違うね
757デフォルトの名無しさん:2013/11/29(金) 20:47:35.13
タイミング狂ったら問題が起こるような処理を普通のタイマーでやってるほうが非常識
758デフォルトの名無しさん:2013/11/29(金) 20:50:36.85
うんそれって発想がVBerだよね。
やっぱり非常識な人は違う。

普通は(厳密でないにしろ)一定間隔で実行したいからタイマーを使うのであって、
逆を言えばそうでない用途にタイマーを使うのはイレギュラーだと考える。
759デフォルトの名無しさん:2013/11/29(金) 21:10:09.22
>>755
Task<bool> task2 = Task.Run(() => task1.Wait(timeout));
でいいんじゃねえの?
760デフォルトの名無しさん:2013/11/29(金) 22:54:39.81
>>758
自己紹介乙
自分で書いてる内容読み返しておかしいと思わんのかw
761デフォルトの名無しさん:2013/11/29(金) 23:06:55.76
いつもの基地外だろ
762デフォルトの名無しさん:2013/11/29(金) 23:42:40.90
>>760
なるほど、自分が馬鹿だから理解できないとは思わないんだ。
馬鹿は幸せでいいね。

例えば、一定間隔で何らかの通信でデータを取って来て、そのデータを使って画面を更新する、
なんてのは割とありがちなタイマーの使い方だと思う。

目標の更新レートは10回/秒程度とする。

こういう時に>>754みたいな安易な発想で作っちゃうと、通信部分、あるいは画面の描画に掛かる時間に依存して
画面の更新レートが10回/秒になったり6回/秒になったりする、いかにも素人臭い
VBerチックなソフトが出来上がる。
763デフォルトの名無しさん:2013/11/29(金) 23:44:51.09
>>762
うわ、わかってないw 馬鹿すぎる。
764デフォルトの名無しさん:2013/11/29(金) 23:49:49.83
>>762
Timerの分解能も分かってないバカw
765デフォルトの名無しさん:2013/11/30(土) 00:02:17.50
>>762
どうしていつもそんなにバカなの?
766デフォルトの名無しさん:2013/11/30(土) 00:22:38.01
朱に交われば赤くなる。

という諺がある。
荒らしの挑発に乗って、元々書くつもりのなかった心無いレスをしていないだろうか?

このスレに限らないが、最近、
わざとおかしな発言をし、それに反論した者を罵倒する輩が出現しているので
皆、気を付けてほしい。
767デフォルトの名無しさん:2013/11/30(土) 00:28:04.92
>>766
ワロタ。バカなのはおまえだけだって気づけよ。だいたい毎秒10回欲しい処理で(どんなかにもよるが)通信するなってwww
768デフォルトの名無しさん:2013/11/30(土) 01:00:19.78
>>766
まぁ誰だって最初はそんなものだよ
769デフォルトの名無しさん:2013/11/30(土) 01:01:35.36
キチガイ荒らしがいるからね。
770デフォルトの名無しさん:2013/11/30(土) 04:57:22.75
マルチスレッドだけじゃなくてタイマーすら使えなかったのね
771デフォルトの名無しさん:2013/11/30(土) 07:25:06.62
>>757
つか、タイミングがシビアな処理だとGCが何時来るか分からんC#は使わないよな
C#でタイミングを気にする人はそうそう居ないね
772デフォルトの名無しさん:2013/11/30(土) 08:26:27.89
間隔精度が必要な場合windowsの時点で駄目
773デフォルトの名無しさん:2013/11/30(土) 09:06:06.46
そりゃ8086時代に10msを保証できたμITRONと比較した場合で、
今どきのCPUなら初音ミクレベルのソフトも立派に動いているよね

ま、思いっきり力技だがw
774デフォルトの名無しさん:2013/11/30(土) 09:08:59.20
OSがリアルタイムに波形制御してると思ってんのか
775デフォルトの名無しさん:2013/11/30(土) 09:39:26.52
>>774
ウインドウズのリアルタイムが問題視されていた頃は、プロ用DTMは全部MACだったろ
所謂リアルタイムOSでもやっていないことが出来ないと批判するのはどうかしているわ
776デフォルトの名無しさん:2013/11/30(土) 16:30:03.87
>>730
んなぁこたぁない
777デフォルトの名無しさん:2013/11/30(土) 16:59:05.23
Rxは面白いんだけど・・・結局俺も使わなくなったな。

Rxが使える!
と思っ事は何度かあったが、結局より良い選択肢が見つかって採用に至らなかった。
778デフォルトの名無しさん:2013/11/30(土) 17:50:14.85
thisってどういう時に使うの?
使ったほうがわかりやすいの?
779デフォルトの名無しさん:2013/11/30(土) 17:52:52.20
ローカル変数exとフィールドexした場合
exではローカル変数、this.exではフィールドが指定できる
780デフォルトの名無しさん:2013/11/30(土) 17:55:04.06
自分を関数に渡したいときとか
SetTargetForm(this);
みたいな
781デフォルトの名無しさん:2013/11/30(土) 17:57:08.98
>>778
baseとは明示的に区別したい時とか
thisがデフォルトだから指定しないと困る場面は無いね
プロジェクトのコーディング規約に従えばいいよ
MSは省略を認めない方針だと思う
782デフォルトの名無しさん:2013/11/30(土) 18:10:38.46
thisはインテリセンスが効く
783デフォルトの名無しさん:2013/11/30(土) 18:15:51.87
継承元のクラスのメンバーを呼び出す場合はthis使うことが多いかな。
具体的にはFormの中でForm自身のWidthとかTextとか
といったプロパティをいじるとき。
自クラス内のメンバーの場合は冗長のような気がする。
784デフォルトの名無しさん:2013/11/30(土) 18:16:27.66
>>782
Ctrl-Spaceでも効くけど
785デフォルトの名無しさん:2013/11/30(土) 18:17:40.97
それは知らなんだ。
786デフォルトの名無しさん:2013/11/30(土) 18:24:05.62
>>783
それはbase使えよ
787デフォルトの名無しさん:2013/11/30(土) 18:26:18.64
イテレータパターンなんかでもあるね
788デフォルトの名無しさん:2013/11/30(土) 18:31:45.88
>>786
そういう用途でbaseを使うほうが異常じゃない?
overrideされてたら当然そちらを使うケースなんだから、
バグの元だろ。
789デフォルトの名無しさん:2013/11/30(土) 18:34:15.59
だよな。
baseはオーバーライドされてても基底クラスのメンバを呼び出したい時のみ使うべき。
790デフォルトの名無しさん:2013/11/30(土) 18:44:42.28
継承元のクラスのメンバーってのは基底クラスのメンバのことじゃないのか
791デフォルトの名無しさん:2013/11/30(土) 18:49:31.89
>>790
これが正しいだろ
override呼ばれてる方呼びたいなら継承元のなんて書くなよ
792デフォルトの名無しさん:2013/11/30(土) 18:59:33.46
>>786の意見と>>791の日本語が間違ってる
793デフォルトの名無しさん:2013/11/30(土) 19:07:17.89
VBのMyClassをみるんだ!
細かいことなどどうでも良くなるぞ
794デフォルトの名無しさん:2013/11/30(土) 19:28:44.01
>>771-772
誰もそんなこと言ってないけどね。
795デフォルトの名無しさん:2013/11/30(土) 19:32:29.03
この拡大解釈の才能は能力バトル物のライターに匹敵する
796デフォルトの名無しさん:2013/11/30(土) 19:35:36.84
また基地外が来たぞ〜
797デフォルトの名無しさん:2013/11/30(土) 19:44:49.92
overrideされている可能性があるのが継承元だろ
基底クラスとは言ってない
798デフォルトの名無しさん:2013/11/30(土) 19:47:23.27
>具体的にはFormの中でForm自身のWidthとかTextとか
799デフォルトの名無しさん:2013/11/30(土) 20:56:59.66
にゃ〜
800デフォルトの名無しさん:2013/12/01(日) 16:16:08.41
IEnumerator<UNKO> aa( Func<UNKO, bool> chinko )
{
なんか数えて、どっかでchinkoの判定通る度に
   yield return unko;
}

ってメソッドがあって、aaを使うけど、予めchinkoの処理をある程度やってくれる、Enumrator<UNKO>返すメソッド作る時ってどうすればいいんですか?

IEnumerator<UNKO >bb(int x){
  yield return aa( (unko ) => {
    xとunkoの関係をみて
    return bool型
  }
}

ってすればいいかと思ったらそうでもなかったんです。
ネタじゃありません(一般的な型名とかよく分からなかったです)。よろしくお願いします。
801デフォルトの名無しさん:2013/12/01(日) 16:29:34.30
意味が分からん…
IEnumerator<Hoge> bb(int x) {
&nbsp; &nbsp; return aa(_ => _.Id == x);
}
でいいんじゃねえの?
802デフォルトの名無しさん:2013/12/01(日) 16:32:54.99
また暗号化か。片山君なの?
803デフォルトの名無しさん:2013/12/01(日) 18:01:27.84
すみません、IEnumerableと勘違いしてました。
とても長くハマってしまいました。ご迷惑おかけしました
804755:2013/12/03(火) 12:39:18.46
>>759 返事が遅くなってすいません
それだとスレッドプールスレッドを1つ占有すると思うのですが、
そういう使い方をしてしまっていいものなんでしょうか?

もしかしたらSemaphoreSlim.WaitAsyncとか
await taskもスレッドプールで待機しているのですか?
805デフォルトの名無しさん:2013/12/03(火) 13:00:31.10
知らんがな
806デフォルトの名無しさん:2013/12/03(火) 14:10:40.47
WaitAsyncの戻り値がTaskの時点で察しろ
807デフォルトの名無しさん:2013/12/03(火) 20:43:40.86
http://msdn.microsoft.com/ja-jp/library/system.threading.tasks.paralleloptions.maxdegreeofparallelism(v=vs.110).aspx
ParallelOptions.MaxDegreeOfParallelism プロパティ

MaxDegreeOfParallelismに-1を指定した場合、同時に実行する操作の数に制限がないとありますが
これは一定時間ごとに数が増えていくイメージですか?
それとも最初からある決まった最大数で実行されるイメージですか?

ご存知の方がいらっしゃいましたらお教え願います。
808807:2013/12/03(火) 21:00:05.69
-1を指定するより明示的に最大数を指定した方が
タスクの数は増えますね
よくわからん・・・
809デフォルトの名無しさん:2013/12/03(火) 21:44:10.95
CPUのスレッド数とか見てるんじゃねえの
810デフォルトの名無しさん:2013/12/03(火) 21:46:07.43
TaskSchedulerクラスの実装読めば分かるが、一定時間ごとに増えていくタイプ
811807:2013/12/03(火) 21:53:29.93
>>810
ありがとうございます。
読んでみます。
812デフォルトの名無しさん:2013/12/04(水) 03:48:45.72
DynamicJsonというライブラリを使っているのですが、
var json = DynamicJson.Parse(read.ReadToEnd());
var data = json.test_data;
こんなコードを書くと2行目の代入で
型 'Microsoft.CSharp.RuntimeBinder.RuntimeBinderException' の初回例外が Microsoft.CSharp.dll で発生しました
と怒られてしまいます。
test_dataはJson中に存在していて、データの値が正しく入っています。
どう書けば例外が出なくなるのでしょうか?
813デフォルトの名無しさん:2013/12/04(水) 04:11:40.25
例外メッセージを見る。たぶん「データの値が正しく入っています」が正しくない
814デフォルトの名無しさん:2013/12/04(水) 05:39:13.19
そのjsonの型はなにで、test_dataってメンバ持ってるのかね?
DynamicJsonってライブラリは知らんが、名前からしてDynamicで宣言して使うものじゃないのか?
815デフォルトの名無しさん:2013/12/04(水) 14:56:58.92
FileStream fs = new FileStream(filename, FileMode.Open, FileAccess.Read);
dynamic json = DynamicJson.Parse(fs);

if(json.IsDefined("option")){
 foreach(KeyValuePair<string, dynamic> i in json.option) {
  ....
 }
}

ウチはこんな感じで使えてるが。
816デフォルトの名無しさん:2013/12/04(水) 16:53:31.49
>>756
処理に500ms以上要する場合もあるけど、
処理してるうちに全処理が時間内に収まる保証あって、
多重割り込みにしたいのかな?
そうでもなけりゃ割り込み間隔を長くするか、
処理中に入った割り込みを忘れ去るしかないと思うけど。
割り込みハンドラに入った瞬間に割り込disableにするしかないんじゃないの?
817デフォルトの名無しさん:2013/12/04(水) 17:30:21.61
754は割り込みが何かわからないと思う
818デフォルトの名無しさん:2013/12/04(水) 22:50:45.88
>>815さんの書き方に習って書き直しました。

dynamic json = DynamicJson.Parse(@"{""result"":1,""data"":""データ""}");
foreach (KeyValuePair<string, dynamic> item in json)
{
System.Console.WriteLine(item);
}

と書きなおしたのですが、ログでは
型 'Microsoft.CSharp.RuntimeBinder.RuntimeBinderException' の初回例外が Microsoft.CSharp.dll で発生しました
型 'Microsoft.CSharp.RuntimeBinder.RuntimeBinderException' の初回例外が Microsoft.CSharp.dll で発生しました
[result, 1]
[data, データ]
と、foreach中のjsonへのアクセスで例外が出てしまいました。
result:1をresult:"答え"などにしても結果は変わりません。
819デフォルトの名無しさん:2013/12/04(水) 23:05:14.64
var objectJson = DynamicJson.Parse(@"{""result"":""1"",""data"":sampledata}");
foreach (KeyValuePair<string, dynamic> item in objectJson)
{
 Console.WriteLine(item.Key + ":" + item.Value);
}
820デフォルトの名無しさん:2013/12/05(木) 02:37:01.79
ダメでした。
ちゃんと動いているのでlog欄から例外を外すことにします。
ありがとうございました。
821デフォルトの名無しさん:2013/12/06(金) 15:05:20.75
IEnumerable<T> が会った場合、すべてのTにたいしてそのメンバー関数を呼ぶにはどう書くのが一番簡単ですか
822デフォルトの名無しさん:2013/12/06(金) 15:21:31.49
foreach (var item in enumerable) item.Hoge();
823デフォルトの名無しさん:2013/12/06(金) 16:11:17.52
テトリスを作成しているのですが、一列揃うと消えるプログラムでわからない箇所があるので、質問します。

int DeleteLine()
{
for (int j = 0; j < height; ++j)
{

bool delete = true;

for (int i = 0; i < width; ++i)
if (screen[i, j] == 0) delete = false;

int delCount = 0;

if (delete)
for (int k = j; k >= 1; --k) for (int i = 0; i < width; ++i)
{
screen[i, k] = screen[i, k - 1];
delCount++;
}
return delCount;
}
}

この関数をブロックが下に動けなくなったときに呼び出すようにしているのですが、
エラーをはいてしまいます。int DeleteLineではなく、voidにして、return 分を消せば、
うまく起動するのですが、一列揃ったときのスコアを計算したいので、return で消した列を記録しておきたいです。
こういった場合どのようにするのが良いでしょうか?教えて頂ければ幸いです。
824デフォルトの名無しさん:2013/12/06(金) 16:16:33.12
823には無理
825821:2013/12/06(金) 16:31:37.99
>>822 は考えたのですがもう少しエレガントに書けないでしょうか
var nodes = 何とか
foreach(var node in nodes){
 node.CallMethod();
}

を、

Array.Foreach(nodes, x => x.CallMethod);

みたいに書きたいのですが、これは現在の使用では書けません
これに変わるえれがんとなかきかたをおねがいします
826デフォルトの名無しさん:2013/12/06(金) 16:43:32.79
拡張メソッド書けば良いけど、822で十分にエレガントだと思うな
827デフォルトの名無しさん:2013/12/06(金) 17:51:48.35
ForEach()ってList<T> にはあるけどなんでIEnumerable<T>には作らなかったんだろうな
828デフォルトの名無しさん:2013/12/06(金) 18:07:40.51
まずエレガントを定義してくれよ
再帰を定義するように頼む
829デフォルトの名無しさん:2013/12/06(金) 18:23:56.40
>>827
あくまでLINQはQueryだからな
830デフォルトの名無しさん:2013/12/06(金) 20:52:22.06
文字列を扱うクラスはすべてtoString()を実装することって仕様書に書いてあったんだけどマジっすか?
文字列は全てStringBuilderで扱うことって仕様書に書いてんすけどこれもマジっすか?
831デフォルトの名無しさん:2013/12/06(金) 20:53:35.37
仕様書かいた奴に聞け
832デフォルトの名無しさん:2013/12/06(金) 20:55:35.11
とりあえずJavaのスレじゃないからな
833デフォルトの名無しさん:2013/12/06(金) 20:55:48.48
>>827
・C#は同じことをするのに複数のやり方がないようにというコンセプトの言語だから
・foreachは副作用なので関数型記述と混ぜると分かりにくくて汚いから
834デフォルトの名無しさん:2013/12/06(金) 20:55:50.36
ToStringでなくtoStringなあたりが
CLRへの冒涜に違いない
835デフォルトの名無しさん:2013/12/06(金) 21:04:55.29
Foreachとforeachはまったく別物だということか
836デフォルトの名無しさん:2013/12/06(金) 21:30:38.02
foreach(var _ in s) _.hoge();
s.ForEach(_ => _.hoge());

4文字のために実行効率を犠牲にしたい人はどうぞ
837デフォルトの名無しさん:2013/12/06(金) 21:34:55.12
デリゲートってようするにReflectionなんでしょ?
838デフォルトの名無しさん:2013/12/06(金) 21:36:08.90
全然違う
839デフォルトの名無しさん:2013/12/06(金) 21:38:45.26
変数が_なだけなのに別言語に見える
840デフォルトの名無しさん:2013/12/06(金) 21:50:28.61
foreach (var $_ in @_){
Console.WriteLine($_);
}
841デフォルトの名無しさん:2013/12/06(金) 22:01:42.03
>C#は同じことをするのに複数のやり方がないようにというコンセプト
delegate周り等の泥縄ぶりからとてもそうは思えませんが
842デフォルトの名無しさん:2013/12/06(金) 22:04:38.27
C++やRubyやScalaみたいなガチでフリーダムな言語を触ったことがあればとてもそんなことは言えない
C#と同様のコンセプトのPythonにだって同程度の自由はあるぞ
843デフォルトの名無しさん:2013/12/06(金) 22:14:54.14
基本的に冗長を強制する割りに他所から持ってきた簡潔な記法を後付けするとか中途半端なだけやろ
844デフォルトの名無しさん:2013/12/06(金) 22:15:26.72
C#の場合、比較対象のJavaが言語的にもライブラリ的にも非常にお堅い設計なので
845デフォルトの名無しさん:2013/12/06(金) 22:16:20.36
ぶっちゃけやりたいことが簡単にできるのが一番いいんだよ、10年の間何人のも人間が入れ替わりでメンテするなんてレアケースだろ
Javaみたいに糞みたいな理想で糞縛り言語作ったらあんなゴミになりましたってなるだけだ
だから今もC++がデファクトスタンダードなんだろうが
846デフォルトの名無しさん:2013/12/06(金) 22:21:14.82
> 10年の間何人のも人間が入れ替わりでメンテするなんてレアケース
昔の汎用機使ってるトコなんか今でもそんな事やってんじゃないの?COBOL辺りで
そういう昔の拡張性皆無の言語の方がよっぽど同じ事するのに複数のやり方が出来ない
様になってると思うがねぇ
847デフォルトの名無しさん:2013/12/06(金) 22:24:15.13
>>845
Javascriptの現状見てから言え。何でも過ぎたるは及ばざるが如しだわ。
848デフォルトの名無しさん:2013/12/06(金) 22:26:34.86
あんな糞言語どうでもいいわ、死ぬ寸前のところだったのにGoogleの奴が余計なことしやがって
LLなんて大嫌いだわ
849デフォルトの名無しさん:2013/12/06(金) 22:27:25.13
いかにも金曜夜の空気だ
850デフォルトの名無しさん:2013/12/06(金) 22:38:09.38
JavaScriptに対するTypeScriptのように
C++ソースを吐く言語があればよいということだな
851デフォルトの名無しさん:2013/12/06(金) 22:40:56.42
>>847
Javascriptの問題はブラウザのベンダーが引き起こしてる問題だろ
Perlのように言語そのものの仕様が崩壊してるわけではない
852デフォルトの名無しさん:2013/12/06(金) 22:45:23.58
>>851
バカ? AltJSのことを言ってんだよ。
853デフォルトの名無しさん:2013/12/06(金) 22:51:27.77
なんでこう真実はいつも一つみたいな流れになるのかねえww
854デフォルトの名無しさん:2013/12/06(金) 22:55:04.51
バーローw
855デフォルトの名無しさん:2013/12/06(金) 23:01:16.72
人間の脳がそう出来てるから
殆どの人間は価値観や目的によって善悪が異なる事を現実に何度も目にしてても自分の
考えこそが絶対的に正しいという幻想を持ち続けて生きてる
そりゃ無駄な争いは無くなりませんて
856デフォルトの名無しさん:2013/12/06(金) 23:02:39.22
せやかて工藤
857デフォルトの名無しさん:2013/12/06(金) 23:35:48.08
JAVAは開発環境が重くないか?
イクリプス?日食だぜ
日本を喰らうってか
JAVAは使いにくい。C#ははるかに簡単でいいよな。
858デフォルトの名無しさん:2013/12/06(金) 23:39:41.99
他と比べるならともかくJavaとC#に大した差はないだろ
ラムダ式もJava8に取り込まれたし機能面ライブラリ面でも差がない
859デフォルトの名無しさん:2013/12/06(金) 23:40:55.64
C# + Visual Studio に敵うものはなし
860デフォルトの名無しさん:2013/12/06(金) 23:57:50.36
Java8は来年春リリースだっけ?
内緒だけどC#は8年前からラムダ計算できるんだよ
861デフォルトの名無しさん:2013/12/06(金) 23:57:51.02
だよな
最強すぎる
862デフォルトの名無しさん:2013/12/07(土) 00:03:48.36
>>860
(C#の大きな利点であった)ラムダ式もJava8に取り込まれたし、って意味だ
昔ほどC#が先行してるってわけではなくなった

むしろC#, Javaともに関数型言語や動的言語に押されて肩身の狭い思いしてる
863デフォルトの名無しさん:2013/12/07(土) 00:07:12.33
あ?C#は動的言語でもあり関数型の考えも取り入れてるだろうが
864デフォルトの名無しさん:2013/12/07(土) 00:11:29.44
>>863
dynamicのことか?
あれを動的言語と言い張るのは無理があるず
865デフォルトの名無しさん:2013/12/07(土) 00:16:26.00
ラムダ式は別にどうでもいいや。
VisualStudio+C#がサクサクでインテリセンスが使いやすい。
JAVAは開発ツールが糞重くてイライラするっす。
866デフォルトの名無しさん:2013/12/07(土) 00:23:23.09
Javaって値型もないしジェネリックも型消去とかいう奴なんでしょ?
その2点だけでも実用上かなり痛い欠点だと思うけど
867デフォルトの名無しさん:2013/12/07(土) 00:24:30.30
値型が必要になるほどパフォーマンスが重要ならC++使うからなぁ
868デフォルトの名無しさん:2013/12/07(土) 00:25:39.65
Javaって今型推論あるの?
あとプロパティ
869デフォルトの名無しさん:2013/12/07(土) 00:27:59.72
プロパティはただの糖分更衣だしあってもなくても問題ないな
870デフォルトの名無しさん:2013/12/07(土) 00:29:36.76
糖分更衣て
871デフォルトの名無しさん:2013/12/07(土) 00:31:22.52
素で吹いたw

糖衣構文

糖分更衣

生々しい覚え違いクソワロタwww
872デフォルトの名無しさん:2013/12/07(土) 00:37:17.63
素でわからなかった
873デフォルトの名無しさん:2013/12/07(土) 00:44:15.86
30年近くプログラミングしてるが、糖衣構文なんて単語初めて知ったわ
874デフォルトの名無しさん:2013/12/07(土) 00:46:48.35
30年ってヘタするとおじいちゃんじゃね?
875デフォルトの名無しさん:2013/12/07(土) 00:48:30.78
俺後一周で還暦じゃあ
876デフォルトの名無しさん:2013/12/07(土) 01:00:39.13
長生きしていろんなテクノロジーの進歩に心を躍らせたいね
877デフォルトの名無しさん:2013/12/07(土) 01:01:27.95
ふつうは構文糖衣って言うけどね
878デフォルトの名無しさん:2013/12/07(土) 01:04:14.31
googleヒット数1780ワロタ
879デフォルトの名無しさん:2013/12/07(土) 01:05:45.62
構文糖
糖衣構文
880デフォルトの名無しさん:2013/12/07(土) 01:11:11.29
シンタックスシュガー
881デフォルトの名無しさん:2013/12/07(土) 01:12:35.48
>>869
延々Getter&Setterを書きたいか?
882デフォルトの名無しさん:2013/12/07(土) 01:16:16.08
>>880 がフツー
883デフォルトの名無しさん:2013/12/07(土) 01:17:00.73
>>881
それpublicフィールドにするのと何が違うのw
884デフォルトの名無しさん:2013/12/07(土) 01:17:54.31
>>882
問題ない日本語訳があるのにカタカナ語使うのはダサいよ
ルー大柴みたい
885デフォルトの名無しさん:2013/12/07(土) 01:18:50.76
一瞬糖衣更衣って読んでしまった
886デフォルトの名無しさん:2013/12/07(土) 01:19:41.14
俺はいちいち糖衣でくるまない。
全部public
何が悪い
887デフォルトの名無しさん:2013/12/07(土) 01:19:48.11
>>883
インテリセンスの記号がプロパティの方がかっこいいでしょ?
888デフォルトの名無しさん:2013/12/07(土) 04:21:17.57
>857
>JAVAは開発環境が重くないか?
>イクリプス?日食だぜ
>日本を喰らうってか

何を言っているんだ。
ちゃんとIBMの期待通りSun Microsystemsは
没落した。
Sun(日)が欠けたと言うより勝手に沈んだだけだが。
889デフォルトの名無しさん:2013/12/07(土) 05:21:33.06
JAVAって書く奴ってなんか頭悪いよね
890デフォルトの名無しさん:2013/12/07(土) 05:36:04.20
>>889
君の日本語のほうが芳ばしいけどなw
891デフォルトの名無しさん:2013/12/07(土) 09:51:35.14
プロパティとフィールドでは挙動が違うから、フィールドを公開するとあとでプロパティに変更するときに呼び出し側の修正がいる場合がでてくる
892デフォルトの名無しさん:2013/12/07(土) 10:05:14.69
そんなのref/outとミュータブルな値型ぐらいでしょ
893デフォルトの名無しさん:2013/12/07(土) 10:10:14.12
>>823
int delCount = 0; は、DeleteLineが始まってすぐに定義して、
return delCount; は DeleteLineの一番最後、
つまり、jのforループの外じゃないと駄目なんじゃないの?
なおロジックはチェックしてないのであしからず
894デフォルトの名無しさん:2013/12/07(土) 10:39:03.47
>>884
ルー語は有益だよ
君みたいなバカにはわからないだろうけど
日本人ならみんなが身につけるよう推奨されてもいいぐらいに便利だ
895デフォルトの名無しさん:2013/12/07(土) 10:54:07.20
普通シンタックスシュガーだよなw
896デフォルトの名無しさん:2013/12/07(土) 11:43:22.36
シンタックスシュガーだな
っつーか専門用語って日本語だったり英語だったりすると覚えられないから
申し訳ないけど相手がどっちで覚えてるかを無視して英語に統一してる
開発者同士で会話が糞ダルいのって言葉の壁で意思疎通できないときだったりする
897デフォルトの名無しさん:2013/12/07(土) 11:44:39.81
googleヒット数3300
898デフォルトの名無しさん:2013/12/07(土) 11:54:28.42
>>896
お前みたいに片方の言語しか使えない人がいると意思疎通できないことが多いな。
プロなら両方知ってるのは当然だし「ぼく英語しか覚えてないから英語でよろしく」なんて通用するのは2chくらいだろう。
899デフォルトの名無しさん:2013/12/07(土) 11:55:03.16
>>896
英語/日本語関係ないよ。意思疎通が下手なだけ

「シンタックスシュガー」なんて誰も知らないような単語じゃなく「読みやすい/書きやすいソースを書きましょ」って
言った方が遥かに"伝わる"
900デフォルトの名無しさん:2013/12/07(土) 11:57:54.98
意思疎通が〜とかアスペが〜とか言ってる奴ほど仕様書書かない、書けないんだよな。
901デフォルトの名無しさん:2013/12/07(土) 12:16:19.30
大事なのは言葉の意味を聞かれたときにちゃんと説明できることだよ
糖衣構文にしろシンタックスシュガーにしろ知らない人にはどっちで聞いても意味がわからないしな
902デフォルトの名無しさん:2013/12/07(土) 12:20:21.30
プロパティがシンタックスシュガーとか言ってる奴は
メソッドもクラスも全てアセンブラのシンタックスシュガーでいいんだな?
903デフォルトの名無しさん:2013/12/07(土) 12:21:49.50
そうそう。SEは決まってみなそういうよな。
本来それを説明するのがSEの仕事なのになぜかPGに説明をさせようとする。

仕事してくれ。
904デフォルトの名無しさん:2013/12/07(土) 12:25:49.05
言葉の意味を説明するのはseでpgはそんな必要は無いそうです。
pgの単金は3000円/時間ぐらいでいいよね
905デフォルトの名無しさん:2013/12/07(土) 12:28:25.96
海外で1000円だな
3000円とか高杉
906デフォルトの名無しさん:2013/12/07(土) 12:28:37.45
仕様も決めない、コードも書かない、テストもしないんだから、
顧客のご機嫌ぐらい取れよ、自称SEさん。
907デフォルトの名無しさん:2013/12/07(土) 12:36:55.44
>>883
・値の変更にブレークポイントが設定できる
・読み取り専用や演算結果を設定できる

まあそこは構造体でええやろ、ってとこでも
馬鹿の一つ覚え(もしくは規約)で
クラス使ってるのも多いけど
908デフォルトの名無しさん:2013/12/07(土) 12:42:22.74
>>905
バイト以下だな
909デフォルトの名無しさん:2013/12/07(土) 12:45:14.20
じゃあビットで
なんつって
910デフォルトの名無しさん:2013/12/07(土) 12:53:54.43
buy toy
911デフォルトの名無しさん:2013/12/07(土) 13:36:57.74
>>896
昔得意げにライナックスって言ってるやつがいたわ
912デフォルトの名無しさん:2013/12/07(土) 13:51:54.28
スヌーピーにでてくるLinusはライナスだろ
913デフォルトの名無しさん:2013/12/07(土) 14:46:12.69
>>899
お前シンタックスシュガーの意味分かってないじゃんw 馬鹿かw
914デフォルトの名無しさん:2013/12/07(土) 15:22:44.59
アスペわろたw
915デフォルトの名無しさん:2013/12/07(土) 15:27:39.98
日本語・英語の違いによるポリシーでなく他人にわかるように説明しろ
と言う人と
そのレスのシンタックスシュガーの用語の使い方が違う
と主張する人の話が噛み合っていない。
どちらも同じレスを連投するだけ
916デフォルトの名無しさん:2013/12/07(土) 15:39:19.19
マジでPGってこんなんばっかだよな、まともに双方向でコミニュケーションとれるやつが少な過ぎる
合意形成や相互理解に努める気がない会話とか不毛でナンセンスだから俺は放棄するね
917デフォルトの名無しさん:2013/12/07(土) 15:45:07.85
言いたことだけ言って会話しない、できない人って多いよな
で、急にキレ出したりするしw
918デフォルトの名無しさん:2013/12/07(土) 15:49:44.51
コーディングルール〜三項演算子はできるだけ使わないようにしましょう
こんな場合にちょっとでも使うとブチ切れる奴いるよな。なんつーか。馬鹿すぎて相手にならないw
919デフォルトの名無しさん:2013/12/07(土) 15:55:16.66
>>916
いるいる
まず人間として恐ろしく低次元のやつが平気でいる
920デフォルトの名無しさん:2013/12/07(土) 16:07:27.33
マ板に帰れ
921デフォルトの名無しさん:2013/12/07(土) 16:09:02.22
マ板君キタ━━━━(゚∀゚)━━━━!!
922デフォルトの名無しさん:2013/12/07(土) 16:15:08.23
とりあえず仕様書に全て書いてあるから仕様書とソース読めば作れます!と言い張るやつぶん殴りたい
そのゴミみたいなドキュメントじゃわかんねーんだよ!途中から入ってなんの説明も無しに論理名だけじゃイミフなんだよ
質問すれば仕様書読みました?って・・・舐めてんの?死ぬの?
マジで普通に会話したいだけなのに、俺がキティみたいな目で見られるのもう疲れたよ
923デフォルトの名無しさん:2013/12/07(土) 16:24:04.83
それこそマ板でやれよw
924デフォルトの名無しさん:2013/12/07(土) 16:37:14.03
syntax error!
プログラミング言語で指示して下さい
925デフォルトの名無しさん:2013/12/07(土) 16:39:39.69
日本語でお願いします
926デフォルトの名無しさん:2013/12/07(土) 16:47:39.26
10 しね。
run
Ok
927デフォルトの名無しさん:2013/12/07(土) 16:59:35.93
HTTP/1.1 301 Moved Permanently
Location: http://kohada.2ch.net/prog/
928デフォルトの名無しさん:2013/12/07(土) 17:24:37.21
実行中のプログラムで作られたインスタンスが保存されているメモリーのアドレスを、外部アプリで取得するにはどうしたらいいでしょうか?
確認したい時点で、インスタンスがあるかどうか、またインスタンスの数は不明な状態で、インスタンスの数も同時に取得したいです。
929デフォルトの名無しさん:2013/12/07(土) 17:29:53.10
一番簡単なのはMicrosoft Support Professionals Toolkit for Windowsでダンプしてそのダンプ結果解析
930デフォルトの名無しさん:2013/12/07(土) 18:34:04.35
Inside OLE読め
931デフォルトの名無しさん:2013/12/07(土) 20:29:22.58
>>930
2chで聞く奴がそんなもの読むかよ
932デフォルトの名無しさん:2013/12/07(土) 20:32:27.56
読んだところで意味ねーよ
933デフォルトの名無しさん:2013/12/07(土) 20:33:36.30
>>930
pdfはどこにありますか?
934デフォルトの名無しさん:2013/12/07(土) 20:44:48.15
928はソースのないプログラムの中を見たいと言ってるのかな〜
935デフォルトの名無しさん:2013/12/07(土) 21:08:47.14
>>827
IEnumerable<T>のforeachの実装
https://www.nuget.org/packages/Ix-Main

linqの拡張が沢山あるけど、殆ど役立たずなのは秘密だ
936デフォルトの名無しさん:2013/12/07(土) 21:25:18.84
OLEってポインターの上位アドレスが単なるセレクターだった16bit時代に
マーシャリングとかあって先進的だなぁと思ってた。
参照カウンターとかVテーブルの考え方もこれで知ったよ
937デフォルトの名無しさん:2013/12/07(土) 21:38:30.02
comは思い通りに使えるし作れるが未だに理解はしてない。あれまともに理解できる奴なんていないだろ
938デフォルトの名無しさん:2013/12/07(土) 22:22:45.68
俺は.NETではCOMコンポーネントをまだ満足に作れないよ
凝った事してない自作クラスならなんとかなるが
遅延バインディングとかいつもハマりまくる
939デフォルトの名無しさん:2013/12/07(土) 22:58:46.47
>>937
みたいな奴が作ったcomを誰が利用したいと思うのかしらん
940デフォルトの名無しさん:2013/12/07(土) 23:36:23.33
いや複雑な技術ってそういうものだから。
.NETだってCLRの細部の仕様まで理解してるC#プログラマってどれだけいるよ
941デフォルトの名無しさん:2013/12/08(日) 00:07:40.72
Jeffrey Richter
942デフォルトの名無しさん:2013/12/08(日) 00:20:14.33
一人だけか
943デフォルトの名無しさん:2013/12/08(日) 02:01:21.17
ヘジたんは?
944デフォルトの名無しさん:2013/12/08(日) 02:25:43.83
Jeffrey Richter さんってナポレオン本の人?
945デフォルトの名無しさん:2013/12/08(日) 10:21:48.59
C++なんて言語仕様全部理解して使ってる奴なんて日本で100人もいないだろw
946デフォルトの名無しさん:2013/12/08(日) 10:36:55.54
仕事でも趣味でも使わないが仕様は把握してるよ
947デフォルトの名無しさん:2013/12/08(日) 10:38:34.24
言語厨ってやつか
948デフォルトの名無しさん:2013/12/08(日) 11:17:59.50
COMはOLEオートメーションは何とかなるがUIがからむとしんどいな
949デフォルトの名無しさん:2013/12/08(日) 11:21:34.92
知ったか学生か
950デフォルトの名無しさん:2013/12/08(日) 11:23:56.70
なによりまず本やドキュメントが少ないのが困る
古いから絶版になってたりするしさ
電子書籍で格安で再販してくれたら助かるんだが
951デフォルトの名無しさん:2013/12/08(日) 12:38:25.01
以前C#でCOMサーバー作ったら、それをC#のRCWから呼べなくてガックリきた。
952デフォルトの名無しさん:2013/12/08(日) 14:35:11.50
COMスレッドには人いなかったのにここにはいっぱいいるなw
COMの交換則とか反射則とかが理解できなかった
953デフォルトの名無しさん:2013/12/08(日) 15:12:42.07
COM理解できるってスーパープログラマーだろ
早くGoogleかMicrosoftに転職した方がいいぞ
954デフォルトの名無しさん:2013/12/08(日) 16:54:40.97
COMに関しては、世界はなあなあで回ってると思う
とりあえずCOMインターフェイスを使う側としてはなんとかなっちゃうし
955デフォルトの名無しさん:2013/12/08(日) 16:58:08.23
アパートメントとかメモリモデルがややこしすぎる
956デフォルトの名無しさん:2013/12/08(日) 17:50:00.66
んでスーパープログラマーさん達はどこにお勤めで?
外資の名だたるソフトウェアメーカーでバリバリ活躍してらっしゃるんですよね?
957デフォルトの名無しさん:2013/12/08(日) 17:54:46.55
それはスーパープログラマーのいるとこで聞けよ
一人で誤解しているようだがこんなところにそんな人間はおらぬ
958デフォルトの名無しさん:2013/12/08(日) 18:09:08.91
COMってまだ使われてるのか?
アドオンとかはCOMっぽいけどな。
なんとなく
別にみたわけじゃないけど
959デフォルトの名無しさん:2013/12/08(日) 18:11:54.54
使わされてる
みんなもう使いたくないけど
まるで末期ガンのようにWindowsに病巣を行き渡らせて摘出もできない
960デフォルトの名無しさん:2013/12/08(日) 18:14:37.98
WinRTもCOMなんでしょ確か。

>>959みたいな話は昔からよく聞くけど、これが本当ならMSもこの期に及んで
新規で使ったりしないと思うんだけど。
961デフォルトの名無しさん:2013/12/08(日) 18:16:08.05
WinRTってそれこそCOMの呪縛から逃れるために作ったんじゃなかったのか
962デフォルトの名無しさん:2013/12/08(日) 18:24:34.24
winmdか、一応次世代COMということになってるね
963デフォルトの名無しさん:2013/12/08(日) 18:25:08.45
WindowsからCOMを除いたらデバドラしか残らないってぐらいCOMの塊だぞ
964デフォルトの名無しさん:2013/12/08(日) 18:34:18.05
MSがOfficeで稼ぐのを諦めない限りずっと残るんじゃないの
965デフォルトの名無しさん:2013/12/08(日) 18:35:12.82
ないと2chビューアが動かない。
966デフォルトの名無しさん:2013/12/08(日) 18:38:23.76
officeはいい加減vba捨ててpowershellに切り替えればいいのに
967デフォルトの名無しさん:2013/12/08(日) 18:39:34.64
ビジネスで使われてるvba資産は想像以上に膨大なので絶対に切り捨てられない。
968デフォルトの名無しさん:2013/12/08(日) 18:41:29.79
切り捨てまで行かなくてもpowershellと併用は可能だろう
969デフォルトの名無しさん:2013/12/08(日) 18:51:30.19
スタートメニューボタンは犠牲になったのだ
970デフォルトの名無しさん:2013/12/08(日) 18:57:42.73
VBA切り捨てなくてもいいけどC#スクリプトにするべき
OFFICEもシェルもバッチもDOSもC#スクリプトで
971デフォルトの名無しさん:2013/12/08(日) 19:01:04.29
OfficeはIronPythonでいいじゃん
もうVBのコード見たくないよ
972デフォルトの名無しさん:2013/12/08(日) 19:27:26.79
オブジェクト指向は愚かな考え。排便メソッドを実装した人間クラスから美少女クラスが作れない。
http://engawa.2ch.net/test/read.cgi/poverty/1386476617/
973デフォルトの名無しさん:2013/12/08(日) 19:38:55.31
コピペマン参上!まで読んだ。
974デフォルトの名無しさん:2013/12/08(日) 19:45:56.70
愚かな考えってかオーバーライド知らんだけに見えるな

プログラミング自体なんて勃興したばっかなのに
聖書のごとく唯一の真実として語られても困るがね
975デフォルトの名無しさん:2013/12/08(日) 19:47:32.49
日本語でおk
976デフォルトの名無しさん:2013/12/08(日) 19:58:39.98
>>972
スレタイワロタw
977デフォルトの名無しさん:2013/12/08(日) 20:05:16.09
排便メソッドw
978デフォルトの名無しさん:2013/12/10(火) 08:34:27.14
ポトペタのC#Windowsフォーム作ってるんですが、
上から一種類の要素をpushされていくようなコントロールをフォームにのっけたいのですが、どうしたらいいですか?

http://gyazo.com/fab710f9c7ef0b9ae6b0af78aafbc5a9.png
イメージ的にはこんな感じなんですが、
別スレッドでauto Scroll追加したpanelに上からどんどん要素を追加して下に押し出されるような事をしたいです

できたら、座標をしてしないで追加した分自動で下に押し出されるようなものがあると助かるんですが
979デフォルトの名無しさん:2013/12/10(火) 09:19:18.79
FlowLayoutPanel

別スレッドから触るなら同期しないとダメよ
980デフォルトの名無しさん:2013/12/10(火) 09:37:36.91
beginとなんかを control.addの前後に挟めばいいですか?
981デフォルトの名無しさん:2013/12/10(火) 09:57:08.91
そんなレベルでマルチスレッド使ってるの?
982デフォルトの名無しさん:2013/12/10(火) 10:55:00.71
わろた
983デフォルトの名無しさん:2013/12/10(火) 12:22:06.51
>別スレッドから触るなら同期しないとダメよ
この意味すらわからないならあきらめろん
984978:2013/12/10(火) 12:27:05.76
>>983
すいません、あまり意味が分からなくて…
同時にアクセスされたらロックさせて待たせるみたいな機能をを実装したSingletonクラスを作り、
FlowLayoutPanelへのアクセスを全てそのSingletonクラスに実装したDeligateメソッド経由で行えばいいのでしょうか?
985デフォルトの名無しさん:2013/12/10(火) 13:29:58.89
986デフォルトの名無しさん:2013/12/10(火) 17:20:14.72
TcpClientででかいデータを一発でやりとりすんのってどうやってやるんですか?
987デフォルトの名無しさん:2013/12/10(火) 17:47:59.40
何GB?
988デフォルトの名無しさん:2013/12/10(火) 18:40:03.19
同期ってロックと違うの?
同じメモリ上のリソース使ってるんじゃないの?
989デフォルトの名無しさん:2013/12/10(火) 18:44:23.38
別スレッドからUIいじれない。同期するしない、エラーが起きる可能性があるとかじゃなくて落ちる。
990デフォルトの名無しさん:2013/12/10(火) 19:51:46.06
じゃあ別スレッドからメインスレッドにUIいじってくれってスタックしとけばいいんじゃないの
991デフォルトの名無しさん:2013/12/10(火) 19:52:57.47
それでもいい
992デフォルトの名無しさん:2013/12/10(火) 19:54:55.13
素人だねえ
低レベルなレイヤ知らないとこうなる
993デフォルトの名無しさん:2013/12/10(火) 19:55:55.38
(また変なの来たよ・・・)
994デフォルトの名無しさん:2013/12/10(火) 19:58:49.08
まずLinuxから始めるべき
995デフォルトの名無しさん:2013/12/10(火) 21:02:17.01
>>993
(関わるな、絡まれるぞ。)
996デフォルトの名無しさん:2013/12/10(火) 21:09:31.54
Win32でプログラムしててPostMessageで自分のキューにボタン押したとか
メッセージ飛ばして処理を先送りしたいことってあるじゃないですか。

あれをC#でやりたくてググったらPostMessageはBeginInvokeだよ
みたいな事がかかれてるんだけどいまだに本当にそうなのか?って疑問なんだが。
997デフォルトの名無しさん:2013/12/10(火) 21:13:27.80
なんで疑問なの?
998デフォルトの名無しさん:2013/12/10(火) 21:18:25.86
単純に、使い込んでないからあやふやなだけなんだけど。
イメージとしてはPostMessageってキューに積むことだけど
BeginInvokeってキューに積むことなの?
999デフォルトの名無しさん:2013/12/10(火) 21:21:52.84
Control.BeginInvokeはアプリケーションループで順次実行
デリゲートのBeginInvokeはスレッドプールを使って並列で動く
1000デフォルトの名無しさん:2013/12/10(火) 21:23:40.53
とどめだ
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。