C#, C♯, C#相談室 Part83

1デフォルトの名無しさん
前スレ
C#, C♯, C#相談室 Part82
http://toro.2ch.net/test/read.cgi/tech/1386763696/

Visual Studio 2010 Express 他
http://www.visualstudio.com/downloads/
2デフォルトの名無しさん:2014/04/20(日) 11:53:40.75 ID:X23Clxno
>>1

> Visual Studio 2010 Express 他

そろそろ 2013 にしてもいいかと
3デフォルトの名無しさん:2014/04/20(日) 21:32:16.44 ID:ekNgbe08
初学者はExpress for windows desktopが正解だっけ
4デフォルトの名無しさん:2014/04/20(日) 22:12:26.60 ID:PF/kKHEc
>>1
5デフォルトの名無しさん:2014/04/20(日) 22:30:23.93 ID:NkZ8yLaE
他って何があるの?
6デフォルトの名無しさん:2014/04/20(日) 22:35:19.76 ID:pm6pQF/U
Express For Webの方が段違いに高機能だよ
For Windows Desktopからテンプレートを抜いてExpress For Webで使うのがベスト
7デフォルトの名無しさん:2014/04/21(月) 00:42:05.10 ID:eYdH8FCu
ライセンス大丈夫なのそれ
8デフォルトの名無しさん:2014/04/21(月) 11:09:25.71 ID:RwXDTsmn
>>6 kwsk
9デフォルトの名無しさん:2014/04/22(火) 12:28:30.66 ID:6+D188bl
桁数が無制限の10進小数BigDecimalクラスを作って
その型をメンバに持つユーザーコントロールを
作ったのですが、プロパティウィンドウで
灰色表示になっていて編集できません。

どのようにすれば、プロパティウィンドウで
通常のdecimalなどと同じように入力できるでしょうか。
10デフォルトの名無しさん:2014/04/22(火) 12:43:28.85 ID:XBfi1btF
TypeConverter実装してStringとの相互変換を書く、だっけ
11デフォルトの名無しさん:2014/04/22(火) 15:32:26.26 ID:LLIZuTLq
Windows8.1 UPDATEがリリースされました。
使用メモリが少なくなって1GBメモリのマシンでも動作するようなことが言われています。

アップデート(8 →8.1 →8.1 UPDATE)しようと思いますが、
c#や、.netはきちんと動作してくれるんでしょうか。

試した人います?
12デフォルトの名無しさん:2014/04/22(火) 15:34:35.91 ID:hiWtVD31
大丈夫に決まってるだろ・・・
13デフォルトの名無しさん:2014/04/22(火) 15:56:53.67 ID:z8WHMXPV
新らし物好きならば体を張って確かめるべき
14デフォルトの名無しさん:2014/04/22(火) 17:58:51.02 ID:UE2PHjX0
>>11
OSの実装に依存するようなクソなコードじゃなければ動くに決まってるだろ。






というのが建前
15デフォルトの名無しさん:2014/04/22(火) 18:04:40.83 ID:z8WHMXPV
DLLHELLへようこそ
16デフォルトの名無しさん:2014/04/22(火) 21:18:01.26 ID:FcSpgIwh
8系は昔のバージョンが入ってない
17デフォルトの名無しさん:2014/04/22(火) 23:11:07.13 ID:WX6xzJqE
旧バージョンも一応入れることも出来るけどね。
まぁ、4.5.1 も互換性あるらしいから一通り動かしてみて
おかしな所を修正するだけでいいんじゃないかと。
18デフォルトの名無しさん:2014/04/23(水) 19:18:50.80 ID:uDUMTt2m
>>12-17
レスありがとうございました。

>>17
.net 2から、WINDOWS8の.net 4?に、ASP.NETアプリを移行して困ったことは、
接続文字列を格納したweb.confの要素を読み込むためのクラスが変わっていたことだったな。

Windows 8 も、Windows 8.1 UPDATEも、.net周辺は互換性があるとして、
アップデートやろうかな。でも、テスト環境を用意して、様子を見よう。
19デフォルトの名無しさん:2014/04/23(水) 21:09:51.51 ID:8RvEXtF8
C#は初めてでjavaはそれなりに分かる程度なんですが、
インターフェースを実装した匿名型みたいなのってどう作るのが一般的ですか?
具体的にはSystem.Collections.Generic.IEnumerable<E>を実装したクラスを作りたいのですが、
GetEnumratorはどう実装するのが一般的なのかで戸惑っています。
javaでやった時はreturn new IEnumerator<E>(){...};みたいなのを書いていたのですが、
C#では全然違うやり方するんだろうなと思いつつもググってもみつかりませんでした。

宜しくお願い致します。
20デフォルトの名無しさん:2014/04/23(水) 21:12:43.10 ID:9b5aah45
もうIEnumerable<T>は自前で実装せずyieldで書くわ
インターフェイス一般なら普通にclass内部にネストしたprivate classで書けば良いんじゃね
21デフォルトの名無しさん:2014/04/23(水) 21:18:29.46 ID:oHxA5I3Z
インターフェースじゃなくて出来るだけdelegateとラムダ式を使うことやね
22デフォルトの名無しさん:2014/04/23(水) 21:28:40.77 ID:Jwmg0nMc
イベントやラムダがあるからインターフェイスをネストクラスで実装するのは
あんまり必要ないんだよ
というかJavaが異常
ちなみにJavaみたいにネストクラスが暗黙的に外のオブジェクトの参照を持つってのも
C#には無い(C#のネストクラスは全部Javaのstatic class相当)
要らないからね
23デフォルトの名無しさん:2014/04/23(水) 21:42:39.32 ID:FOWeiF78
>Javaが異常
18年かかって反省した結果がSAM(Single abstract method)
24デフォルトの名無しさん:2014/04/23(水) 21:52:08.48 ID:Jwmg0nMc
反省して7年間悩んだ結果が
外のローカル変数を変更できず検査例外と相容れない代物
25デフォルトの名無しさん:2014/04/23(水) 22:27:47.84 ID:B15hE1J5
いい加減検査例外が欠陥品だと認めろ
26デフォルトの名無しさん:2014/04/23(水) 22:34:21.45 ID:Jwmg0nMc
>>25
公式にそう認めたよ
とうとうjava.io.UncheckedIOExceptionが導入された
27デフォルトの名無しさん:2014/04/23(水) 22:37:37.71 ID:FOWeiF78
C#の真似して失敗した劣化版enum
C#の真似して失敗したクロージャもどきのラムダ
C#の真似して失敗した劣化版タイプジェネリクス
C#の真似したboxing
C#の真似した世代別ガベコレ
C#の真似した劣化版デリゲート「SAM」
失敗を認めた検査例外

もうJAVAのライフはゼロ
28デフォルトの名無しさん:2014/04/23(水) 22:45:31.11 ID:PHSt4KVS
C#も最初はJava以下の代物だったのにこんなに立派になって・・・
ここ数年、Javaがパッとしないってのもあるんだけどさ。
29デフォルトの名無しさん:2014/04/23(水) 22:51:46.29 ID:qZjbiDWM
>>28
こんな記事もあったぐらいでそれはない。
http://www.atmarkit.co.jp/fdotnet/special/java2cs/java2cs_01.html

この記事のコメントで暴れてたJava信者の人今はどうしてるかねw
30デフォルトの名無しさん:2014/04/23(水) 23:52:36.57 ID:8RvEXtF8
いや、javaがダメだってのはそれでいいんだけど、
実際delegateとか書くにはどうしたらいいの?
yieldで作ったIEnumerableを再帰したら重すぎたので
用途限定の無限リスト実装クラスを書きたいだけなんだよね。
31デフォルトの名無しさん:2014/04/23(水) 23:58:41.49 ID:oHxA5I3Z
yieldで作ったIEnumerableを再帰する ってどんなん?
32デフォルトの名無しさん:2014/04/24(木) 00:01:23.94 ID:eSsn4FqQ
イテレータ―のベストプラクティスはこんな感じ

class Hoge: IEnumerable<T> {
 public struct Enumerator :IEnumerator<T>{}
 public Enumerator GetEnumerator(){ return new Enumerator();}
 IEnumerator<T> IEnumerable<T>.GetEnumerator(){return GetEnumerator();}
}

IEnumeratorの中身が分からんなら諦めて
33デフォルトの名無しさん:2014/04/24(木) 00:01:42.26 ID:eeIDhPaJ
関数型っぽくいくなら
static IEnumerable<object> Infinite() { while (true) yield return default(null); }
var inflist = Infinite().Select(_ => 好きな値());
3433:2014/04/24(木) 00:03:22.24 ID:eeIDhPaJ
default(null)はnullの間違い
35デフォルトの名無しさん:2014/04/24(木) 00:14:49.41 ID:BDmsfKX9
>>31
IEnumerable<T> sample(IEnumerable<T> tailBase)
{
 var e = tailBase;
 while(true)
 {
  var r = e.ElementAt(0);
  e = from v in e where Filter(v) select v;
  yield return r;
 }
}
かなり省いたけど大体こんな感じの。
36デフォルトの名無しさん:2014/04/24(木) 00:18:00.24 ID:7gol0BjG
foreach(var item in e)
{
 if(Filter(item)){ yield return item; }
}

じゃダメなの?
37デフォルトの名無しさん:2014/04/24(木) 00:19:44.03 ID:7gol0BjG
なんかわけわかんないことかいたな
return e.Where(Filter);

こうか
38デフォルトの名無しさん:2014/04/24(木) 00:53:46.66 ID:eeIDhPaJ
>>35
SelectMany
39デフォルトの名無しさん:2014/04/24(木) 11:07:28.13 ID:RPJZFTzy
Windows Live Mail に足りない機能をC#で追加したいと思っています。
そんな組み込みは可能でしょうか?

Windows Live Mail自体がコンパイルされて出来上がった
アプリケーションである以上、そこにC#で新たにプログラムを作って組み込みする方法とか無いのでは?
とも考えています。
40デフォルトの名無しさん:2014/04/24(木) 12:39:46.74 ID:efYzmxgq
1から作った方が早いわな
41デフォルトの名無しさん:2014/04/24(木) 12:45:23.88 ID:mnsZs1hI
そういう奴は「プラグイン(アドイン)追加でxxできます!!」と謳ってるから
まずそこを確認するところから
42デフォルトの名無しさん:2014/04/24(木) 15:46:36.51 ID:2R+2SMgf
>>41
プラグイン開発方法とか解説しているサイトの中でオススメはありますか?
43デフォルトの名無しさん:2014/04/24(木) 17:53:40.24 ID:YxnFmXEY
だからそもそもWindows Live Mailがプラグインを、それも.net製のプラグインを使えるアプリケーションなの?って話
44デフォルトの名無しさん:2014/04/24(木) 17:56:03.77 ID:tDJuXksa
Outlookのアドオン市場ってそれなりにあるんでは
個人的に1つ使ってる
外国製で30ドル位だった
45デフォルトの名無しさん:2014/04/24(木) 18:01:30.58 ID:qWN4hsJ9
いろんな本に出てくるマネージヒープってなにもの?
46デフォルトの名無しさん:2014/04/24(木) 18:06:32.37 ID:6IsMFN2k
.NETが管理してるメモリ領域のうち、参照型の実体を置いておく領域
47デフォルトの名無しさん:2014/04/24(木) 18:07:22.79 ID:qgz+WFm0
Outlookの開発はVSにテンプレートがあるほどだしな
48デフォルトの名無しさん:2014/04/24(木) 18:11:00.42 ID:qWN4hsJ9
>>46
じゃあ参照型の変数(ポインタ?といっていいのか?)はどこにあるの?
49デフォルトの名無しさん:2014/04/24(木) 18:12:15.63 ID:6IsMFN2k
ローカル変数ならスタック
50デフォルトの名無しさん:2014/04/24(木) 18:16:31.07 ID:qWN4hsJ9
>>49
ありがとう
じゃクラスのフィールドに参照型が定義されてたら?
51デフォルトの名無しさん:2014/04/24(木) 18:18:04.70 ID:6IsMFN2k
参照型のフィールドは参照型の実体の一部
52デフォルトの名無しさん:2014/04/24(木) 18:25:41.81 ID:qWN4hsJ9
>>51
thx
なんとなくわかった気がする、ありがとー
53デフォルトの名無しさん:2014/04/24(木) 21:09:08.42 ID:eyNeUV4V
>>43
サンクス

Windows Live Mailしか使った事がなぃんだけどOutLookと比べてどっちの方が使い勝手が良いですか?
もしOutLookは10年位前に使った事はある程度です。
54デフォルトの名無しさん:2014/04/24(木) 21:14:01.68 ID:mu7aLjm1
そりゃもうスレ違いだ ソフトウェア板かどっかに行ってこい
55デフォルトの名無しさん:2014/04/25(金) 09:26:40.97 ID:IZttWr8m
使い勝手の良さなんて個人の趣味で変わるしな
あえて言えばテンプレ改良してマイメーラーが最強w
56デフォルトの名無しさん:2014/04/25(金) 11:24:17.40 ID:ooCgI5xK
Exchangeで使うなら、言うまでもなくOutlook
Outlook.comで使う場合もOutlookの方がいいと思う
PopやImapでしか接続しないならWindows liveメールの方が手軽でいいかな
57デフォルトの名無しさん:2014/04/30(水) 18:00:42.73 ID:DNQbhBwD
www.infoq.com/jp/news/2014/04/roslyn_oss
58デフォルトの名無しさん:2014/04/30(水) 18:34:06.89 ID:EzgfB9pv
データーの永続化で一番高速な方法ってなんですか?
59デフォルトの名無しさん:2014/04/30(水) 18:36:18.93 ID:4l7lcAfF
君が何を永続化しようとしてるのかによって取れる方法が違うんだから
先にそれを言った方が二度手間にならなくていいぞと忠告してやる
60デフォルトの名無しさん:2014/04/30(水) 18:43:10.80 ID:EzgfB9pv
深さが二段階しかないツリーデータです
61デフォルトの名無しさん:2014/04/30(水) 18:54:33.47 ID:I6H+jm99
neueとかいうブログの人がシリアライザのパフォーマンス比較の記事を書いてたように思ったが、
まあ気になるなら自分で確認するのが一番だよね。
62デフォルトの名無しさん:2014/05/03(土) 12:01:57.25 ID:HBcfi/y3
OWINてどうなの? IIS捨てれるの?
63デフォルトの名無しさん:2014/05/03(土) 23:34:23.75 ID:oJLHNYzb
ASP.NETのように、ビハインドでビジネス層のクラスを組み立てながら、
WEBアプリの構築は、JAVA + JSP + サーブレット でもできます。

しかし、ASP.NETのサーバーコントロールのように高度に抽象化されたデザイン用クラスは、
JAVAを使った開発でも最近はあるんでしょうか。
64デフォルトの名無しさん:2014/05/03(土) 23:38:27.42 ID:oJLHNYzb
あるいは、ASP.NETのオープンソース版、.NETフレームワークのオープンソース版って、実用的なんでしょうか。
最近では、c#のコンパイラがオープンソース化されたようですけど。
お金のかからない環境を構築したいとおもって。
65デフォルトの名無しさん:2014/05/03(土) 23:52:34.97 ID:Cu6JPOBx
>>63
Struts 1のtaglibがそのものなのだが
66デフォルトの名無しさん:2014/05/03(土) 23:56:18.73 ID:oJLHNYzb
>>65
本屋でパラパラページをめくりながら探していると、
Structってもはや古い技術だというような記述があったので、意外でした。
taglibは本屋では見つからなかったです。

ちょっと調べてきます。
ありがとうございます!
67デフォルトの名無しさん:2014/05/04(日) 02:14:44.21 ID:eMoGcgcA
どっちもStaticなグローバル変数で持ってますよね、SingletonとStaticの違いってなんですか?って質問されて上手く答えられなかった・・・
68デフォルトの名無しさん:2014/05/04(日) 02:40:26.63 ID:dx9xU03u
Singletonはクラスのアクセスメソッドで制限をかけることができる。
グローバル変数は誰がいつどのタイミングで読み書きするかわからない。
69デフォルトの名無しさん:2014/05/04(日) 02:49:01.63 ID:mi+P20vl
シングルトンは遅延初期化させたい時かな
静的コンストラクタはあまり使いたくない
70デフォルトの名無しさん:2014/05/04(日) 06:58:07.82 ID:IPFrsn/P
静的プロパティだって遅延初期化できるっぺ

C#的にシングルトンって意味あるのかな?
プライベートコンストラクタ書きたいだけちゃうんか
715:2014/05/04(日) 07:13:45.27 ID:q7rdqljv
>>6
72デフォルトの名無しさん:2014/05/04(日) 07:14:36.75 ID:q7rdqljv
>>65
調べてみたところ、strutsはオワコンでした
7372:2014/05/04(日) 07:20:59.25 ID:q7rdqljv
>>71は間違いです。すみません。

>>65
ASP.NETライクに、抽象化されたUIコンポーネントでwebプログラミングするには、
JAVA標準環境(Java EE 6)+ JFS 2.0 を使うと良いようでした。
お金のかからない世界へ行ってきます。さようなら~
74デフォルトの名無しさん:2014/05/04(日) 07:38:14.97 ID:rJLJvrVe
破棄して作り直そうとする可能性がある時、静的だとメモリリークの危険が高い
75デフォルトの名無しさん:2014/05/04(日) 09:07:48.46 ID:eMoGcgcA
どっちにしろSingletonは利用者側からすると依存関係がわかりにくくて密結合だから、Singletonで取得するインスタンスを利用して実装しないといけないとマジでイライラするんだよね
とにかくテストがやりづらい
76デフォルトの名無しさん:2014/05/04(日) 12:22:07.49 ID:UE0Fc6EI
グローバル変数的に使おうとするから糞コード量産することになる
77デフォルトの名無しさん:2014/05/04(日) 21:50:12.84 ID:F1HNpjLt
ジェネリックではまっていますが、なにかいい解説書はないですか‥‥
78デフォルトの名無しさん:2014/05/05(月) 09:40:10.76 ID:SGaFRyg3
>>77
Javaスレの奴か
ジェネリックな比較はIComparableではなくIComparer<T>を使うべき
それに伴ってstruct制約も不要になる
C#のジェネリックは静的メソッドもクラスの型パラメータを引き継ぐから<S>要らん
https://ideone.com/99dC5f
79 ◆QZaw55cn4c :2014/05/05(月) 15:17:50.63 ID:CN0OEHd5
>>78
ありがとうございます.無事コンパイルができました.

C#4.0 のオプション引数を使ってみようとしましたが,
public static void insertNode(ref Node<T> root, T key, IComparer<T> cmp = Comparer<T>.Default)
の最後のはコンパイル時定数ではない,とはねられてしまいました‥
80デフォルトの名無しさん:2014/05/05(月) 15:29:26.22 ID:W0z8fvUt
「??演算子」の使用例

public static void insertNode(ref Node<T> root, T key, IComparer<T> cmp = null)
{
 cmp = cmp ?? Comparer<T>.Default
 以下略
81デフォルトの名無しさん:2014/05/05(月) 15:38:16.15 ID:4eyingVq
>cmp = cmp ?? Comparer<T>.Default

とても頭の悪そうなコードですね
意味を考えたら不適切
82デフォルトの名無しさん:2014/05/05(月) 15:40:22.59 ID:fN/Sve3O
>>70
wpfのVMを書くとき、一応4.5はスタティッククラス対応しているがシングルトン使ったほうが何かと便利
4.5以前に作られたライブラリは当然のことながらスタティッククラスのVMに対応していない
83デフォルトの名無しさん:2014/05/05(月) 15:47:24.88 ID:TyYoKThg
諦めてオーバーロードをもう一つ書くのがいいんだろうね
でも面倒
84デフォルトの名無しさん:2014/05/05(月) 16:06:11.24 ID:fN/Sve3O
あと、スタティッククラスは継承使えないから何かと不便
85デフォルトの名無しさん:2014/05/05(月) 18:39:14.80 ID:HLVvNfN0
>>79
それコンパイル時定数なんで、仕様変更考えるならpublicでは使わない方がいいかもね
86デフォルトの名無しさん:2014/05/05(月) 19:04:06.57 ID:AGglXxAj
「コンパイル時定数」に単語レベルで反応して「仕様変更」を連想した>>85
87デフォルトの名無しさん:2014/05/05(月) 21:43:48.00 ID:OT0COKe0
だらだらとオーバーロードかくよりオプション引数を使ったほうがすっきりするよな

>>81
べつに問題あるとは思えないが
88デフォルトの名無しさん:2014/05/05(月) 21:52:22.83 ID:fgsSBVMQ
引数の変更に反応してるのかな?
こういう趣味の問題を所詮趣味の問題だと認識せずに吹っかける奴のが頭悪く見えるけど
89デフォルトの名無しさん:2014/05/05(月) 22:44:12.82 ID:AY4EFaK1
オプション変数はなんかのコード分析でお行儀が悪いって言われるらしい
90デフォルトの名無しさん:2014/05/05(月) 22:58:33.82 ID:SGaFRyg3
オプション引数はアセンブリパブリックなメソッドに使うとFxCopとVSのコード分析で警告出るよ
定数が呼び出し元にハードコードされてしまうから変更時に呼び出し元を再コンパイルしなきゃいけなくなる
91デフォルトの名無しさん:2014/05/06(火) 00:09:44.86 ID:e2Zd8aJi
シングルトンのメリットってどれも弱いよね、オブジェクト指向の利点である再利用できるってメリットを完全に破壊してる

オーバーロードよりオプションが良いか悪いかは問題点がわからないから何とも言えないな
少なくとも全ての基準であるMSのソースではオーバーロードが圧倒的多数だからオーバーロード使う
92デフォルトの名無しさん:2014/05/06(火) 00:34:48.26 ID:tmSUYm6J
>>91
シングルトンはインターフェイス経由で使うんだよ
ちょうどComparer<T>.Defaultみたいにな
そうすれば差し替えができて「利用する側の」再利用性が上がる
利用する側のクラスはシングルトンの具象クラスに依存しちゃダメ
93デフォルトの名無しさん:2014/05/06(火) 00:36:31.71 ID:ug+nXQnt
オーバーロードだと再コンパイル要らんのか?
94デフォルトの名無しさん:2014/05/06(火) 00:41:20.84 ID:bRku9hxr
>>91
>再利用できるってメリットを完全に破壊
んなこたーない。おまえアホか。

>>92
まるでインターフェースにしなきゃ差し替えが出来ないような物言いだな。
95デフォルトの名無しさん:2014/05/06(火) 00:47:18.77 ID:48oaCWRM
>>93
3つ前のレスくらい読んだらどうだ?
96デフォルトの名無しさん:2014/05/06(火) 00:58:35.11 ID:IXzBb183
>>67からずっと思ってたが、デザパタの用語はだいたいどれもそうだけど、
シングルトンって言葉が指すものの解釈は一つじゃなくていろんなバリエーションがあるから、
どういう意味でシングルトンって言ってるのかはっきりさせないと、傍から見て
ずいぶん頭の悪い奴同士の会話に見えちゃうよ。
97デフォルトの名無しさん:2014/05/06(火) 01:50:22.83 ID:jzwUbQuH
そもそもデザインパターンって適材適所で使うアルアルをまとめただけのもんだしな。
それを使わないとダメとかそう言うもんでもないし。
オブジェクト指向がうんたら言う奴ってそこを忘れてルールにはまって自爆してる奴が多い印象。
まぁだから本とかにも何がなんでも型にはめようとするなと冒頭に書かれてるんだろうけど。
98デフォルトの名無しさん:2014/05/06(火) 01:59:59.48 ID:tmSUYm6J
デザパタなんて大半はオブジェクト指向の機能を利用したハックだろ
オブジェクト指向というより関数型みたいなことをやろうとしてるものが多い
99デフォルトの名無しさん:2014/05/06(火) 02:08:17.42 ID:BqjYYF2K
シングルトンはスタティッククラスで代用できるから、今更面倒なシングルトンを使う必要はないって意見が多かったようだが
一々staticと、すべてのフィールドやメソッドに書くほうが面倒だと思うんだが・・・
それと再利用というならベースクラスを使い回しできるシングルトンのほうが優れているだろ

スタティッククラスの利点は、知らない人に説明するのがシングルトンより楽だぐらいしか思い浮かばん
100デフォルトの名無しさん:2014/05/06(火) 03:55:27.39 ID:pzJ6+ovS
staticクラスはどういうクラスなのかがわかりやすいから
「フレームワークがstaticクラスを提供する」みたいなのが主な使用場面じゃね?
101デフォルトの名無しさん:2014/05/06(火) 04:32:14.78 ID:8bjutxl2
staticってそのクラス、メソッドだけで自己完結しているって意味合いがあるから
信頼できる関数として利用できる
Singletonをstaticで代用なんてのは本来の使い方じゃない
102デフォルトの名無しさん:2014/05/06(火) 05:30:07.66 ID:ug+nXQnt
>>95
それ見て書いてるんだが?
103デフォルトの名無しさん:2014/05/06(火) 06:40:02.97 ID:UJ0wmmRA
>>102
おまいは関数の中身を修正したら
呼び出し側の再コンパイルが要ると思ってるのか?
104デフォルトの名無しさん:2014/05/06(火) 12:23:20.78 ID:5vOxwoqv
System.Diagnostics.Processが子プロセスを持っているかの判断は出来る?
親プロセスを殺す際に、親プロセスが起動させた不定の子プロセスもまとめて殺したいんだが。
105デフォルトの名無しさん:2014/05/06(火) 12:36:16.61 ID:q1ZxUZrt
>>93
要らんね
オプション引数の省略はデフォルト値を渡すようコンパイルされる為、後で変更してもだめ
106デフォルトの名無しさん:2014/05/06(火) 12:51:46.80 ID:+EFNtusy
>>103
そりゃそうだな、なんかボケてたわ
107デフォルトの名無しさん:2014/05/07(水) 08:00:22.27 ID:DJPE+VwE
其の程度のデメリットならオプション引数使うべきだわ
108デフォルトの名無しさん:2014/05/07(水) 08:09:39.64 ID:WkJIpITC
いや1か0かじゃなくてデメリットがある場合だけ使わなきゃいいでしょ
使ってはいけないのはdllのパブリック型のパブリックメンバだけだ
109デフォルトの名無しさん:2014/05/07(水) 09:43:01.96 ID:9Lrwf94O
>>104
W32のプロセスに親とか子って概念あるの?
110デフォルトの名無しさん:2014/05/07(水) 10:04:41.39 ID:MuNUQFgX
あるよー
ハンドルの継承とかに使われる
タスクマネージャでのプロセスツリーの終了とかもある

ただマネージでは公開されてないんじゃないかなぁ
CreateToolhelp32Snapshot, Process32First, Process32Next関数で親プロセスもとれるみたいだから
プロセス列挙してツリー構築してやればいけるかな
111デフォルトの名無しさん:2014/05/07(水) 13:27:14.07 ID:7TKwW6oG
ラムダ式がある現在デザパタを使おうとしてる奴って単に時代遅れ
デザパタありがたがってる奴なんて目も当てられない
112デフォルトの名無しさん:2014/05/07(水) 14:34:20.95 ID:TQOtgjUI
オブジェクト指向のそれとは違うだろうけど
ラムダ式にはラムダ式のデザインパターンがあるんじゃねぇの
113デフォルトの名無しさん:2014/05/07(水) 17:39:53.54 ID:v8XT9GT6
ラムダ式があっても一部のパターンが使われなくなるだけ
>>111はデザインパターンしらんだろ
114デフォルトの名無しさん:2014/05/07(水) 17:58:29.45 ID:jRfFl2VD
プログラマレベル2になったところなんですよ彼は
115デフォルトの名無しさん:2014/05/07(水) 20:32:56.58 ID:c2xx/D15
デバッグ時にラムダ含んでるとコード書き換えられないのはどうにかなんないのかな
116デフォルトの名無しさん:2014/05/07(水) 22:14:53.79 ID:sNbvGfp5
デバッグ時コード書き換えの必要性を感じないんだけど
117デフォルトの名無しさん:2014/05/07(水) 23:01:32.27 ID:c2xx/D15
>>116さんカッケー
118デフォルトの名無しさん:2014/05/07(水) 23:18:30.74 ID:os5r5Muw
DataGridView をFormに配置したところデータバインドをしていないにも
関わらず、DataGridView上に1行の何も値の設定されていない行が表示されしまいます。

どうすればデータバインドをするまではこれを非表示にする事が出来ますか?
119デフォルトの名無しさん:2014/05/07(水) 23:56:51.71 ID:DMZdYPQ9
>>115
メソッドにすればいい
120デフォルトの名無しさん:2014/05/08(木) 00:19:41.92 ID:NDnDtFMt
shdocvw の参照ってどこから行えば良いのですか?

参照項目より探しているのですが、見当たりません。
121デフォルトの名無しさん:2014/05/08(木) 00:21:51.27 ID:/gsLR9fm
Edit&amp;Continue(の事を言ってるんだと思うけど)ってそもそも有効な場面は
かなり限られる気がする。

俺もほとんど必要性を感じたことがないな。
122デフォルトの名無しさん:2014/05/08(木) 00:28:46.29 ID:wgDbyxsw
>>120

【VISUAL STUDIO 2010】USING SHDOCVW; の参照が出来ない場合の対処方法


http://know-how-tree.com/archives/296
123デフォルトの名無しさん:2014/05/08(木) 02:36:19.31 ID:66RGGE3G
>>118
AllowUserToAddRows = false
124デフォルトの名無しさん:2014/05/08(木) 03:13:05.77 ID:LX70lqIo
>>123
サンキュー!
125デフォルトの名無しさん:2014/05/08(木) 07:17:26.76 ID:/TlFaqSl
>>110
遅くなった。Process32Nextとかを調べてみるわ。
126デフォルトの名無しさん:2014/05/08(木) 10:04:18.03 ID:4TK84oe8
>>115
64bit だと常にダメだけどな。
32bit環境でデバッグしてるのか
127デフォルトの名無しさん:2014/05/08(木) 10:40:50.38 ID:rM+Ugqpp
>>126
VS2013から出来るようになった
128デフォルトの名無しさん:2014/05/08(木) 10:52:19.49 ID:4TK84oe8
あ、そうなんだ。
自宅のWindows7に2013入れたけど、メインが2010だから知らなかった、、、
ありがとう
129デフォルトの名無しさん:2014/05/08(木) 13:56:48.08 ID:jPbn7lXq
set内で、valueとして渡されたクラスインスタンスのクローンをsetするのって、マナー違反なのかな?

クラスのプロパティにsetしたクラスインスタンスが
外部で書き換えられるのが嫌だからクローンをsetしたいんだけど。
130デフォルトの名無しさん:2014/05/08(木) 14:01:57.49 ID:vzTWemg/
メソッドの方が理解しやすいな
131デフォルトの名無しさん:2014/05/08(木) 18:45:29.03 ID:NviPB3le
普通にアリ
防御的コピーという非常に一般的なテクニック
132デフォルトの名無しさん:2014/05/08(木) 20:47:40.52 ID:gk0aEWIW
>>129
それならその型そのものをイミュータブルにするか値型にすることをまず検討
すべきだと思うけどね。

配列やコレクションは別として。
133デフォルトの名無しさん:2014/05/08(木) 21:09:23.08 ID:01rpyJ3E
配列をプロパティにすること自体が
134デフォルトの名無しさん:2014/05/08(木) 22:43:47.23 ID:9vcPvL0x
>>113
デザインパターンっていうのは

Singletonのような本質は何にも変わってないけど通ぶりたいバカがカッコつけて使うものと
ラムダ式でおきかえられるもの
ラムダ式を使って違う形にしたほうが良いもの

の3つに分類できる
つまり今使ったほうがいいものは一つもありゃせん
135デフォルトの名無しさん:2014/05/08(木) 22:48:54.86 ID:rRrDSl0D
おっ、おう
136デフォルトの名無しさん:2014/05/08(木) 23:12:07.48 ID:z0nVVjCj
エースコンバットの嘘字幕かな?
137デフォルトの名無しさん:2014/05/08(木) 23:16:22.83 ID:GL2M0rb4
覚えたばかりのものを使ってみたいだけなんじゃない?
たぶんラムダ式もデザインパターンも理解してない。
138デフォルトの名無しさん:2014/05/09(金) 00:24:12.10 ID:aGSQbVG9
ラムダ計算は俺には無理だった
139デフォルトの名無しさん:2014/05/09(金) 01:35:48.87 ID:4s2/CMbE
通ぶりたいバカが語っちゃんてんよ(苦笑)
140デフォルトの名無しさん:2014/05/09(金) 03:53:38.78 ID:Wvmtqnkm
こてっちゃん
141デフォルトの名無しさん:2014/05/09(金) 08:46:58.05 ID:Ijv/Ccl+
>>134
通ぶりたいバカはお前だろww
142デフォルトの名無しさん:2014/05/09(金) 19:37:24.31 ID:++5Ylz+V
メンバー、変数に一々public書くのだるいよう…
省略したらpublicでいいだろこんなもん…
143デフォルトの名無しさん:2014/05/09(金) 19:38:52.20 ID:E9SfM4pV
できるだけprivateにしましょうっていうオブジェクト指向の毒が蔓延してたからね
144デフォルトの名無しさん:2014/05/09(金) 19:39:54.12 ID:7rX/IBWU
変数というか、フィールドをpublicにすることなんてないだろ
145デフォルトの名無しさん:2014/05/09(金) 19:42:43.70 ID:v/oaYztB
publicにする手間もっと上げたら
まともなコードたくさん生まれるようにならんかな
146デフォルトの名無しさん:2014/05/09(金) 19:45:31.17 ID:mXNWQt6t
プロパティにしてたから助かったなんて状態になるのも
(場合によっては)滅多に無いけど、
公開するのは意識してやりたいからいいんじゃないの。

publicなフィールドやらプロパティやらが多いのは、
大体がカプセル化できてない似非オブジェクト指向。
147デフォルトの名無しさん:2014/05/09(金) 19:49:33.08 ID:4s2/CMbE
まともってどういう観点で?
欠陥が少ないことをまともと評するか
それとも規約をかっちり守っていることをまともと評するか
148デフォルトの名無しさん:2014/05/09(金) 19:51:59.12 ID:Ijv/Ccl+
やっぱ基本はprivateだからな
149デフォルトの名無しさん:2014/05/09(金) 20:40:28.22 ID:ogcBElPA
クソみたいなコードのさらにクソなprivateな部分も公開したいってどんな露出狂だよ
150デフォルトの名無しさん:2014/05/09(金) 20:45:37.38 ID:E9SfM4pV
privateなんて公開されてても使わなければいいだけの話だからな
下手なライブラリは公開メンバを少なくしようとして使いにくくなってたり
そもそも出来ないことがあったり目も当てられない
151デフォルトの名無しさん:2014/05/09(金) 20:50:03.66 ID:ogcBElPA
一般的なルールに苦言を呈しちゅうオレかっこいいみたいな感じ?
152デフォルトの名無しさん:2014/05/09(金) 20:50:53.52 ID:Mn4+ksrv
「下手なライブラリ」の本来privateにすべき変数いじるとか怖くてできないんですけど
153デフォルトの名無しさん:2014/05/09(金) 20:58:23.84 ID:4s2/CMbE
誤字ってカッコいいよね
生き急いでる感じがしてさ
154デフォルトの名無しさん:2014/05/09(金) 21:29:04.87 ID:eHd2TX5N
varとdynamicは確実にうんこ
155デフォルトの名無しさん:2014/05/09(金) 21:32:51.61 ID:NDcf6f8g
>>150
これプログラマのバカの壁の一つだが、ダメグラマって本当に君みたいに思ってるらしいな。
こういうセンスの奴がGUIデザインするとButtonやTextBoxが100個とか並んでる画面を
平然と作るんだよね。
156デフォルトの名無しさん:2014/05/09(金) 21:35:50.04 ID:E9SfM4pV
var使わずに型名みたいな無意味な情報を一生懸命タイプして可読性下げてる奴って
アホちゃうか? としか思えん
157デフォルトの名無しさん:2014/05/09(金) 21:39:42.12 ID:4s2/CMbE
皆さんなかなか凝った辞世の句を披露なさいますねえ
158デフォルトの名無しさん:2014/05/09(金) 22:20:33.56 ID:Ijv/Ccl+
使わなければいいだけとか…だめだこりゃww
159デフォルトの名無しさん:2014/05/09(金) 22:32:44.73 ID:7rX/IBWU
そんなにつかいたきゃprivateでも無視してアクセスすればいいだろ
わざわざ公開する必要もない
160デフォルトの名無しさん:2014/05/09(金) 23:45:48.23 ID:WJR4c6c3
>>151
えっ、かっこわるい?
161デフォルトの名無しさん:2014/05/09(金) 23:48:25.77 ID:WJR4c6c3
>>151
えっ、かっこわるい?
162デフォルトの名無しさん:2014/05/10(土) 01:27:17.61 ID:g90VX2nj
>>156
もう君はVB6でVariantだけ使ってプログラム書いてれば良いんじゃないの?
163デフォルトの名無しさん:2014/05/10(土) 01:57:42.12 ID:B1lUTN0m
なんでvarとVariantが関係あるんだ
164デフォルトの名無しさん:2014/05/10(土) 02:43:26.46 ID:omhafWBq
ラムダ使っちゃっていいの?
どうせFramework2.0で製品化するんでしょ
165デフォルトの名無しさん:2014/05/10(土) 03:08:54.91 ID:z3D5bdCD
バリアント 打てぃ
166デフォルトの名無しさん:2014/05/10(土) 03:13:52.62 ID:KeiPU5wL
varはマイクロソフトも推薦してたろ
167デフォルトの名無しさん:2014/05/10(土) 08:54:51.34 ID:/Dqge85C
仕様を理解してないで無視すれば良いとか言ってる奴はいたいな。
168デフォルトの名無しさん:2014/05/10(土) 09:52:51.72 ID:hc+7iE7K
表計算より電卓使うことを強要する老害みたいだな
嫌だねえ、年は取りたくないものだ
169デフォルトの名無しさん:2014/05/10(土) 10:13:19.98 ID:hc+7iE7K
http://referencesource.microsoft.com/#mscorlib/system/threading/Tasks/Task.cs
ほぼ全て変数宣言はvar使ってますね
boolとList<Task>とExceptionってのが僅かにあるか
アンチvarはReferenceSource読んでるうちに憤死しそうやね
170デフォルトの名無しさん:2014/05/10(土) 10:22:53.61 ID:Om1HfajV
>>162
ひょっとして var で宣言したら Variant みたいになんでも入る変数になると思ってるんじゃ... (w
171デフォルトの名無しさん:2014/05/10(土) 10:35:44.40 ID:BTCa0fTB
えっ違うの?
172デフォルトの名無しさん:2014/05/10(土) 10:38:47.96 ID:R5teS7FH
173デフォルトの名無しさん:2014/05/10(土) 11:05:02.42 ID:jrUh4jRE
varはインターフェイスの時に困る
174デフォルトの名無しさん:2014/05/10(土) 11:17:14.54 ID:hc+7iE7K
>>169だって既定型で受けるためにException使ってるし用途次第よ

馬鹿は記憶領域が一つしかないから万能解を求め、臨機応変を考えない
175デフォルトの名無しさん:2014/05/10(土) 11:22:46.52 ID:oHlIlrM8
(゚д゚)ハァ?
明示したいときゃすりゃいいだけの話でございましょう?
176デフォルトの名無しさん:2014/05/10(土) 11:41:47.12 ID:R5teS7FH
>>164
シンタックスシュガー的な機能で実現されてる文法
たとえばラムダ式、var、yieldなんかは
コンパイラが対応してれば対象プラットフォームが2.0でも使える
使えないのはLinqとかdynamicとかawait/asyncとか
177デフォルトの名無しさん:2014/05/10(土) 12:00:52.40 ID:Om1HfajV
>>174
またでかいブーメラン投げたなぁ (w
178デフォルトの名無しさん:2014/05/10(土) 13:01:29.64 ID:oljZpcA6
ま、C++11 でも auto とかあるしねえ
179デフォルトの名無しさん:2014/05/10(土) 13:25:05.10 ID:tcPcNt/v
C++のautoは、ラムダを軽量バインドするときに必要だし、
defaultテンプレートパラメーターを使わないでテンプレートの演算結果を宣言する際に必要だから
180デフォルトの名無しさん:2014/05/10(土) 14:00:09.11 ID:hS3sE/YA
型名は本質的な情報じゃないんだよね
変数名こそが本当の情報で
型名は付加情報としても場所を取り過ぎて本質を見えなくするだけ
181デフォルトの名無しさん:2014/05/10(土) 14:08:31.12 ID:m/AO6ufT
>>180
それは実数や整数のように汎用性が高い型の場合にだけ言えること。
182デフォルトの名無しさん:2014/05/10(土) 16:09:32.82 ID:70kPlgga
ハンガリアンバリバリのソースみるとイライラする
183デフォルトの名無しさん:2014/05/10(土) 16:18:45.70 ID:70kPlgga
MSの糞SEが用途間違えたシステムハンガリアンの方な
184デフォルトの名無しさん:2014/05/10(土) 18:31:45.83 ID:/Dqge85C
>>171
C#のvarはコンパイル時に型を推定してくれる。
何でも入るのはdynamic
185デフォルトの名無しさん:2014/05/10(土) 19:24:38.38 ID:EnEZoBM+
varはメンバーフィールドやファンクションの引数・戻値には使えないから
無茶しようと思っても無茶できんな
186デフォルトの名無しさん:2014/05/10(土) 19:58:09.90 ID:jrUh4jRE
dynamicは基本的には使うべきではないだろ
187デフォルトの名無しさん:2014/05/10(土) 21:51:23.62 ID:rYs4anx5
dynamicは引数の型によってオーバーロードを動的に選択させられるのが便利
そもそも型で分岐すること自体クソではあるけど、どうしても仕方ない場合には
if is並べるよりはよっぽどマシだ
188デフォルトの名無しさん:2014/05/10(土) 22:02:24.72 ID:a9DcGAOB
dynamicはExcel制御するとき大活躍だろ?
アーリーバインディングはOfficeのバージョンに依存していかん
189デフォルトの名無しさん:2014/05/10(土) 22:39:41.83 ID:rYs4anx5
dynamicが凄いのはCOM Interopに使えたりするのがMSの独自拡張じゃないところ
ちゃんとプロトコルが公開されていて、誰でも独自のオブジェクトシステムを
dynamicで透過的に扱うためのバインダを作れる
190デフォルトの名無しさん:2014/05/10(土) 23:18:18.72 ID:ryDslySJ
C#で復興君を作ろうと思っています。
191デフォルトの名無しさん:2014/05/11(日) 06:37:11.02 ID:lXX0usu0
>>187
どの場面でもifやswitchを使わないに越したことはないな。
ちなみに俺がいちばん嫌いなコードは、
if(a==true)
a=false;
else
a=true;
192デフォルトの名無しさん:2014/05/11(日) 07:15:58.47 ID:zdamCAAu
>>191
お前は俺か!
すごく同意できるわ。
193デフォルトの名無しさん:2014/05/11(日) 09:09:37.25 ID:r3f59Bax
>>191
幾ら何でも、そんなコード書く奴居ないだろw
194デフォルトの名無しさん:2014/05/11(日) 09:38:55.24 ID:wSEeMjm/
a=!a で済むもんな
195デフォルトの名無しさん:2014/05/11(日) 11:31:48.67 ID:uayAIi6x
それ以前に{}でくくらないのは嫌いだわー。
そんな事よりコメントも書かずに三項演算子の中に更に三項演算子を複数重ねるのは止めてくれ。
書いてるほうは行数減らせてノリノリで嬉しいんだろうが解読がめんどいわ。
196デフォルトの名無しさん:2014/05/11(日) 11:40:30.44 ID:qOyx0lRS
またswitchを見たら仮想関数に書き換えて
可読性や依存関係をメチャクチャにする
オブジェクト指向に洗脳されたカスか
197デフォルトの名無しさん:2014/05/11(日) 11:46:08.37 ID:ty2I7rZM
メソッドへの振り分けは別にオブジェクト指向関係ないだろ
ソースコードのレイアウトの問題に過ぎない
関数ポインタ入れたテーブルで振り分けるとか太古の昔からあるわ
198デフォルトの名無しさん:2014/05/11(日) 11:48:07.86 ID:qOyx0lRS
動作を決定する権利がオブジェクトの側にあるか
オブジェクトを使う側にあるのかというのは
本当に決定的な違いなんだよ

そして大半のケースでオブジェクトを使う側にないと柔軟性が確保できない
オブジェクトの側で動作を規定するのは最悪の設計である場合がほとんど
199デフォルトの名無しさん:2014/05/11(日) 11:50:35.06 ID:wSEeMjm/
==true って最悪だよな
boolean値なのにいちいち比較するとか
200デフォルトの名無しさん:2014/05/11(日) 11:53:18.60 ID:ty2I7rZM
>>198
型による分岐をdynamic+オーバーロードに置き換える話なら
制御は使う側にあるだろ
それがいいか悪いかとお前の思想はともかく
201デフォルトの名無しさん:2014/05/11(日) 12:09:24.23 ID:9KkBQwht
>>194
俺はあえて
a ^= true;
と書く
202デフォルトの名無しさん:2014/05/11(日) 12:18:23.07 ID:DD3eXZ56
>>195
三項演算子は lisp は cond 以来の由緒ある書式。

>>196
OOは正義!
203デフォルトの名無しさん:2014/05/11(日) 12:43:02.89 ID:zdamCAAu
>>202
cond は三項に限らんし、中途半端な知識乙
204デフォルトの名無しさん:2014/05/11(日) 14:21:05.81 ID:1r+yUbjA
==true、==falseは見やすさ目的で十分使えるだろ
205デフォルトの名無しさん:2014/05/11(日) 14:30:56.81 ID:9KkBQwht
>>204
それが見やすいと思うなら何か勘違いしてるんだよ。
まあ、hoge == falseは微妙かもしれないが == trueはないね。
206デフォルトの名無しさん:2014/05/11(日) 14:31:32.41 ID:eQruSjkp
==false は頭が疲れた時でもぱっと見でわかりやすいからたまに使う。
==trueはあんま使ったこと
207デフォルトの名無しさん:2014/05/11(日) 14:44:15.01 ID:1r+yUbjA
あー==trueだけの事を言ってたのか
208デフォルトの名無しさん:2014/05/11(日) 14:48:01.46 ID:0sJXE8ur
if ( ( value == 1 ) == false ) {
}
209デフォルトの名無しさん:2014/05/11(日) 14:52:01.18 ID:wSEeMjm/
true は、代入に利用するくらいで等価比較は御法度だよ。
処理系によってはどのビットが立っているかわからないときがあるからね。
210デフォルトの名無しさん:2014/05/11(日) 14:54:41.32 ID:mBV2CEmk
>>209
スレ違いです
労害は去れ
211デフォルトの名無しさん:2014/05/11(日) 14:54:41.86 ID:8CXG23Kv
そんなわけないじゃん
212デフォルトの名無しさん:2014/05/11(日) 15:01:00.89 ID:mJ1nU0nf
>>209
C:値1と定義
C++:true/falseの2値しか取らない
Java:true/falseの2値しか取らない
C#::true/falseの2値しか取らない
Visual Basic 6:ビットがオール1と定義

で どの言語と間違えたの?
213デフォルトの名無しさん:2014/05/11(日) 15:01:50.58 ID:Izszoovs
スレチだけど、C++だと

bool a = ( b == TRUE );

なんて書いたことはあったな。
214デフォルトの名無しさん:2014/05/11(日) 15:05:43.80 ID:Tv+UCCd6
>>213はどうしようもないバカ
215デフォルトの名無しさん:2014/05/11(日) 15:12:17.35 ID:DD3eXZ56
>>212
C/C++ に関していえば、
処理系は必ず true == 1 と扱うが、
ライブラリ関数の中にはそうでないものがある。ctype.h の isalpha() のようなポピュラーなものでさえそうだ。
ctype.h は C++ でも標準ライブラリ扱い

>>209 の C/C++ の項は使い手に即した内容ではない役立たずだね、他は大丈夫なの?
216デフォルトの名無しさん:2014/05/11(日) 15:12:24.22 ID:wSEeMjm/
bool a = b ? true : false ;
217デフォルトの名無しさん:2014/05/11(日) 15:20:14.51 ID:wSEeMjm/
>>212
ある処理系で問題なくても true と比較するコード書く時点でトーシロー
218デフォルトの名無しさん:2014/05/11(日) 15:22:52.49 ID:4d9sdM5b
以下、休日の昼下がりを下らない言葉尻の取り合いでお楽しみ下さい。
なお明日は月曜日ですので、その点ご了承下さいませ。
219デフォルトの名無しさん:2014/05/11(日) 15:24:47.77 ID:r0lCuLjc
==trueが見やすいなんて言っちゃうのは変数名が原因だろ
==falseはアリかな
220デフォルトの名無しさん:2014/05/11(日) 15:27:12.37 ID:8CXG23Kv
>>217
C#ではすべての処理系で問題ない
221デフォルトの名無しさん:2014/05/11(日) 15:27:39.25 ID:DD3eXZ56
>>212
証拠だ、C/C++ の説明は間違っているから書きなおせ
http://codepad.org/iVjor3ug
222デフォルトの名無しさん:2014/05/11(日) 15:28:31.82 ID:03X5e1jP
なんか始まった
223デフォルトの名無しさん:2014/05/11(日) 15:32:38.72 ID:bgvuJmwK
>>221
intとboolを比較したそらあかんやろ
(bool)isalpha(c) == true
ってせな

(int)trueは間違いなく1
224デフォルトの名無しさん:2014/05/11(日) 15:39:58.47 ID:DD3eXZ56
>>223
http://codepad.org/GZJDtw7k
それもそだねえ、じゃ

>>212 C の項はかきなおせ、というか C には true/false の二項対立はない。
あと VB あたりもちょっと怖いが、実際どうなんだ?
225デフォルトの名無しさん:2014/05/11(日) 15:48:45.26 ID:ttO2ycsK
んなこたーない
http://ideone.com/s5pX6s
226デフォルトの名無しさん:2014/05/11(日) 15:54:49.57 ID:wSEeMjm/
ホント馬鹿だな
いちいち型キャストして比較するとかながったらしすぎw
227デフォルトの名無しさん:2014/05/11(日) 15:57:44.93 ID:DD3eXZ56
>>224
そうか、C99 にはブーリアンが入ったんだね、って、予約語としては _Bool じゃなかったっけ?
http://ideone.com/bfYQxc

C99 strict といいながら srict じゃないね、これは gcc 拡張?
228デフォルトの名無しさん:2014/05/11(日) 15:59:34.63 ID:ttO2ycsK
>>227
_Boolをboolというスペルマで使用できるようにするのがstdbool.h
229デフォルトの名無しさん:2014/05/11(日) 16:00:31.04 ID:DD3eXZ56
>>226
_Bool isalpha(int c) とか変更しなかった/できなかったからね、ま、古い言語だから仕方がない‥
230デフォルトの名無しさん:2014/05/11(日) 16:02:36.34 ID:DD3eXZ56
>>228
thx 確認した
231デフォルトの名無しさん:2014/05/11(日) 16:20:10.30 ID:ttO2ycsK
さて話を戻すと、c#で「==true」が意図しない動作
をすることは一応 無いのだけれど…
232デフォルトの名無しさん:2014/05/11(日) 16:37:59.01 ID:wSEeMjm/
いまは問題なくても後々移植性に問題出たりするんだよ
233デフォルトの名無しさん:2014/05/11(日) 16:40:41.81 ID:f0TnWCT6
>>228
誤変換? ///
234デフォルトの名無しさん:2014/05/11(日) 16:54:14.59 ID:uayAIi6x
相談スレっぽくなくなってしまった。自分も片棒を担いだんだが。

流れを戻すとして、char型をSystem.Windows.Forms.Keysに変換する方法ってある?
235デフォルトの名無しさん:2014/05/11(日) 17:22:30.76 ID:8m9s6VXd
>>232
へー
236デフォルトの名無しさん:2014/05/11(日) 17:41:37.11 ID:0yrYxZ6d
移植性を気にする奴がC#とか頭悪すぎw
237デフォルトの名無しさん:2014/05/11(日) 17:47:01.65 ID:8CXG23Kv
>>232
いつだよw
突然仕様変更になるのか?
あんなに破壊的変更嫌って文脈キーワードガンガン増やす言語が
238デフォルトの名無しさん:2014/05/11(日) 17:58:08.19 ID:ZXeumQz3
>>234
char <-> Keysは1対1の対応じゃないから無理じゃないかなぁ
変換テーブルを自分で作っておくしかないと思う
239デフォルトの名無しさん:2014/05/11(日) 18:43:26.19 ID:uayAIi6x
>>238
やっぱり自力でやるしかないか。コードが綺麗じゃないけど仕方が無い。
240デフォルトの名無しさん:2014/05/11(日) 19:08:40.28 ID:rIItupz1
しかし bool? という if(xxx == true) を強要する型があるんだよね
241デフォルトの名無しさん:2014/05/11(日) 19:15:41.89 ID:ReOxbOV9
強要された妄想にとりつかれているんですね
困ったものです
242デフォルトの名無しさん:2014/05/11(日) 19:24:20.20 ID:0yv5+mef
xxx ?? falseでいいんじゃね
243デフォルトの名無しさん:2014/05/11(日) 19:31:27.95 ID:+H+hcwQY
if ( xxx.HasValue && xxx.Value )
だろjk
244デフォルトの名無しさん:2014/05/11(日) 19:44:28.84 ID:ESdFar+G
>>239
MSDNによると、

 - Keysの値はWin32の仮想キーコードに対応している
 - ANSI文字の仮想キーコードはANSIコードそのまま

らしいから普通に、
char ⇒ ANSIでデコード ⇒ Keysにキャスト
でいけるんじゃないの?

っていうかVBだとOption Strict Offにしとけば暗黙変換してくれたような気がw
245デフォルトの名無しさん:2014/05/12(月) 07:15:26.62 ID:ACtGf3jF
>>242-243
代用で文字数増やしてどうするんだ
246デフォルトの名無しさん:2014/05/12(月) 07:20:25.07 ID:mZu2z8hr
>>245
文字数が少ない方がいいという前提はどこからきた?
247デフォルトの名無しさん:2014/05/12(月) 07:32:31.27 ID:vNBTKcrK
>>242>>243と書くのは
if(flag == true)と同じぐらい冗長だと思う
248デフォルトの名無しさん:2014/05/12(月) 07:42:20.80 ID:vNBTKcrK
ごめん、ちょっと例えとしてよくなかった
「xxx is SomeType ? (SomeType)xxx : null;」って書くぐらい冗長
って方が俺の言いたいことに近い
249デフォルトの名無しさん:2014/05/12(月) 07:50:33.17 ID:b2+C7k5G
nullならtrueと見做したい場合
!(flag == false), flag ?? true, !flag.HasValue || flag.Value
一貫性を考えたら??一択
250デフォルトの名無しさん:2014/05/12(月) 07:51:50.67 ID:zZkIxMS0
後で解読しやすく書いてくれれば文字数が多くても文句は言わん
251デフォルトの名無しさん:2014/05/12(月) 09:44:05.52 ID:3qLmw1Qv
一文字いくらで金額決めてるんだから一文字でも無駄にするんじゃねーよ
252デフォルトの名無しさん:2014/05/12(月) 11:18:53.54 ID:0w5L2iBG
C++で
union{
bool bl; char ch;
} x;
x.ch = 2;
bool a = x.bl == true;
ってやったらaはtrueにならなかったけど
C#で
[StructLayout(LayoutKind.Explicit)]
struct X{
[FieldOffset(0)] bool bl;
[FieldOffset(0)] byte bt;
}
X x;
x.bt = 2;
bool a = x.bl == true;
てやったらちゃんとaにtureが入ったw
253デフォルトの名無しさん:2014/05/12(月) 11:53:52.63 ID:L/eGs81n
C++にboolなんかあったんだ
254デフォルトの名無しさん:2014/05/12(月) 12:01:58.51 ID:hkuqweKu
asmどうなってる?
255デフォルトの名無しさん:2014/05/12(月) 12:11:54.31 ID:qgWJrp5s
>>252
x.ch=2なんでしょ?
x.bl==1じゃないとtrueにならないの当たり前じゃん
256デフォルトの名無しさん:2014/05/12(月) 12:41:13.43 ID:BCJ2/LGP
bool 知らないとかモグリかよ
257デフォルトの名無しさん:2014/05/12(月) 13:36:11.27 ID:8MSpjbBf
マジレスすると0以外はtrue
258デフォルトの名無しさん:2014/05/12(月) 18:16:31.09 ID:1Oc6ahzf
蒸し返してすまんが>>162はE9SfM4pVの発言に対する皮肉で書いたんだけどさ
勿論知っていると思うけどVariantは見えないだけで中に型情報ある物な訳で
直接型推論するのとコード上の論理的な意味合いはなんら変わらないと思うんだが。

個人的にはvarって最近は使うようにしていてコード量が減るのは確かなんだけど自分で
書いたコードならまだいいんだけども開発環境の支援が無いと読みづらくなることが
多いから手放しに良いものだとは思っていないオールドタイプなんだけど世間一般の
認識はそうでもないのかね?
259デフォルトの名無しさん:2014/05/12(月) 18:18:04.63 ID:1w9leY4l
うわあ
何だこのキチガイ怖い
260デフォルトの名無しさん:2014/05/12(月) 18:24:32.11 ID:vIiN2rHa
C#をVisualStudioの支援なしで読むの?
261デフォルトの名無しさん:2014/05/12(月) 18:26:54.09 ID:rRKhLlHV
>>258
> 勿論知っていると思うけどVariantは見えないだけで中に型情報ある物な訳で
> 直接型推論するのとコード上の論理的な意味合いはなんら変わらない

出直してください
262デフォルトの名無しさん:2014/05/12(月) 18:49:50.27 ID:1Oc6ahzf
>>260
GitHubみたいなのでコードレビューとかしたらそうなると思うケド?

>>261
具体的にどの部分に対してのツッコミ?
263デフォルトの名無しさん:2014/05/12(月) 18:50:10.34 ID:rNMuS3MH
C#のvarって、別に読みにくくならないと思うが。同じ事を2回書かないで済むようになっているだけって認識だな。

それと、C#のvarとVBのvariantって全然ちがくね。どっちかっていうと、dynamicがvariantに近いよね
264デフォルトの名無しさん:2014/05/12(月) 19:01:02.89 ID:lehFDRdw
varはただの糖衣構文だからね
dynamicは内部的にはObjectって聞いたことあるような気がするけど
265デフォルトの名無しさん:2014/05/12(月) 19:09:08.86 ID:1w9leY4l
dynamicは動的言語的な名前でのアクセスを高速にやるために
動的なコード生成的なハックをしてるって聞いたけど

VBはもともと動的言語だからvariantも素直に名前でアクセスしてるだけじゃねえの
266デフォルトの名無しさん:2014/05/12(月) 19:09:26.04 ID:/j+EhCNv
話の流れを読まずにレスすると
>C#のvarとVBのvariantって全然ちがくね

そんなことは みんなわかってる
267デフォルトの名無しさん:2014/05/12(月) 19:11:17.79 ID:/j+EhCNv
>>265
>VBはもともと動的言語
えっ? インターフェースに基づいてメソッド呼び出しする言語なのに?
268デフォルトの名無しさん:2014/05/12(月) 19:14:20.20 ID:OiSoC7y/
>>262
マゾいなぁ
うん、オールドタイプだよあんた
269デフォルトの名無しさん:2014/05/12(月) 19:16:49.39 ID:1w9leY4l
いやいやvariantとvarの違いも分かってないキチガイが低レベルなオナニーしてるだけでしょ
270デフォルトの名無しさん:2014/05/12(月) 19:17:33.57 ID:1Oc6ahzf
別に俺もvar=Variantとか主張する気はサラサラない。
使い方として一緒にしちゃってない?って聞いているだけで。

>>265
C++からVariant触ってみればどういう実装かすぐわかるよ。
VBからVariantつついても内部的な型を意識しないとハマるのも一緒。

>>263

var hoge = hogeList.GetNextData();

こんなコード一行見てどんな型か想像つく?

var hoge = new ObservableCollection<string>();

とかなら分かるが。
271デフォルトの名無しさん:2014/05/12(月) 19:23:06.49 ID:1w9leY4l
>>270
それはvarが悪いんじゃなくて
hogeという変数名が悪いの

変数名を目立たせるためにvarがある

まあhogeなんて変数名を意図的に付けなければvarを付けて可読性が下がるコードなんて作れないよ
272デフォルトの名無しさん:2014/05/12(月) 19:37:37.98 ID:vIiN2rHa
>>262
ある程度の規模になるとどちらにせよ落として支援つけないときついな
Reference Sourceみたいにメソッドだけでもたどれるとまだマシなんだけど
273デフォルトの名無しさん:2014/05/12(月) 19:40:53.44 ID:eFwDCItY
>>271
それは一般的には話が逆だと思うよ。

一般的にローカル変数については暗号的な名前でも構わないとされているし、
その理由は、それが何者であるかは型と前後の文脈から分かるから。

もちろんvar使ってもVS使う限りインテリセンスで型はわかるし、そうでなくても
メソッド名その他から型がわかるケースも多いけどね。
274デフォルトの名無しさん:2014/05/12(月) 19:46:33.94 ID:ACtGf3jF
vaiantの凶悪なところは a =1 +"1" で aが2になる挙動だわ
せめて入っている型と代入した型が異なったらエラーで止まって欲しい
275デフォルトの名無しさん:2014/05/12(月) 19:47:28.93 ID:koOZGk+1
>一般的にローカル変数については暗号的な名前でも構わないとされているし、

(´・∀・`)ヘー
276デフォルトの名無しさん:2014/05/12(月) 19:48:12.33 ID:koOZGk+1
VariantがクソなんじゃなくてVBがクソということでFAだな
277デフォルトの名無しさん:2014/05/12(月) 19:52:28.17 ID:ACtGf3jF
>>276
アレでも前世代のBasicに比べたらはるかにマシなんだけどね
278デフォルトの名無しさん:2014/05/12(月) 21:25:47.98 ID:b2+C7k5G
Roslynプロジェクトの規約だとvarは原則禁止で
>>270の後者のように右辺に型名がくる場合だけOKだよ
LINQ禁止だしforeachも列挙子が構造体でないものは禁止
さすがにコンパイラだから保守的になるわな
279デフォルトの名無しさん:2014/05/12(月) 21:47:10.68 ID:oYZZ6D9M
C#の場合var使ってローカルの変数名もある程度まともにするのが流儀だと思うが
LINQとか何が入ってるのかよーわからんし
280デフォルトの名無しさん:2014/05/12(月) 21:50:13.73 ID:1hZHnOd8
リーダブルコードでは説明的な名前にしろって書いてあったな

暗号ね、どこの一般やら
281デフォルトの名無しさん:2014/05/12(月) 21:51:28.22 ID:vNBTKcrK
Linqのクエリ形式は苦手だなぁ

>>278
>foreachも列挙子が構造体でないものは禁止
これって何を危惧してのことなんだろう?
列挙中にクラスインスタンスの状態が変更されないように、とか?
282デフォルトの名無しさん:2014/05/12(月) 21:55:10.30 ID:dBEplP4G
パフォーマンス
283デフォルトの名無しさん:2014/05/12(月) 21:58:44.92 ID:zjVah+tY
TreeNode _1838e3376;

とか宣言するのか。
目頭が熱くなってきた。
284デフォルトの名無しさん:2014/05/12(月) 22:04:22.44 ID:kkPuRxjD
>>280
リーダブルコードなら、明らかな一時変数ならどうでもいいって書いてあったような
285デフォルトの名無しさん:2014/05/12(月) 22:05:14.02 ID:1w9leY4l
>>273
そもそもローカル変数の名前が暗号でいいなんて考えは論外だから
可読性というものを一度でも考えたことがあるならそんな結論にはなりようがない
286デフォルトの名無しさん:2014/05/12(月) 22:05:39.18 ID:1hZHnOd8
>>284
一時変数だと分かればいい、だよ
ようなじゃない
287デフォルトの名無しさん:2014/05/12(月) 22:09:44.30 ID:rDnznASh
暗号的にする意味もわからない。
手作業での難読化を強要されている可能性以外には。
288デフォルトの名無しさん:2014/05/12(月) 22:10:26.89 ID:XToYxcYs
>>285
馬鹿馬鹿しくて反論する気にもなれないが、他人の書いたコード読んだことある?

ローカル変数で説明的な名前が適切なケースももちろんあるが、そちらの方がむしろ例外的。
ローカル変数に説明的な命名をする人なんかいないよ。
289デフォルトの名無しさん:2014/05/12(月) 22:12:16.20 ID:dBEplP4G
俺は納品前に説明的にリファクタリングするけど
290デフォルトの名無しさん:2014/05/12(月) 22:12:32.11 ID:6r4KrQ0C
暗号「的」って暗号使うって意味じゃないでしょ
kbtitとかそんな話でしょ
291デフォルトの名無しさん:2014/05/12(月) 22:13:39.55 ID:1hZHnOd8
なんか話が通じない気がしてきた
こりゃ駄目だわ
292デフォルトの名無しさん:2014/05/12(月) 22:14:35.51 ID:1w9leY4l
説明的になりすぎて名前が長くなりすぎるのも好ましくないからな
ひと目で見渡せる範囲で何の処理をしてるか分からないと直感的に読みやすいコードにならないから

型名を分かりやすく短くしたものが変数名になる
っていうパターンが多いね俺は
293デフォルトの名無しさん:2014/05/12(月) 22:16:18.20 ID:twKZ90SO
話題になってるリーダブルコードでは、
タイプ数なんかケチるなよモダンなエディタ使ってんだろ?
って書いてありました。
294デフォルトの名無しさん:2014/05/12(月) 22:17:43.69 ID:twKZ90SO
auは毎回id変わるのか…。
ハゲは変わらなかったのに。
295デフォルトの名無しさん:2014/05/12(月) 22:17:48.11 ID:rRKhLlHV
ANSI Cの関数みたいな感じに短縮した名前ならよく使うけども
296デフォルトの名無しさん:2014/05/12(月) 22:18:26.37 ID:XToYxcYs
>>287
暗号的というのは機能を明示的に表してないという程度の意味だよ。
var fs = new FileStream(path, FileMode.Create)

これをいちいち、

var fileStreamToReadWriteLog = new FileStream(path, FileMode.Create)

なんて説明的な名前を付けるのはダメグラマ。
そんなの前後のコード見ればわかるし、わかるように書けと。
297デフォルトの名無しさん:2014/05/12(月) 22:19:25.38 ID:1hZHnOd8
逆に聞きたいけどそれのどこが「暗号的」なんだ
298デフォルトの名無しさん:2014/05/12(月) 22:20:33.90 ID:1w9leY4l
意味の薄いことを長ったらしく書いていいんだとすれば
varを使わず型名をいちいちかけって言うことになる

見るのが大変で直感的にわかりづらい長ったらしいコードになっていいなら
varを使う理由もない
299デフォルトの名無しさん:2014/05/12(月) 22:20:54.99 ID:4cnM3h7R
暗号という言葉が利用されるところで仕事をしたことが無いんじゃないか?
アクロニムって単語が出てこないんだろ。
300デフォルトの名無しさん:2014/05/12(月) 22:21:26.99 ID:XToYxcYs
>>297
君みたいな非常識な奴にとっては違うんだろうねとしか言いようがない。
では何というべきなのか。

こういう場合は暗号的っていう表現を使うんだよ馬鹿。
301デフォルトの名無しさん:2014/05/12(月) 22:24:32.30 ID:6r4KrQ0C
そもそもvarとかうんこって書いたの俺だけどここで話してるようなことについて言ったわけじゃないからな
まぁC#スレはプログラミング言語についての議論できるようなレベルじゃないからいちいちつっこまないけど
302デフォルトの名無しさん:2014/05/12(月) 22:24:43.20 ID:XToYxcYs
>>299
暗号的な命名はいつも頭辞語とは限らない。
じゃあhogeって何の頭文字なのか言ってみな
303デフォルトの名無しさん:2014/05/12(月) 22:24:51.83 ID:1hZHnOd8
普通に頭字語じゃないの
すさまじいねこれは
304デフォルトの名無しさん:2014/05/12(月) 22:26:17.71 ID:13D7ee2l
子供みてえにじゃあじゃあ言い出したな。
305デフォルトの名無しさん:2014/05/12(月) 22:27:54.07 ID:6r4KrQ0C
どっから引用したのか知らんけどそこはどうでもいいよ
単にその言葉の解釈について思ってたのと違ったってだけだから
306デフォルトの名無しさん:2014/05/12(月) 22:28:19.55 ID:1w9leY4l
言葉の定義につっかかって本質の議論ができないアスペの集まりか・・・
307デフォルトの名無しさん:2014/05/12(月) 22:28:28.33 ID:zZkIxMS0
1バイトを削るのに命を賭けたり、人生でキーボードを打つ事の出来る回数が決まっている人でも無い限り
変数名は分かりやすくしてクレヨン。
あんま長ったらしいのも問題だけど、変数名や関数名から役割を普通に判断できるくらいにはして欲しい。

>>298
個人的にはvar使わない派。型名を書くことを他人に強制する事までは無いがね。
使わない理由はぱっと見で型が分からないのが嫌いだから。
使うとしてもforeachとかくらいか。
308デフォルトの名無しさん:2014/05/12(月) 22:28:34.03 ID:XToYxcYs
>>304
なるほど、その幼稚な物言いが子供みたいだとは思わないんだ。
馬鹿だろお前。
309デフォルトの名無しさん:2014/05/12(月) 22:29:37.19 ID:1w9leY4l
varを使いさえすれば型名がいかに必要のない情報か実感を持ってわかるだろう

食わず嫌いはやめよう
310デフォルトの名無しさん:2014/05/12(月) 22:31:20.65 ID:rRKhLlHV
人格批判が出てきたので
このお祭りもそろそろ終わりですね

俺はごく狭い範囲でしか使わないFileStreamならfsって付けちゃうな
ログを書き出すような寿命の長い変数ならもうちょっと丁寧に付けるが
311デフォルトの名無しさん:2014/05/12(月) 22:33:18.65 ID:1w9leY4l
何のファイルのストリームかが自明ならfsでいいと思うけどね
312デフォルトの名無しさん:2014/05/12(月) 22:33:45.43 ID:1hZHnOd8
そもそも説明的な変数名をつけろってのは
スクロールしないと意味を追えない変数は邪魔だってのが本題だから
一時変数は一時変数だと分かればいい=寿命が短いなら寿命が短いことが分かればいい
ってのもそういう意味ですよ誤解しないでね
313デフォルトの名無しさん:2014/05/12(月) 22:34:23.64 ID:dBEplP4G
Streamって大抵の場合コンストラクタやメソッドに突っ込んでおしまいだし、
スコープもusingで明示されることが多いから変数名云々の議論には全く向かないだろ
314デフォルトの名無しさん:2014/05/12(月) 23:12:10.79 ID:4a9Ad8ki
>>300
> こういう場合は暗号的っていう表現を使うんだよ馬鹿。

使わねーよ。
使うと言うならその証拠だしなよ。
315デフォルトの名無しさん:2014/05/12(月) 23:20:41.55 ID:h67qSrzm
ArrayList は参照型なのでしょうか?

ArrayList に ref を付けずに外部ファンクションに渡して値を設定しました。
呼出し元で確認すると ref をつけていないにも関わらず値が格納されていました。
316デフォルトの名無しさん:2014/05/12(月) 23:22:00.15 ID:b2+C7k5G
むしろ何故参照型でないと思ったのか
関係ないけどArrayListは過去の遺物だから使うな
317デフォルトの名無しさん:2014/05/12(月) 23:36:18.41 ID:XToYxcYs
>>314
繰り返すが、では何というのか。
いや答えなくていいよ馬鹿。
http://ja.wikipedia.org/wiki/命名規則_(プログラミング)

こういう馬鹿ってたとえば「教科書的なサンプルコード」って表現を聞いたら教科書に書いてある
サンプルコードのことだとか思うのかね。

あるいは「文芸的プログラミング」って聞いたら文学的味わい(笑)のある人語の文章で
コーディングするとか思うのかね。

義務教育からやりなおした方がいいんじゃないのマジで。
318デフォルトの名無しさん:2014/05/12(月) 23:44:24.50 ID:FPCSC9Pj
歴史の授業よろしく過去の遺物だけ教えて
近現代史まで教えてない義務教育もどうかと思う
319デフォルトの名無しさん:2014/05/12(月) 23:57:33.94 ID:4a9Ad8ki
>>317
根拠として Wikipedia って...
笑いとろうとしてるのか?
マジで、意味はとれなくないけど、スゲー違和感あるし、アホっぽく聞こえるからな他所でしゃべらない方がいいぞ (w
320デフォルトの名無しさん:2014/05/12(月) 23:59:57.05 ID:dBEplP4G
普通のWikipedia記事と出典が与太話一カ所にしか付いてない>>317を同列に扱うのはちょっと…
無論全般的にうんこなんだけど
321デフォルトの名無しさん:2014/05/13(火) 00:05:53.91 ID:1w9leY4l
細かいことを気にして本質が見れない奴は駄目だ
プログラマはそうなりがちだから注意しろ
322デフォルトの名無しさん:2014/05/13(火) 00:10:19.36 ID:OtWszYiC
リンクはUrlエンコードして貼れとなんども
323デフォルトの名無しさん:2014/05/13(火) 00:27:47.73 ID:N+BzxmIn
>>321
× プログラマ
○ バカ
324デフォルトの名無しさん:2014/05/13(火) 01:28:29.43 ID:6lHeR6ab
>>309
型名が必要ないって全く理解出来ないなぁ。C#で型を意識しないって時点でネタだろ?
そもそも結局変数名短縮して書くとか言っている時点で型を意識してるんじゃないの?
そんな俺俺ルール全開の話展開されてもなんか一人でコード書いている人の
オナニーにしか見えないよ。

多人数で書いていたら命名規則とかをガチガチに決めない限りそんな曖昧な
コードは混乱するだけだし、人のコード読んだり見せたりした事無いんじゃない?
そんな事するくらいなら型名できっちり明示されていた方が間違いないだろ。

varは同じことを二回(宣言と初期化)書かなくていいって程度の話だと思うんだが
それは見通しが良くなるという意味であって型に関して意味が無いという話ではないぞ
325デフォルトの名無しさん:2014/05/13(火) 01:59:28.36 ID:VAAeDIGc
Dictionary<string, Dictionary<int, 自作クラス>>
みたいなの書かなければいけなくなったときに
型名を捨てました。
でも数値は型に関わらずnValueみたいにつけちゃうかも
Numberの意味で
326デフォルトの名無しさん:2014/05/13(火) 02:06:16.80 ID:SWSrJt6s
varを使うと、「変数は宣言時に初期化」が強制される
ってのが一番の利点だと思っているんですけど。
327デフォルトの名無しさん:2014/05/13(火) 02:24:37.33 ID:nxvHWi8Q
思ってりゃいいよ。口を開くな。
328デフォルトの名無しさん:2014/05/13(火) 10:05:01.34 ID:pfvuptpJ
>>326
このスレでは>>327の意に添わないレスは禁止されている。
以後気をつけなさい。
329デフォルトの名無しさん:2014/05/13(火) 12:37:21.47 ID:Q2oZdJZr
>>324
使うメソッドを持ってれば実行されるから、型なんてどうでも良い。
330デフォルトの名無しさん:2014/05/13(火) 12:58:43.04 ID:vRP8IXzs
>>326
> varを使うと、「変数は宣言時に初期化」が強制される

意味わからん。
var 無くても宣言時に初期化が必要な変数は初期化するし、不要な奴はしない。
なんにも変わらん、ちょっと書き易くなっただけ。
331デフォルトの名無しさん:2014/05/13(火) 13:03:36.11 ID:pOysepT3
昨日から馬鹿が多いな本当。

型なんかどうでもいい、って言ってる奴は、釣りで言ってるのでなければ
1週間後には書いた本人にも理解できないようなコードを書くタイプ。

要するに、今コードを書いている自分の頭に入っているような前提知識を持たない人から
自分のコードが可読的に見えるかどうか、っていう視点が欠如してるタイプ。

そりゃコード書いてる時にはコード上に型が明示されてなくても何も困らないに決まってる。
だってそんなの「今」コードを書いてる自分には自明だからな。

問題は「今」自分が持ってる一時記憶が失われた後でもコードが可読的かどうかのはずなんだが、
ダメグラマってこういう当たり前のことがわからないみたいね。

単にわからないだけじゃなくて、何度それで失敗してもその失敗から学習しない。
332デフォルトの名無しさん:2014/05/13(火) 13:03:59.58 ID:Q2oZdJZr
varは宣言時に代入もしないと、型が判らないからコンパイルエラー
333デフォルトの名無しさん:2014/05/13(火) 13:20:44.11 ID:Oq17BpUc
>>331
昼間から遊んでんなよ
334デフォルトの名無しさん:2014/05/13(火) 15:30:35.03 ID:Bi6mCPJj
宣言時に初期化することがメリットとは思えないなぁ。

他の言語ならともかく、C#ではvarを使わなくても、
初期化されていない可能性のある変数への参照は
コンパイラが警告を出してくれるんだから。
335デフォルトの名無しさん:2014/05/13(火) 17:02:03.84 ID:tPkiUW7x
思わなくていい。糞みたいな口を開くな。
336デフォルトの名無しさん:2014/05/13(火) 17:07:01.01 ID:+/9sUvLU
>>331
型なんかどうでもいいって書き込みなんか無いと思います。
プログラムが読めても日本語が読めない人ですか?
337デフォルトの名無しさん:2014/05/13(火) 17:15:21.16 ID:2bqSYurQ
>>336

>>309 型は必要のない情報
>>325 型名は捨てた

ちょっと遡っただけでも二つあるんだけど日本語読めない人ですか?
同じ主張していた人は前にも同様の事を書いていたと思う
338デフォルトの名無しさん:2014/05/13(火) 17:56:00.21 ID:RSJvu3WH
警告じゃなくてコンパイルエラーになるから、そこは間違えようがない
339デフォルトの名無しさん:2014/05/13(火) 17:56:15.15 ID:nxvHWi8Q
うるさい奴だな
規制も解けたし久しぶりに荒らすか
340デフォルトの名無しさん:2014/05/13(火) 17:57:23.64 ID:fEA3lkvv
ばかばっか
341デフォルトの名無しさん:2014/05/13(火) 18:03:59.79 ID:FaOmhydn
玉ねぎテスト
342デフォルトの名無しさん:2014/05/13(火) 19:04:44.91 ID:P6IZAQAm
>>337
型は何よりも重要だが型名として明示する必要は無いというだけ
型は論理的な制約としてコンパイラとIDEとプログラマを助けてる

ソースを読むときには意味を追うことが重要であって
型名は意味を表さないからソースに現れる必要はない
343デフォルトの名無しさん:2014/05/13(火) 19:10:30.00 ID:I3YIR7QR
それはシステム型ガリアンがわるいのであって
アプリケーション型ガリアンを使うのが正しい
344デフォルトの名無しさん:2014/05/13(火) 20:48:39.72 ID:OtWszYiC
そもそも.netでハンガリーを使うのは不適切
345デフォルトの名無しさん:2014/05/13(火) 21:18:49.26 ID:JYotVS6+
ハンガリーてw
346デフォルトの名無しさん:2014/05/13(火) 21:41:54.30 ID:g7aGY/I9
予約語varすら不要にはできないのかな
新しい識別子が突然出てきたらそこで型推論して変数定義するだけだと思うのだが
347デフォルトの名無しさん:2014/05/13(火) 21:43:10.75 ID:/YCqdFMA
それなんてブビ6?
348デフォルトの名無しさん:2014/05/13(火) 21:45:37.20 ID:P6IZAQAm
変数の定義なのか既存の変数への代入なのかは分からないとダメだろう
間違いの元だし
349デフォルトの名無しさん:2014/05/13(火) 21:48:10.21 ID:g7aGY/I9
>>348
それくらいインテリセンスとシンタックスハイライトで何とでもできそうだけど
350デフォルトの名無しさん:2014/05/13(火) 21:49:38.78 ID:2SjFSQn0
ローカル変数のスコープが絞れない無能言語
351デフォルトの名無しさん:2014/05/13(火) 22:08:05.31 ID:RSJvu3WH
不要にする意味がないじゃん
あとでその上とか、上位スコープに同じ名前の変数定義しても警告がでないとか、スクリプト言語かよ
352デフォルトの名無しさん:2014/05/13(火) 22:58:51.07 ID:VAAeDIGc
紙デバッグする人とIDE活用する人の違いでしょうか
353デフォルトの名無しさん:2014/05/13(火) 23:05:11.66 ID:OtWszYiC
紙でデバッグってどこでビルドするんですか?
354デフォルトの名無しさん:2014/05/13(火) 23:06:36.97 ID:6lHeR6ab
>>352
IDE活用するのは良いんだがそれに依存しちゃってる人って他人とレビューってどうやってやるの?
355デフォルトの名無しさん:2014/05/13(火) 23:07:35.77 ID:I3YIR7QR
最低限の構文要素は残しておかないとソース解析や支援機能が劣化する
ていうか今のものですら不足
356デフォルトの名無しさん:2014/05/13(火) 23:08:53.54 ID:2SjFSQn0
型明示しないとコード読めない奴がレビュアーとか恥ずかしくないの
357デフォルトの名無しさん:2014/05/13(火) 23:09:40.76 ID:OtWszYiC
レビューとか普通にソフトあるだろ
TFSならたしか標準だったはずだし
358デフォルトの名無しさん:2014/05/13(火) 23:10:10.27 ID:Gi8jm/Jb
var程度で劣化するわけないでしょ
リアルタイムのエラー表示とかに比べたら全く完全に無視できる程度の処理
359デフォルトの名無しさん:2014/05/13(火) 23:22:12.28 ID:2SjFSQn0
型推論っていうけど実際には変数型の解決と変換チェックを省いてるわけだからむしろ高速化しそう
360デフォルトの名無しさん:2014/05/13(火) 23:35:11.58 ID:ph3+WM+5
>>355
すみません、劣化の実例出してもらえます?
361デフォルトの名無しさん:2014/05/13(火) 23:42:10.85 ID:I3YIR7QR
すまん これからシアトル行きの飛行機に乗らないといけないんだ
362デフォルトの名無しさん:2014/05/14(水) 00:44:05.28 ID:eTwx7JM5
いまだにハンガリアンつかってるのはちょっとイケてないよね
363デフォルトの名無しさん:2014/05/14(水) 01:15:52.45 ID:9VDDjOUK
>>354
他人と一緒にIDE使えばいいんじゃね
364デフォルトの名無しさん:2014/05/14(水) 01:17:18.00 ID:OfRhuTl1
今のトレンドは何リアンですか?
365デフォルトの名無しさん:2014/05/14(水) 02:34:49.11 ID:NgeMMujl
ジャンガリアン
366デフォルトの名無しさん:2014/05/14(水) 08:39:58.13 ID:s/uWWHxP
>>350
絞れるよ。ただ、外側と同じ名前をつけらんないだけ。
367デフォルトの名無しさん:2014/05/14(水) 14:25:27.66 ID:d8cAyoWU
今どきイケてるとか言っちゃうナウでヤングなあなた
368デフォルトの名無しさん:2014/05/14(水) 20:16:37.22 ID:eTwx7JM5
時代はキャメリアンよ
369デフォルトの名無しさん:2014/05/14(水) 20:49:19.94 ID:duQE1tkX
いやポリアンナでしょ
370デフォルトの名無しさん:2014/05/14(水) 21:01:07.09 ID:TjISzePW
>>366
論点理解した上で「絞る」って口語表現の解釈で争うのか?
アスペかゴミかアスペのゴミだな
371デフォルトの名無しさん:2014/05/14(水) 21:03:19.94 ID:duQE1tkX
>>370
どう考えてもお前がアスペ
372デフォルトの名無しさん:2014/05/14(水) 22:57:26.14 ID:MatEjgRk
>>364
コリアンと言ってほしいんだろ?
373デフォルトの名無しさん:2014/05/14(水) 23:10:26.66 ID:hc7I7FLC
C# でフラッシュ上に描画されているボタンのクリックをする事は出来ますか?

例)
YouTubeの 再生ボタン 
374デフォルトの名無しさん:2014/05/14(水) 23:28:08.62 ID:OXjgNqNn
まっとうな方法はない
できないことはないけど非常に難しく、およそ初心者向きの課題ではない
375デフォルトの名無しさん:2014/05/14(水) 23:30:16.49 ID:CNlUMUNV
UWSCさんにお任せした方がお手軽
どうせお手軽に稼ぐ手段にしか興味ないんでしょ?
376デフォルトの名無しさん:2014/05/15(木) 02:37:17.33 ID:y4EzsQr3
4.5.1時点では各種コレクションやカスタマイズならIEnumerable<T>やIEnumerator<T>があるからインデクサ実装するメリットがパッと思いつかないな
逆にどういう時にあえてクラスにインデクサ実装するの?
377デフォルトの名無しさん:2014/05/15(木) 05:43:37.91 ID:VFnGSa+C
>>376
たしか、ElementAtはIListを実装していないクラスの場合、
インデクサを使わず先頭から一つずつ数えるとか聞いた

ともかくElementAtは効率的である保証がないから
ランダムアクセスが早いクラスではインデクサを実装したほうがいい
378デフォルトの名無しさん:2014/05/15(木) 06:46:00.89 ID:vWmJlxXD
ディクショナリとか多次元コレクションとか
379デフォルトの名無しさん:2014/05/15(木) 06:50:35.28 ID:PJUn3sxK
二次元幼女のコレクションか。納得。
380デフォルトの名無しさん:2014/05/15(木) 15:32:47.39 ID:hK9NRk/t
>>375
UWSC って何?
381デフォルトの名無しさん:2014/05/15(木) 15:49:09.11 ID:UhbfTRYa
>>380
ググったら一発で出てくるんだが
382デフォルトの名無しさん:2014/05/15(木) 15:57:34.47 ID:hK9NRk/t
じゃ、ぐぐって
383デフォルトの名無しさん:2014/05/15(木) 18:09:38.25 ID:6iCpTi+Y
ぐぐりました
384デフォルトの名無しさん:2014/05/15(木) 21:16:35.16 ID:VVboE5kT
おれもググった
385デフォルトの名無しさん:2014/05/15(木) 21:33:42.13 ID:t3vABwGH
ぐぐってきた、なるほどね
386デフォルトの名無しさん:2014/05/15(木) 21:34:05.58 ID:fEMnGPTM
ぐぐってあげたよ
387デフォルトの名無しさん:2014/05/15(木) 21:55:32.39 ID:/wvFfuuf
百度でも可
388デフォルトの名無しさん:2014/05/15(木) 21:59:03.97 ID:vWmJlxXD
優しい世界
389デフォルトの名無しさん:2014/05/16(金) 18:40:47.57 ID:VAV/Ywcf
Usage of NativeWindow.AssignHandle/ReleaseHandle when unmanaged code is involved.
http://blogs.msdn.com/b/anandgeorge/archive/2010/04/11/usage-of-nativewindow-assignhandle-releasehandle-when-unmanaged-code-is-involved.aspx

NativeWindowまわりで不可解なクラッシュが発生するんだけど
これ試してみようかな
390デフォルトの名無しさん:2014/05/17(土) 16:30:44.41 ID:QUUNT5cx
福島ヤクザの恫喝のお蔭で美味しんぼが休載になってしまった・・・



そ ん な に 福 島 県 の  野 菜 が 安  全 ・安 心

    と い う な ら ば 宮 内 庁 職 員 ・ 天 皇 家 に 全 て 無 料 で 提 供 し な さ い
391デフォルトの名無しさん:2014/05/17(土) 16:40:04.62 ID:/wPndJU8
コピペマン参上!まで読んだ。
392デフォルトの名無しさん:2014/05/17(土) 21:01:02.22 ID:Ii5h3iYQ
そんな事よりkeybd_eventで記号が送れないじゃないか。
入力対象がPostMessageは受け付けないしSendInputは動かないし困った。
393デフォルトの名無しさん:2014/05/17(土) 21:10:07.58 ID:pDUyUp0N
UIAutomationは?
394デフォルトの名無しさん:2014/05/17(土) 22:17:04.68 ID:Ii5h3iYQ
>>393
聞いたこと無かった。試してみるわ。
395デフォルトの名無しさん:2014/05/18(日) 03:17:11.65 ID:fAlXIwAd
以下のコードを書いているのですが #1 の部分でたまにブラウザが閉じない場合があります。
何が原因なのでしょうか?

きっちりと閉じる時は閉じますが、たまに閉じない場合があるのです。
その為現在は、 iexplorerのプロセスをむりくり消すという方法を行っています。

SHDocVw.InternetExplorer ie;
mshtml.IHTMLElementCollection mshtml_ec;
do
{
  url = "http://maxnko.com";
  ie = new SHDocVw.InternetExplorer();
  ie.Navigate(url, null, null, null, null);
  
  ie.Quit(); ← #1
}while(true);
396デフォルトの名無しさん:2014/05/18(日) 04:22:37.98 ID:gCeF58LB
アウトオブプロセスのCOMサーバプロセスのサーバの寿命が気になるなら
・途中で手に入ったCOMオブジェクトすべてにMarshal.ReleaseComObject
・COMオブジェクト入れてた変数は全部参照を切ってGC.Collect×2
のどっちかが必要
397デフォルトの名無しさん:2014/05/18(日) 06:27:29.62 ID:y6C+E1dN
WaitForPendingFinalizersとSleepも入れとけ
http://bbs.wankuma.com/index.cgi?mode=al2&namber=35188&KLOG=61
398デフォルトの名無しさん:2014/05/18(日) 11:55:53.57 ID:0kvX68pZ
http://maguro.2ch.net/test/read.cgi/pc2nanmin/1372918692/145
  ↑ ↑ ↑  ↑ ↑ ↑
399デフォルトの名無しさん:2014/05/18(日) 17:55:09.18 ID:KNbj8c8D
超初歩で申し訳ないのですが

string[,] hoge = {{"a","b","c"},{"a","b","c"}};
のような多次元配列があるとして

string[] test = hoge[0];
みたいに配列を取り出して渡すのはどうしたらいいですか?エラーがでます。
400デフォルトの名無しさん:2014/05/18(日) 18:14:59.78 ID:5sxTIiRh
これで我慢しろ
string[][] hoge = { new[] { "a", "b", "c" }, new[] { "x", "y", "z" } };
string[] test = hoge[0];
401デフォルトの名無しさん:2014/05/18(日) 18:44:56.99 ID:KNbj8c8D
ありがとうござます・・
色々な宣言方法があるんですね。
402デフォルトの名無しさん:2014/05/18(日) 18:54:58.24 ID:VTr3IL1L
多次元配列 string[,] と ジャグ配列(配列の配列) string[][] は別物なんよ
403デフォルトの名無しさん:2014/05/18(日) 20:55:49.12 ID:eK7aomfp
インデクサで実装
404デフォルトの名無しさん:2014/05/19(月) 01:44:57.19 ID:iSQonB5j
string[] test = new string[6];
test[0]=hoge[0,0];
405デフォルトの名無しさん:2014/05/20(火) 22:50:10.77 ID:egyHbNr6
System.Collections.Specialized.OrderedDictionaryが使いづらいから
genericなOrderedDictionaryを自作しようと思ったら糞面倒臭くてワロタ。
みんなどうしてるんだ?
406デフォルトの名無しさん:2014/05/20(火) 23:14:18.45 ID:z25AfSXU
内部にList<T>とDictionary<TKey, TValue>を持つクラスを作った。
407デフォルトの名無しさん:2014/05/21(水) 03:32:42.40 ID:v/AOEN1J
OrderedDictionary ってなんのために使うの?
Dictionary の中身のソートならLINQですましているけど、、、
408デフォルトの名無しさん:2014/05/21(水) 12:09:03.26 ID:HVPC3tHt
互換性のために残してるんだろ。
ジェネリック版がないのがその証拠。
409デフォルトの名無しさん:2014/05/21(水) 17:10:09.90 ID:mq1dIck6
>>396
>アウトオブプロセス
あうと・おぶ・プロセス?
410デフォルトの名無しさん:2014/05/21(水) 19:03:42.30 ID:ejLigrZg
そうよ。別プロセスとして起動したCOMサーバのこと。

対になる言葉もちろんin-process server.
自プロセス内でアクティベートされたCOMサーバーオブジェクトよ
411デフォルトの名無しさん:2014/05/21(水) 19:25:24.07 ID:bWXCPWXI
WPFのDataGridで、どの列が画面内に表示されているかを知る方法をご存知の方いらっしゃいませんか。

広いDataGridの各セルに値を表示していて、一定間隔で表示を更新しているのだけど、
表示更新を行うのを画面内に表示されている範囲だけにしたくて、現在表示されている列を知りたいのです。
どの行が表示されるかは、DataGrid.LoadingRow/UnloadingRowイベントで簡単にわかるんだけど、
列に関してはこれに類似する便利なイベントなどが見つからなくて、悩んでいます。

ScrollChangedイベントが発生した時に各列の位置を計算して、
表示されている範囲内に収まっているかを確認するという方法を考えたんだけど、
「表示されている範囲」を取得する方法がわからず、実現できるかどうか・・・

詳しい方、知恵を貸していただけませんでしょうか。
412デフォルトの名無しさん:2014/05/21(水) 19:35:47.40 ID:vOQNrfJU
VisualTreeHelperとかじゃねえの
もっと直接的な方法があるかもしれんが
413デフォルトの名無しさん:2014/05/21(水) 20:51:40.21 ID:eQl8Z8s/
>>411
普通にバインドしてりゃそれくらいは自動でやってくれてるぞ
それでもDataGridの糞性能はどうしようもないから、
諦めてWindowsFormsHostでDataGridViewを使うのが吉
414デフォルトの名無しさん:2014/05/21(水) 22:08:50.68 ID:bWXCPWXI
>>412
VisualTreeHelperですか・・・
使ったことないので、調べてみます。

>>413
ありがとうございます。
表示更新以外にも内部的にやりたいことがあって、表示されている列をなんとかして取得したいと考えています。
やっぱりWPFのDataGridは使えないのですね・・・DataGridViewの便利さが身にしみます。
今回すでにDataGridが用意されている中での改造をやろうとしていて、WindowsFormsHostを使うことができないので、
WPFの範囲でなんとかできる方法をもう少し試行錯誤したいと思います。
415デフォルトの名無しさん:2014/05/26(月) 11:41:59.18 ID:C5RAjArj
C#で
Process.Kill("explorer");

Process.Start("explorer");


を実行するとエクスプローラーが起動しますが
自動でこれを閉じる方法はありませんか?

※エクスプローラを一定周期で再起動させたいです。
PCを付けっぱなしだとexplorerの調子が悪くなってしまう場合がある為です。
416デフォルトの名無しさん:2014/05/26(月) 11:50:26.53 ID:QBzBPwJ7
閉じる?
417デフォルトの名無しさん:2014/05/26(月) 11:51:08.04 ID:fNjo4Ias
var exp = Process.Start("explorer");
// 一定時間待つ
exp.Kill();
418デフォルトの名無しさん:2014/05/26(月) 11:55:08.95 ID:82lch4Bs
ウイルス系に感染してるんじゃない?
419デフォルトの名無しさん:2014/05/26(月) 12:27:40.15 ID:dlApJPlM
普通不安定になるならエクスプローラだけ再起動してもダメだろ
PC再起動しろよ
420デフォルトの名無しさん:2014/05/26(月) 12:54:20.63 ID:DINwIwST
とゆうかエクスプローラはタスクバーでも使ってるから通知領域がおかしくなるぞ
418の言う通りウイルス疑うべき
421デフォルトの名無しさん:2014/05/26(月) 12:57:00.00 ID:ptXAqcmg
OneDrive(SkyDrive) とか GoogleDrive 止めたら安定したことがある
422デフォルトの名無しさん:2014/05/26(月) 13:12:12.75 ID:lvFZnHPn
ウィンドウを出してタスクバーに登録するあたりがおかしいんだよなw
423デフォルトの名無しさん:2014/05/26(月) 13:24:37.36 ID:yHJImmyi
丸投げ姿勢で常駐系に手を伸ばすなんてろくな事にならん
身の程知らずというものよ
424デフォルトの名無しさん:2014/05/26(月) 13:34:07.02 ID:82lch4Bs
>>421
どっちも使ったことないから知らんが、その系統ならオーバーレイアイコンの問題じゃないかな
425デフォルトの名無しさん:2014/05/26(月) 14:00:32.79 ID:yHJImmyi
そう言えば TortoiseSVN のアイコン処理がいろいろ悪さすることがあると最近知ったな
426デフォルトの名無しさん:2014/05/26(月) 14:40:35.43 ID:2JzRM12h
TortoiseGit でもアイコンのせいで超重くなるな
427デフォルトの名無しさん:2014/05/26(月) 14:43:51.58 ID:2JzRM12h
>>415 >>417
PC を長時間ログインしたままで使う人は explorer を時々再起動した方が良いのは賛成なんだが
explorer をいくつも開いてると復元が面倒なんでついつい致命的に死ぬまでそのまま使う

あと explorer の再起動はすべての explorer プロセスを列挙して全部殺して
最後の一つがタスクバーになるようにする必要があるのかな
428デフォルトの名無しさん:2014/05/26(月) 15:32:52.83 ID:EGdbrytd
explorerってタスクマネージャーでプロセス消したら勝手に立ち上がってくるよな
あれはタスクマネージャー側で再起動してる?OS側?
429デフォルトの名無しさん:2014/05/26(月) 16:02:51.07 ID:2JzRM12h
完全に消滅させられるけど?
430デフォルトの名無しさん:2014/05/26(月) 16:10:27.65 ID:kDM+Ms7r
あいつは完全に消滅した
431デフォルトの名無しさん:2014/05/27(火) 00:54:38.03 ID:RQKxbKNp
>>425
あれのせいで作業遅れたことあるわ
インシデント登録のために再現しようとしたら再現しなくてなんだかんだ悩んで時間無駄にした
432デフォルトの名無しさん:2014/05/27(火) 09:50:05.50 ID:ukhP0HT2
完全に消滅させるとタスクバーもいなくなるので
コマンド起動ですぐたちあげちゃうよな
433デフォルトの名無しさん:2014/05/27(火) 10:54:06.71 ID:Oftvh7Y1
デスクトップにフォーカスがある状態でAlt+F4

ダイアログが出たら Ctrl + Shift + Alt + Esc 同時押し

(゚д゚)ウマー
434デフォルトの名無しさん:2014/05/28(水) 03:17:16.11 ID:7s/YdHrO
>>428
unix でいうところのシェルと同等だからね
435デフォルトの名無しさん:2014/05/28(水) 04:37:57.28 ID:hRiIfaso
シェルって勝手に再起動したっけ?
436デフォルトの名無しさん:2014/05/28(水) 06:32:42.47 ID:r/cEnKci
ウィルスの仕業じゃ
437デフォルトの名無しさん:2014/05/28(水) 08:21:07.64 ID:pSqJyVpX
Windows XP SP2以降、再起動してくれることが多くなった
438デフォルトの名無しさん:2014/05/28(水) 10:34:03.90 ID:o+iely1Y
落ちたら再起動するってオプションと
外から殺されたらそのまま死んでる
って違いでしょ
439デフォルトの名無しさん:2014/05/28(水) 10:41:47.46 ID:EmUl6u0+
そんな設定あったのか。OSでの挙動の違いかと思ってた
440デフォルトの名無しさん:2014/05/28(水) 12:13:44.09 ID:mw4ldslt
フォルダとデスクトップを別プロセスにする設定にしてて
タスクバーのプロセスが死んだときに
フォルダのプロセスが残ってると
タスクバーのプロセスは自動復活しない
441デフォルトの名無しさん:2014/05/31(土) 08:17:04.13 ID:IL91pjst
C# は、改行のエスケープシーケンス効くのか?
string text = "Hello \
world" ;
442デフォルトの名無しさん:2014/05/31(土) 08:29:51.35 ID:gddrhR3Z
>>441
ソース通り文字列に改行が入っていいなら@を使う。
文字列に改行を入れたくないなら複数行に分けて書くのは無理。必要なら+で繋ぐ。
その場合もちろん最適化は効くからパフォーマンスへの影響はない。
443デフォルトの名無しさん:2014/05/31(土) 15:54:04.89 ID:QHlXh24u
そんなのちょっとやってみりゃ分かるだろうに
444デフォルトの名無しさん:2014/05/31(土) 16:29:13.74 ID:PaG8/Dzb
馬鹿はプログラミングに向かない典型だな
445デフォルトの名無しさん:2014/06/01(日) 03:34:36.29 ID:PhfrXEQQ
string kaigyou = System.Environment.NewLine;
446デフォルトの名無しさん:2014/06/01(日) 23:52:35.86 ID:qRSWaoQU
コントロールに設定したイベントを一時的に無効化する方法はありますでしょうか。


チェックボックスが2つあり、2つのチェックボックスのon/offによってリストボックスのアイテム一覧が変更される。2つのチェックボックスを同時にonにするボタンがある というフォームがあります。
http://i.imgur.com/1XiXIQE.png
チェックボックスをonにした時、offに下時の処理はよいのですが
ボタンを押した時の処理で困っています。

ボタンを押した時の処理はこんな感じなのですが
checkbox1.checked=true;
checkbox2.checked=true;
これだと、一つ目のチェックボックスがonになった時と2つ目のチェックボックスがonになった時と二回リストの更新が行われてしまいます。
ですので
checkbox1.CheckedChanged=無効
checkbox1.checked=true;
checkbox1.CheckedChanged=有効
checkbox2.CheckedChanged=無効
checkbox2checked=true;
checkbox2.CheckedChanged=有効
というようなイベントを一時的に無効化したいのですが、そのような方法はございますでしょうか。

checkbox2.CheckedChanged-= とすればよいのですが、今後イベントが増えた時の対応が必要ですし
フラグを作って判定する方法も今後の対応が不安です。
447デフォルトの名無しさん:2014/06/02(月) 00:00:20.29 ID:xvg552Op
フラグ方式で更新は非同期処理にする
448デフォルトの名無しさん:2014/06/02(月) 00:02:18.38 ID:6ca5PFlx
チェックボックスを男性、女性、両方の3つにする。で、「両方」をチェックしたときは男性女性の2つはenable=falseに。
でも、何かUIも更新処理ももう少し考えなおした方がいいと思う
449デフォルトの名無しさん:2014/06/02(月) 00:13:41.69 ID:sh0cAK63
>>446
だっせーUIだなw
450デフォルトの名無しさん:2014/06/02(月) 00:15:03.30 ID:g37RJwuh
>>446
こういう初心者の質問の何が困るって、まず要件である設計が誤りなんだけどそこを指摘しても納得しないんだよな。
納得しないどころか○○さんは口だけとか言われたらブチ切れそうになる。
じゃあ質問者の望む通り糞な設計のまま無理やり実現する方法を教えても「いや、それはスマートじゃないと思うんですよね!だから質問してるのに・・・」とか言われて更にブチ切れそうになる。
今もその新人を指導中なんだが教えてもらう立場の人間が一番必要な素直さと謙虚さがないからもう匙投げてる。ってこれ蛇足だったね。
451デフォルトの名無しさん:2014/06/02(月) 00:25:23.48 ID:9nt1DvSg
>>446
そういう機能を持ったカスタムコントロールを作らないと実現出来ない
452デフォルトの名無しさん:2014/06/02(月) 01:01:47.97 ID:Gq5/E2YM
既存の改修で簡単に変更できないのに
したり顔で設計が悪いの一点張りのやつとか多いよな。
Oralceの掲示板とか酷かった。

今後の対応を考えたフラグコントロールにしとけばいいと思うけどね
453デフォルトの名無しさん:2014/06/02(月) 01:08:16.35 ID:s/t3maig
そんなレベルの話じゃねえ

新人研修でクズ掴まされた運の無い野郎が
自分の境遇を一般化してグチってるだけ
454デフォルトの名無しさん:2014/06/02(月) 01:09:41.62 ID:9nt1DvSg
private以上のスコープを持つフラグはintが良い
455デフォルトの名無しさん:2014/06/02(月) 02:51:01.91 ID:iW1LawJK
普通に条件分岐でできるじゃん
456デフォルトの名無しさん:2014/06/02(月) 06:22:33.61 ID:uQGpdF/Z
CheckedChangedじゃなくてClickedを使えば、ボタンでチェックを変えた時に処理は通らん
そしてボタンの時は一度だけListBoxの更新を呼べばいい
457デフォルトの名無しさん:2014/06/02(月) 07:04:51.96 ID:kyFbnmGq
CheckedChangedイベントを抑止するか
ListBoxの更新を抑止するか
ボタンのときだけ別処理にするか

これだけならいろんな方法があるけど、
今後どう再利用していくか、どういうコントロールの増え方をするかとかに関わるからまじ設計次第だし。
それだけの情報じゃなんとも言えないというところでしょ
458デフォルトの名無しさん:2014/06/02(月) 08:45:19.62 ID:9bQ7GDrJ
>>446
普通にラジオボタンで、男性、女性、両性 とした方が分かりやすくね?
て言うかなんのアプリケーションなのか知らんけど、不明とか答えたくないとかの選択肢は要らんの?
459デフォルトの名無しさん:2014/06/02(月) 11:20:38.92 ID:x/2q9lNt
>男性、女性、両性

システム屋の発想だな
460デフォルトの名無しさん:2014/06/02(月) 17:17:50.87 ID:2EOO5SfK
女性を先に汁って言う連中もいる
461デフォルトの名無しさん:2014/06/02(月) 17:54:36.91 ID:cWHCj1KX
サベツニダ
462デフォルトの名無しさん:2014/06/02(月) 19:20:21.89 ID:Xbw1zxDW
オリンピックで国名を英語じゃなくフランス語の順にしろと言った国もあったなw
463デフォルトの名無しさん:2014/06/02(月) 19:41:42.30 ID:gDYNTXzr
一方ロシアは・・・
464デフォルトの名無しさん:2014/06/02(月) 20:04:11.91 ID:rZY0ZYU1
両性じゃなくて秘密にしとけ
465デフォルトの名無しさん:2014/06/02(月) 23:20:05.85 ID:QuKrCg6r
その他でいいだろ。
宇宙人だっているかもしれないしw
466デフォルトの名無しさん:2014/06/02(月) 23:37:10.38 ID:iW1LawJK
はぁ?
467デフォルトの名無しさん:2014/06/02(月) 23:39:32.04 ID:6ca5PFlx
俺がアスペだからかもしれんがネタなのかマジなのか判断つかんな
普通に全員とか全て選択/除外とかにしとけよ
468デフォルトの名無しさん:2014/06/03(火) 00:00:01.32 ID:1dA3dw+K
>>446って、複数のcheckboxにSelectAllボタンを加えたよくあるUIだろ。べつに変じゃないと思うがな。
逆に「両方」がcheckboxだったらかえって混乱する。
469デフォルトの名無しさん:2014/06/03(火) 00:18:24.81 ID:oC4KwoSO
>>468
男性、女性のチェックボックスがなくて、selectAllボタンがあるならよくあるUIだけど、
これはそうじゃないから珍しいUIだよ
470デフォルトの名無しさん:2014/06/03(火) 00:33:56.69 ID:KXoFTvPc
>>446
そのUIの是非はともかく、一番素直な解決法は、リストの更新を行うタイミングを
チェックボックス(UI)のイベントではなく、モデルのイベントに変更すること。

Formのコードに何でも書こうとするのが間違いのもと。
471デフォルトの名無しさん:2014/06/03(火) 05:06:15.40 ID:va6vQ78Z
>470
>Formのコードに何でも書こうとするのが間違いのもと。


これ思い出した
http://cpplover.blogspot.jp/2014/05/blog-post_29.html
472デフォルトの名無しさん:2014/06/03(火) 07:40:59.72 ID:nZtxpwF+
俺なら普通にフラグにする
473デフォルトの名無しさん:2014/06/03(火) 07:46:43.72 ID:Y/MlbrO/
質問者不在でようやるわこいつら
474デフォルトの名無しさん:2014/06/03(火) 08:21:29.46 ID:HwC67Dpa
>>473
おれはキューかな

>>473
そこらじゅうに書いてるが構って君か?
475デフォルトの名無しさん:2014/06/03(火) 08:32:21.93 ID:Y/MlbrO/
人を誰何する前に安価を確認することをおすすめするよ
476デフォルトの名無しさん:2014/06/03(火) 08:34:00.68 ID:nZtxpwF+
あと条件が増えるなら一覧ボタンをつけてもいい
チェックをしてから一覧ボタンを押すかんじで
477デフォルトの名無しさん:2014/06/03(火) 10:12:45.73 ID:yR/rujmJ
パーサージェネレーターって今なら何を使うのがいいかな?
478デフォルトの名無しさん:2014/06/03(火) 10:19:52.91 ID:m0Ewy84T
そこだけF#で書いてFParsecを使う
C#だけでは無理がある
479デフォルトの名無しさん:2014/06/03(火) 10:31:19.28 ID:yR/rujmJ
ちなみに昔cslexとjayを試した事があります
480デフォルトの名無しさん:2014/06/03(火) 13:07:47.40 ID:wxVZByXX
Caperって現行最新版だとC#対応してないんだっけ?
481デフォルトの名無しさん:2014/06/03(火) 13:48:56.64 ID:d9DaR74u
>>475
アンカーミスったのは謝るが、人の間違い指摘しても、お前のレスが正当化される訳じゃないよ
482デフォルトの名無しさん:2014/06/03(火) 20:44:48.40 ID:jXBgLZG5
くだんねー
483デフォルトの名無しさん:2014/06/03(火) 21:13:49.37 ID:Y/MlbrO/
誰も謝れなんて言ってないのにね
484デフォルトの名無しさん:2014/06/03(火) 22:49:03.43 ID:+nbCKdet
誰も謝れいなんて言ってないのにね
485デフォルトの名無しさん:2014/06/03(火) 23:10:57.49 ID:pWmE+L7y
誰も謝れやなんて言ってないのにね
486デフォルトの名無しさん:2014/06/04(水) 00:05:34.76 ID:57nRC2WA
誰も謝れいなんて言ってなのいにね
487デフォルトの名無しさん:2014/06/04(水) 00:11:19.30 ID:aeQAlcnR
誰も謝れいなんて言ってなのいにねい
488デフォルトの名無しさん:2014/06/04(水) 00:32:39.31 ID:xpNlfCv7
黙って謝れ
489デフォルトの名無しさん:2014/06/04(水) 00:42:03.49 ID:aeQAlcnR
綾麻レイ
490デフォルトの名無しさん:2014/06/04(水) 00:46:53.70 ID:IJeW5fj4
491デフォルトの名無しさん:2014/06/04(水) 00:52:02.64 ID:aeQAlcnR
492デフォルトの名無しさん:2014/06/04(水) 01:17:12.13 ID:kex7lASn
>>491
安価を確認することをおすすめするよ
493デフォルトの名無しさん:2014/06/04(水) 01:33:12.10 ID:FGWruX1J
494デフォルトの名無しさん:2014/06/04(水) 06:09:40.05 ID:aeQAlcnR
495デフォルトの名無しさん:2014/06/04(水) 06:12:03.86 ID:aeQAlcnR
496デフォルトの名無しさん:2014/06/04(水) 07:24:24.49 ID:cv7ZTq9m
アナーキー板に飛んだかと思った
497デフォルトの名無しさん:2014/06/04(水) 07:47:40.07 ID:N3/jHtbV
498デフォルトの名無しさん:2014/06/04(水) 09:03:27.96 ID:bMCntGyM
よそでやれキチガイども
499デフォルトの名無しさん:2014/06/04(水) 12:03:07.76 ID:FGWruX1J
正解は間違いなく>>458のラジオボタンなんだが、「両性」とわけわからんこと書いちまって泥沼化したなw
男性から女性に切り替えるとき、女性チェック+男性アンチェックと二度手間が必要なIFはダメですわ
500デフォルトの名無しさん:2014/06/04(水) 12:26:04.18 ID:xpNlfCv7
使用条件が分からないからなー

この手の一括選択って普通は手間を省くためで、例えば「全部選択してから不要な人の選択外して決定」みたいな使い方するだろ?
チェックボックスだったら3ステートにしておけば選択状態が変化した時も対応できる。こんな場合はradioはベストじゃないだろ
501デフォルトの名無しさん:2014/06/04(水) 12:40:50.06 ID:IJJxoauV
なんか読解力ない奴ばっかりで笑えるけど、質問者の質問の趣旨は、
コードで複数のコントロールのプロパティーを操作した時に、コントロールの~Changedイベント
経由で呼ばれる処理も操作したコントロールの数だけ呼ばれてしまうことを避ける
一般的な方法を聞いてるわけで、CheckBoxじゃなくてRadioButtonを使えとか
そういう話じゃないから。
502デフォルトの名無しさん:2014/06/04(水) 12:42:38.71 ID:D8WgKzas
答えとしてはC#の欠陥だから諦めろ
こういう話だろう
503デフォルトの名無しさん:2014/06/04(水) 15:41:08.34 ID:W0TNIij2
>>501
ここはいつもそうだぞ?新参か?
504デフォルトの名無しさん:2014/06/04(水) 20:18:41.15 ID:huWttikk
>>499
どっちかというと「男性」「女性」という言葉に惑わされて、その2つの選択肢が
排他的なものと思い込んじゃったから排他選択のラジオボタンが適しているように
見えてしまってるんじゃないかな。
505デフォルトの名無しさん:2014/06/04(水) 20:29:39.92 ID:cv7ZTq9m
うるせーぞ
デクノボーの見解は聞いてねえ
506デフォルトの名無しさん:2014/06/04(水) 20:50:46.11 ID:W0TNIij2
>>504
だまっとき
507デフォルトの名無しさん:2014/06/04(水) 21:18:15.37 ID:ZVczu670
いま.net4.0をターゲットにゲーム作ってるんだけど、
アニメーションが終わり次第つぎの処理を実行したい場合

コールバック関数
イベント
Task
Rx

のどれがいいの

コールバックよりRxのほうが連続でアニメーションするときにネストが浅くて良いのはわかるけど
それぞれのたち位置がよくわかってない
jQuery.deferredみたいなのがほしい
508デフォルトの名無しさん:2014/06/04(水) 21:38:16.44 ID:FGWruX1J
使ったこと無いけどasync/awaitの4.0版ってどうなのよ
509デフォルトの名無しさん:2014/06/04(水) 23:26:06.49 ID:Xy6Sshir
コントロールのイベントでやらなきゃいいじゃん
510デフォルトの名無しさん:2014/06/04(水) 23:58:35.48 ID:ZVczu670
コントロールのイベント使っていません
hoge
.Animate()
.Then(_ => hoge.Animate());

これがしたい
マルチスレッドにする必要もなくて、
Animate呼んでしまえばhogeは勝手に動くのでアニメ終了時の処理が書きたい
taskでもRxでも実現できそうで、その違いがわからない
511デフォルトの名無しさん:2014/06/05(木) 02:12:46.68 ID:EwJslvd8
BeginInvoke
512デフォルトの名無しさん:2014/06/05(木) 06:41:55.46 ID:Mp/yoNCj
>マルチスレッドにする必要もなくて

全部メインスレッド上なの?
なら悩む必要ないじゃん
単なるメソッド呼び出しでいいじゃん
513デフォルトの名無しさん:2014/06/05(木) 06:58:00.02 ID:0dz9domv
>>512
ゲームだからhoge.Updateはメインスレッドで常に呼び出され続けていて、そこで実際のアニメーション処理が行われる
Animateはアニメーションフラグを立てて、すぐ帰ってきてほしいのです
514デフォルトの名無しさん:2014/06/05(木) 07:55:21.95 ID:/PoXdjmc
Task.ContinueWithじゃないの
Rxは知らん
515デフォルトの名無しさん:2014/06/05(木) 17:46:34.44 ID:y1TOFGSr
Taskはサブスレッド作るの前提だから向かない
Rxは詳しくないけど確かイベントベースのをTask.ContinueWithみたいに書く方法を提供してるんじゃなかったっけ
.NET 4.5以降ならawait/Awaitable/Awaiterですっきり書けるんだけど
まあ手軽にやるならvoid Animate(Action continuation)でもいいよね
516デフォルトの名無しさん:2014/06/05(木) 19:28:39.88 ID:iLoQBm9B
ゲームのアニメーションをフルーエントインターフェイスで個別に実行するのはどうなの
517デフォルトの名無しさん:2014/06/05(木) 21:00:59.87 ID:KZps3rc8
ゲームなら設定ファイルベースでステートマシンでしょ
アニメーションの遷移なんてコードに書くもんじゃない
518デフォルトの名無しさん:2014/06/05(木) 23:00:54.33 ID:0dz9domv
みなさまお返事ありがとうございます

>>515
勉強になります
> Taskはサブスレッド作るの前提だから向かない
スレッドを使用しないタスク、TaskCompletionSourceというものを発見しました!
これが一番ほしいのに近い気がします
Taskで書いて複雑なことがしたくなればObservableに変換して使うのがよさそう

たしかにコールバックを引数に取るのが簡単ですヽ(^o^)丿

>>516
それをどうやって実装するか、が問題です

>>517
確かにすべて書き出してしまえばどうでもよくなるかもしれません
書き出すのとても難しいように思えますが
519デフォルトの名無しさん:2014/06/06(金) 12:55:43.30 ID:cWRGpuDH
VS2013express用でコードを自動ソートしてくれるようなものはありませんか?
520デフォルトの名無しさん:2014/06/06(金) 13:15:59.65 ID:Yda6Fviz
コードの自動ソートってなんぞ?
521デフォルトの名無しさん:2014/06/06(金) 13:42:11.91 ID:LO0pC3+W
701 デフォルトの名無しさん sage 2014/06/05(木) 23:39:22.37 ID:KqY/r4Jl
expressで使えるコードを自動ソートしてくれるようなのはないかな

705 デフォルトの名無しさん sage 2014/06/06(金) 07:57:12.26 ID:slyOrLRP
コードの自動ソートってなんぞ?
522デフォルトの名無しさん:2014/06/06(金) 13:45:41.88 ID:zvyDeoeJ
選択範囲のソースを行単位にソートとかじゃね
そもそもExpressはマクロもアドインも使えないから
秀丸でも何でもいいから外部エディタ使えって話だが
523デフォルトの名無しさん:2014/06/06(金) 13:58:59.20 ID:UcUEUerQ
ソースっつーかリテラルの部分をソートなんかな
そこだけ切り出してコマンドでソートして戻す、とか

せっかくだからクリップボードの内容をソートしてクリップボードに戻すアプリとか作ったらいいやん
524デフォルトの名無しさん:2014/06/06(金) 14:05:55.16 ID:9ef7xEr0
ソースをフィールド、プロバティー、メソッドにカテゴライズした上でアルファベット順にソートするやつでしょ
525デフォルトの名無しさん:2014/06/06(金) 14:07:17.65 ID:UyxaaHa4
エスパー大会の会場はここですか?
526デフォルトの名無しさん:2014/06/06(金) 14:33:47.61 ID:u3FUb5e0
自動フォーマットのことじゃね?
527デフォルトの名無しさん:2014/06/06(金) 14:40:35.69 ID:Bkp8jp8D
どうも、CTRL  E→Dって押す度に思うことがある。
528デフォルトの名無しさん:2014/06/06(金) 15:11:03.89 ID:cWRGpuDH
>>524
それです
529デフォルトの名無しさん:2014/06/06(金) 17:44:46.23 ID:bkY7VEvb
Microsoft MVP for C#になるにはどうした方がいいですか?
530デフォルトの名無しさん:2014/06/06(金) 18:05:34.30 ID:u3FUb5e0
2chやめてコミュニティに入り浸る
531デフォルトの名無しさん:2014/06/06(金) 20:01:22.69 ID:Yda6Fviz
>>530
入り浸る確かにwww
532デフォルトの名無しさん:2014/06/06(金) 21:17:35.98 ID:Q7kJSdbp
能力の高い人が居るコミュニティの方がいいのは確かだ
533デフォルトの名無しさん:2014/06/06(金) 21:23:13.30 ID:Bkp8jp8D
コピペの元になるサイトを作るといいよ。
534デフォルトの名無しさん:2014/06/08(日) 23:59:53.95 ID:+XojWnnk
アルファベット順にソートしたいなんて思ったことねえな
意思を持って重要なもの関連性のあるものを並べていくだろ
535デフォルトの名無しさん:2014/06/09(月) 00:37:51.85 ID:gSS7FX0j
コードを自動でソートなんてお節介としか思えないけど、VSにはクラスのメンバーを
鳥瞰するビューがいくつもあるのにどれもあんまり使いやすくないのはちょっと不満。
536デフォルトの名無しさん:2014/06/09(月) 01:11:42.29 ID:C9X+mucQ
わからないではないが設計が根本的におかしいか
そもそも言語仕様からくる問題の気がしないでもない
537デフォルトの名無しさん:2014/06/09(月) 02:30:20.91 ID:Ul1rwxHr
アドオンでソートできるツールは見覚えあるんだが、仕組み上VS上でやるにはアドオンが必須だからプロ以上じゃないと無理だね
そうすると外部のソースコード整形ツールになるけど見つからいね
ソートがなんの為にあるかといえば、印刷してソース管理するなら便利ではある
538デフォルトの名無しさん:2014/06/09(月) 08:41:03.25 ID:2ZoqHH1s
ヘルプファイルとかドキュメント書くときにソートしたいと思った事はある
プログラムより先にちゃんとした仕様書作れって話なんだけどな
539デフォルトの名無しさん:2014/06/09(月) 11:45:53.71 ID:ZlIyEsr8
クラスのメンバとかって意味のある順に並べるのが普通じゃないのか?
540デフォルトの名無しさん:2014/06/09(月) 13:23:00.37 ID:yuJsw0aB
クラスの中もカテゴリ別にネームスペースで分ければ良い
541デフォルトの名無しさん:2014/06/09(月) 13:28:27.58 ID:iHe171LC
アルファベット順にはしなくてもいいが
メンバの種類でソートはしたい
542デフォルトの名無しさん:2014/06/09(月) 14:44:05.71 ID:rLie7rN8
たまに言語仕様上のタイプでまとめたくなる

フィールド
コンストラクタ
ファイナライザ&Dispose
overrideしたメソッド
イベントハンドラ
メソッド
プロパティ
プライベートなコード...

でも機能でまとめたほうが見やすいし書きやすい
機能1
機能2
機能3...

ボタン一つで切り替えができればいいのに
543デフォルトの名無しさん:2014/06/09(月) 15:31:34.91 ID:GLJHLViz
すいません。C#を少しかじった程度の知識で申し訳ありません。前に出たかもしれませんが、
C#のRadioButtonコントロールとCheckBoxコントロールはSHIFTキーの入力を勝手に受け取ってしまうのでしょうか?
ちなみに入力は、フォーム上のKeyDownイベントで受け取っていて、RadioButtonをフォーム上に追加しない場合は入力をとることが出来ています。

MSDNのリファレンスとか他のページ見てもそのようなことは乗ってないのでよくわからない状況です。
勝手に取られないようにする方法とかがあったら教えてほしいです。
544デフォルトの名無しさん:2014/06/09(月) 15:34:37.06 ID:AwjqbBvx
別にShiftに限らないけどKeyPreview
545デフォルトの名無しさん:2014/06/09(月) 15:49:27.34 ID:GLJHLViz
>>544さん
フォーム上のKeyPreviewをtrueにしてもダメだったのでそれ以外にも
フォーム上のKeyPressイベントハンドラ―のKeyPressEventArgs.Handledプロパティをtrueにして
他のコントロールでキーボードイベントを受け取らないようにしてもダメでした。。。

RadioButtonは、自分でRadioButtonクラスを派生させて自作していますが、デフォルトのRadioButtonでもダメでした。

何かおかしな処理してるのでしょうか・・・
546デフォルトの名無しさん:2014/06/09(月) 15:52:29.99 ID:GLJHLViz
>>543の話ですが、すいません間違ってました。

SHIFTの入力はとれていますが、Shift+カーソルキーがダメみたいです。
Ctrl+カーソルキーはとれているみたいです。
547デフォルトの名無しさん:2014/06/09(月) 15:58:20.99 ID:AwjqbBvx
カーソルの方はフォーカス移動に使われるので標準のキーイベント前に処理される
派生クラス作ってるならProcessDialogKeyをオーバーライドして
処理したくないキーの時にfalseを返すようにする
Windows標準のUIと違う動作になるのでユーザビリティ的には
548デフォルトの名無しさん:2014/06/09(月) 16:41:18.06 ID:MSabkPat
>>542
機能でまとめたら他人が見た場合や
時間が経って自分のソースを見返すとき
プロパティなどがソースのあちことに点在してたら把握しづらいでしょ
パブリックなメンバさえ見ればどういう機能が備わっているかわかるし
そのように作らなきゃいけない
プロパティグループ内で機能別にわかれているならいいけどね(プロパティウィンドウの表示のように)
549デフォルトの名無しさん:2014/06/09(月) 17:16:47.23 ID:GLJHLViz
>>547さん
ProcessDialogKeyを調べて実装しようとしたところよくわからなかったので、代用としてあげられていた
PreviewKeyDownイベントのPreviewKeyDownEventArgs.IsInputKeyをカーソルキーのみtrueにして解決しました。

フォーカスの移動に使われているなんて知らなかったです。
これでCheckBoxなどの実装も出来そうです。ありがとうございました。
550デフォルトの名無しさん:2014/06/09(月) 18:39:49.76 ID:a+8gkVeC
>>548
タグ付けできるようにして欲しいわ
551デフォルトの名無しさん:2014/06/10(火) 00:39:48.47 ID:BT9KrIEa
C#で書いたクラスにoperator &を定義したんだが
これをVBから使おうとしたらoperator ANDになっていた
VBでもoperator &として使えるようにする為にはC#側はどう書けばいいの?
552デフォルトの名無しさん:2014/06/10(火) 00:52:53.88 ID:n6nt8lTt
VB.netの&演算子はC#の&演算子とは完全に別物で
文字列連結のために特別に用意されているもので、演算子オーバーロードできないっぽい
553デフォルトの名無しさん:2014/06/10(火) 00:55:07.79 ID:KjUuulVT
>>552
VBの&はオーバーロードできるよ
開発環境が手元に無いから確認できないけど実際オーバーロードしてみて逆コンパイルしてC#で真似すりゃいけるでしょ
554デフォルトの名無しさん:2014/06/10(火) 00:59:52.12 ID:2X5co1aU
DBがMySQL環境で、Entity Framework 6.1使えている方いますか?
EF5の時は使えていたんですが、NuGetでEF6.1に上げると動かなくなります。

環境は現時点の安定最新版です。
MySQL Community Server v5.6.19
MySQL Connector/Net v6.8.3

Visual Studio 2013 for Desktop
Entity Framework 6.1
555デフォルトの名無しさん:2014/06/10(火) 01:16:45.95 ID:n6nt8lTt
>>553
マジでか、すまんかった
間違ったこと言った責任とって調べた

 Public Shared Operator &(ByVal c1 As TestClass, ByVal c2 As TestClass)
  ↓(ILSpyで変換)
 public static TestClass op_Concatenate(TestClass c1, TestClass c2)

だった
本当にこれでいけるのかは試してない
556デフォルトの名無しさん:2014/06/10(火) 01:27:32.21 ID:BT9KrIEa
普通にできなかった
557デフォルトの名無しさん:2014/06/10(火) 01:49:31.19 ID:bjbUofEp
VBの&って文字列連結だからC#なら+でしょ。
558デフォルトの名無しさん:2014/06/10(火) 08:30:29.07 ID:EKnfAxMx
VBも+で文字列連結できるよ
559デフォルトの名無しさん:2014/06/10(火) 13:25:42.56 ID:/4O+l1zU
>>558
VBの+演算子は算術加算限定じゃなかったか?
560デフォルトの名無しさん:2014/06/10(火) 13:28:29.83 ID:/4O+l1zU
>>559
ああ訂正、それVB6だった
561デフォルトの名無しさん:2014/06/10(火) 13:29:51.58 ID:2sY7VkH2
文字同士なら連結だが、数値と文字だと数値に変換
562デフォルトの名無しさん:2014/06/10(火) 13:32:07.84 ID:nKuteccO
>>559
少なくともVB7以降はそうじゃないね。
VB6時代はそうだったかもしれない。

Dim i as Integer
i = "1" + "2"
563デフォルトの名無しさん:2014/06/10(火) 20:11:33.33 ID:M/GEUruD
文字同士なら連結、数値と文字でも文字で連結:JAVA
564デフォルトの名無しさん:2014/06/11(水) 02:14:40.74 ID:HwXAU8IT
VB6.0 -> C# -> Objective-C(C) -> C++(C) -> Cって変な順番で習得して思ったのは、CやObjective-Cはこの中じゃ言語仕様が特に綺麗だと思う
まぁ俺の好みなんだろうけどC/C++の標準ヘッダや関数/クラス・メソッドの暗号みたいな命名規則が気に入らない
そういう意味ではC#とObjective-Cは好きだな、VBはさっさと消えて欲しい、インタプリタならJsかLispでいいだろと
565デフォルトの名無しさん:2014/06/11(水) 03:07:06.87 ID:A/uACQuu
・・・まさかVB.netの話題が出てたからそれを書きに来たのか?
突っ込みどころは置いとくとして、過去のVBの文法引きずってるからな-、VB.netは
566デフォルトの名無しさん:2014/06/11(水) 09:53:19.61 ID:W/LISrOe
使い手が過去のVBのお作法を引きずってるから仕方ない
567デフォルトの名無しさん:2014/06/11(水) 10:01:10.64 ID:8AshOYa2
jsは消えてもらいたい言語の1つだな。まだvb6の方がいい
568デフォルトの名無しさん:2014/06/11(水) 10:05:10.60 ID:sPSulid0
そっすね
569デフォルトの名無しさん:2014/06/11(水) 11:14:42.90 ID:uU+evxcb
コントロール配列だけ引きずって貰いたかったかな
C#でも出来るけど、定義すんのが面倒なだけだがw
570デフォルトの名無しさん:2014/06/11(水) 11:59:25.23 ID:2Y1DMFnq
コントロール配列もどきならコンポーネントで作れそう
要するにデザイナ上で設定したいって事だろ?
571デフォルトの名無しさん:2014/06/11(水) 16:55:16.67 ID:yDLT5FuX
そういやVBScriptと言う、js紛いのweb言語が有ったな
572デフォルトの名無しさん:2014/06/11(水) 18:07:48.90 ID:GceqAxVK
VBSはちょっとしたツールを作るのに便利。
HTAを使ってGUIも作れるし。
C#を知ってからは使ってないけど。
573デフォルトの名無しさん:2014/06/11(水) 22:35:37.83 ID:6Kwwqqne
Controlクラスの、Tagプロパティについて教えてください。
MSDNには、「 Object クラスから派生した任意の型をこのプロパティに割り当てることができます。」
となっていますが、実際にはOjbectクラスと無関係(ですよね?)のint型やstring型、あるいは自作したクラスも格納できました。
この利用法に問題はありませんか?
MSDNではDataSetクラスの格納が例として上がっていましたが、それほど大きくないデータを関連づけるためには冗長なので他にもっと手頃なものはないかと思った次第です。
574デフォルトの名無しさん:2014/06/11(水) 22:39:29.33 ID:Qf25eK9T
この利用法ってどの利用法よ。
575デフォルトの名無しさん:2014/06/11(水) 22:42:28.54 ID:6Kwwqqne
intでもstringでも自作クラスでもなんでも好きなものをTagプロパティに自由に格納するということです
576デフォルトの名無しさん:2014/06/11(水) 22:43:43.60 ID:+K6AGXZI
Tagには何でも入れられるし使い道は自由だよ
勘違いしてるようだけど、int(=System.Int32)もstring(=System.String)も
正真正銘Objectから派生してる型だ
577デフォルトの名無しさん:2014/06/11(水) 22:46:13.66 ID:QBBxpOph
ボクシングが発生するから正真正銘ではないな
578デフォルトの名無しさん:2014/06/11(水) 22:53:34.13 ID:6Kwwqqne
intもObjectからの派生でしたか。
MSDNを見るとSystem.Int32構造体となっていた(構造体は継承できないと思っていた)し、継承階層の表示もなかったので全くの別物かと思っていました。
改めて読んでみると、「ただし、構造体は、基本クラス Object から継承します」となっていました。
まだまだ分からないことばかりです。どうもありがとうございました。
579デフォルトの名無しさん:2014/06/11(水) 23:06:37.26 ID:2Y1DMFnq
JAVAからだとそうなるよな
580デフォルトの名無しさん:2014/06/12(木) 00:24:39.51 ID:CjKbwd5q
すべてのオブジェクトはObjectを継承してるからな
581デフォルトの名無しさん:2014/06/12(木) 01:39:10.05 ID:ru410uNQ
Objectは特別扱いされて、すべてのクラス、構造体が自動で継承するんだ
582デフォルトの名無しさん:2014/06/12(木) 01:54:33.24 ID:qa6CF3m/
Objectが特別扱いというより、何も書かなくてもコンパイラがObjectを勝手に継承しやがるだけ
583デフォルトの名無しさん:2014/06/12(木) 16:07:24.80 ID:D5bAk+jd
質問に答える気はないが
回答者にはつっかかるようなクズは死んでほしいわ
荒らしたいだけだろ暇人
584デフォルトの名無しさん:2014/06/12(木) 19:42:00.14 ID:ru410uNQ
>>582
いや、本来継承できない構造体とかに関して特別扱い
585デフォルトの名無しさん:2014/06/12(木) 19:49:01.24 ID:9e84SzyF
構造体は継承できないけど
構造体が継承しないとは言ってない
586デフォルトの名無しさん:2014/06/12(木) 19:58:28.99 ID:bcrYi6YI
System.Object
 System.ValueType
 System.Enum
などの特殊オブジェクトは特別な扱いを受ける。
値型をSystem.Objectにキャストすると
Boxingが発生するのも特別な扱いのひとつ。
587デフォルトの名無しさん:2014/06/12(木) 23:12:01.14 ID:B0CvGPBm
>>480
どうも。caperのコードが割と綺麗なのでちょっと試してみます。
588デフォルトの名無しさん:2014/06/12(木) 23:15:01.17 ID:qa6CF3m/
>>586
そりゃ値型が特別扱いされてるんだろ
それらの型自体はごく普通のクラスだ
589デフォルトの名無しさん:2014/06/12(木) 23:24:27.96 ID:3rnVvsOv
割り込んで悪いけど、そんな言葉遊びみたいな議論は不毛だと思うよ

>>582なんか
>Objectが特別扱いというより、何も書かなくてもコンパイラがObjectを勝手に継承しやがるだけ
そういうのを「特別扱い」って言うんでしょw
590デフォルトの名無しさん:2014/06/13(金) 00:52:12.73 ID:zdHtFa5K
全てのオブジェクトはクラスインスタンスです(キリッ
あーやっぱこれじゃ駄目だわクラスインスタンス以外もオブジェクトにするから特例作るわ←今ココ
591デフォルトの名無しさん:2014/06/13(金) 01:16:18.57 ID:pzu8O4Da
無毛 vs 不毛 燦然と輝くのはどっちだ?
592デフォルトの名無しさん:2014/06/13(金) 01:26:53.26 ID:XqUvQWBu
>>590
なにそのJava
593デフォルトの名無しさん:2014/06/13(金) 01:28:42.36 ID:LNTEhAE2
>>588
C#のコンパイラがそういってるのだが

--
public class PointX : System.ValueType { }

test3.cs(x,14): error CS0644: 'PointX' は特殊クラス 'System.ValueType'
から派生することはできません。
594デフォルトの名無しさん:2014/06/13(金) 04:15:41.27 ID:NyYR57YE
>>593
コンパイラのメッセージは知らんが言語仕様ではValueType はクラスでも
そのPointXはクラスじゃないだろ
595デフォルトの名無しさん:2014/06/13(金) 06:46:07.37 ID:XqUvQWBu
>>594
どう見てもクラスだが
596デフォルトの名無しさん:2014/06/13(金) 07:07:45.71 ID:VHy2pFpN
またくだらねえプライドのバーゲンやってるな
597デフォルトの名無しさん:2014/06/13(金) 07:17:26.14 ID:iVOVosq6
C++/CLIの話する?
598594:2014/06/13(金) 08:35:12.40 ID:oH4BjjWV
>>595
どこを見たのかは知らないが、
ISO/IEC 23272の11章(Types)17章(Classes)18(Structs)では
classキーワードで宣言されたものがクラス
structキーワードで宣言されたものが構造体と定義されている。
値型はクラスじゃない。
ECMA 334も章番号同じ、
マイクロソフトのC#第5版でも章番号は違うが同じ定義
599594:2014/06/13(金) 09:29:05.23 ID:9+pfgQ0i
すまんがなんか寝ぼけたことを言った。
>>598は忘れて
600デフォルトの名無しさん:2014/06/13(金) 10:34:26.71 ID:y1Qyp9tk
言語が違えば出来たりもする。
J#で構造体(値型)を宣言する場合
public final class PointX extends System.ValueType
{
  public int x; public int y;
}
ただしfinalにしないとコンパイルエラーになる。
601デフォルトの名無しさん:2014/06/14(土) 02:20:35.45 ID:8iymRNAM
指定したアプリが起動中に条件分岐に進めたいんですけどうまくいかない
private void timer1_Tick(object sender, EventArgs e)
{
Process[] processList = Process.GetProcessesByName("test");
foreach (Process p in processList)

if (Process.GetProcessesByName("test").Length < 1)
{
comboBox1.Enabled = false;
}
else
{
comboBox1.Enabled = true;
}
これがうまいことfalseとtrueになりません
602デフォルトの名無しさん:2014/06/14(土) 07:13:32.25 ID:p62q1OI9
>うまくいかない

ここはオマエの日記じゃないから
二度と来るな
603デフォルトの名無しさん:2014/06/14(土) 13:37:50.55 ID:ZOlQBbWj
>>602
質問に答えられないなら書き込むなカス
604デフォルトの名無しさん:2014/06/14(土) 13:43:32.12 ID:4PztA4AW
質問なんて誰もしてない
605デフォルトの名無しさん:2014/06/14(土) 14:27:47.86 ID:0kQq+Pat
自分にとって都合のいいようにしか物事を受け取れないようですね
さぞかし生きにくいでしょうなあww
606デフォルトの名無しさん:2014/06/14(土) 14:36:51.19 ID:tD9g4MBZ
>>601
マジレスすると、processListが空ならforeach内は実行されない
ループ内でProcess.GetProcessesByName("test").Length < 1 を判定しているが何を意図しているのか分からない
ループ中に当該プロセスが終了することを想定しているのか?

このコードであれば
ループに入ったならばほぼ常にcomboBox1.Enabled = true;が実行されると予想される
607デフォルトの名無しさん:2014/06/14(土) 15:14:27.56 ID:Q5EcVN9n
>>601
うーんもっと確実な方法を提案したいが状況が分からないからな
608デフォルトの名無しさん:2014/06/14(土) 15:17:47.02 ID:8iymRNAM
>>606
ありがとうございます。この例では「test.exe」が実行されるのをタイマーで監視して
プロセスリストで取得できた場合にcomboBox1を使えるようにするといった内容をしようと思っています
609デフォルトの名無しさん:2014/06/14(土) 15:52:52.57 ID:huxF3N6M
foreachをする必要性がない
610デフォルトの名無しさん:2014/06/15(日) 01:28:40.76 ID:BFNsARJM
private void timer1_Tick(object sender, EventArgs e)
{
comboBox1.Enabled = Process.GetProcessesByName("test").Any();
}

これでいいんじゃね
611デフォルトの名無しさん:2014/06/15(日) 02:18:35.51 ID:O96DeclS
無駄なタイマー止めたい
private void timer1_Tick(object sender, EventArgs e)
{
var proc = Process.GetProcessesByName("test").FirstOrDefault();
if (proc != null)
{
checkBox1.Checked = true;
timer1.Enabled = false;
proc.EnableRaisingEvents = true;
proc.Exited += proc_Exited;
}
}

private void proc_Exited(object sender, EventArgs e)
{
this.Invoke((MethodInvoker)delegate
{
checkBox1.Checked = false;
timer1.Enabled = true;
});
}
612デフォルトの名無しさん:2014/06/15(日) 02:25:22.37 ID:O96DeclS
あ、ProcessってIDisposableだね
Dispose呼ばなきゃだめなのか?
613デフォルトの名無しさん:2014/06/15(日) 16:42:22.74 ID:wTZdDnna
建前はそうだよ
614デフォルトの名無しさん:2014/06/15(日) 16:58:58.45 ID:O96DeclS
では一応GetProcessesByName().Any()も.FirstOrDefault()もダメって事で。
615デフォルトの名無しさん:2014/06/15(日) 19:19:11.20 ID:EfrMGo9G
616デフォルトの名無しさん:2014/06/15(日) 20:09:16.72 ID:O96DeclS
>>615
SynchronizingObject使えば>>611のInvokeは不要だったか
勉強になった
617デフォルトの名無しさん:2014/06/16(月) 02:34:37.95 ID:GvXD/dq8
画像に文字列を入れるプログラムを「どぼん」を参考に作成しています。
パターンAでは正常に文字がレンダリングされるのですが
MSのDocumentを見て自分で指定したパターンBではなぜか文字が入りません。
どこに問題がありますか?

パターンA
Brush b = new SolidBrush(Color.FromArgb(128, Color.Yellow));

パターンB
int i_alpha = 0;
int i_red = 10;
int i_green = 20;
int i_blue = 30;
Brush b = new SolidBrush(Color.FromArgb(i_alpha,i_red,i_green,i_blue));
618デフォルトの名無しさん:2014/06/16(月) 03:54:04.69 ID:49dPG2IC
alpha=0
?
619デフォルトの名無しさん:2014/06/16(月) 07:23:10.77 ID:/Roe067F
どぼん(爆)
620デフォルトの名無しさん:2014/06/16(月) 08:12:32.48 ID:Uswy5DFR
先頭の i_ 醜い
書式改めろ
621デフォルトの名無しさん:2014/06/16(月) 08:16:50.20 ID:bUEzrIu3
ハンガリー人め
622デフォルトの名無しさん:2014/06/16(月) 08:43:56.66 ID:4FrQ0m+W
>>617
マルチ氏ね
623デフォルトの名無しさん:2014/06/16(月) 09:41:50.91 ID:+twzbn+R
ブラシ用意しただけで描いてないからだろ
624デフォルトの名無しさん:2014/06/16(月) 10:20:25.39 ID:k9afR4gy
ほんのちょっと前にc#始めたからめちゃくちゃ初心者な質問で申し訳ないんだが
ubuntuでc#のTask.Delayメソッドがコンパイル出来ないんだけどどうやったら出来るようになるか教えてもらえませんか?
625デフォルトの名無しさん:2014/06/16(月) 10:29:12.34 ID:Ee+BMZiC
monoだろうけど、versionいくつ?
626デフォルトの名無しさん:2014/06/16(月) 10:29:27.90 ID:LSNe5S3g
バージョンが足りてないとかそんなんじゃないの
627デフォルトの名無しさん:2014/06/16(月) 10:39:33.11 ID:/pOwGp+n
624ですがバージョン覚えてないです。
今職場なので家に帰ってから報告します。
628デフォルトの名無しさん:2014/06/16(月) 12:52:54.46 ID:+twzbn+R
なんでエラーメッセージを晒さないの?
629デフォルトの名無しさん:2014/06/16(月) 13:06:58.07 ID:hyWduaRc
CTP仕様で作られてるんじゃね
Delayは正式リリースの際に今の仕様になったはず
630デフォルトの名無しさん:2014/06/16(月) 18:48:13.85 ID:3j4vY63c
>>618
ありがとうございます。alpha の数字を変えたらレンダリングされる様になりました!

>>620
黙れ。
631デフォルトの名無しさん:2014/06/16(月) 19:04:36.22 ID:3j4vY63c
>>618
因みにですが このアルファ とは一体何の数字を差しているのでしょうか?
632デフォルトの名無しさん:2014/06/16(月) 19:06:37.42 ID:r97cIDyW
ハンガリアンな上にそんなこと知らないのはどうよw
今時そんなのパソヲタでも知ってるよw
っていうか、少しは自分で調べようよw
633デフォルトの名無しさん:2014/06/16(月) 19:07:57.25 ID:+twzbn+R
Alphablend
634デフォルトの名無しさん:2014/06/16(月) 19:20:51.18 ID:sb3TMdFF
だwwwwまwwwwれwwww
635デフォルトの名無しさん:2014/06/16(月) 19:32:21.15 ID:hbVkRtDG
>>631
ヘルプ見ないの?
Disposeとか絶対してないよね
636デフォルトの名無しさん:2014/06/16(月) 19:43:42.02 ID:LIW+dGkX
ハンガリアンはないわー
スコープ広いならまだしもローカル変数
637デフォルトの名無しさん:2014/06/16(月) 19:45:50.74 ID:tlAgOJvy
プログラミング始めたばかりの頃ってコードに個性出したくなるんだよねw
誰でも通る道だよ
638デフォルトの名無しさん:2014/06/16(月) 19:52:06.66 ID:TmN7arx4
ハンガリアンだとintはiなのか
昔nって言ってる人がいてなんの疑問も持たずにしばらく使ってたな
numberの略だったのかな?
639デフォルトの名無しさん:2014/06/16(月) 19:57:14.41 ID:AkRF+3ij
いまだにszが何の略なのか分からん
640デフォルトの名無しさん:2014/06/16(月) 20:01:29.78 ID:OlFzGfst
ヌル文字で終わる文字列
641デフォルトの名無しさん:2014/06/16(月) 20:06:03.95 ID:q3XGsnWy
.NET的にはSingle-dimensional, Zero-based
642デフォルトの名無しさん:2014/06/16(月) 20:07:03.32 ID:+twzbn+R
ascii zero strings
643デフォルトの名無しさん:2014/06/16(月) 20:23:39.45 ID:QqCnpvcy
>>641
.NET的にはそんなプレフィックスをつける作法はないだろ
644デフォルトの名無しさん:2014/06/16(月) 20:33:05.00 ID:wu5BsLUE
WIN32APIのネーミングルールだから、P/Invokeだとありかもしれない。
えーとなんだっけモンゴリアンチョップ
645デフォルトの名無しさん:2014/06/16(月) 20:33:46.38 ID:q3XGsnWy
646デフォルトの名無しさん:2014/06/16(月) 21:30:55.29 ID:0qdMNCZ4
なぜボケが通用すると思ったのか
647デフォルトの名無しさん:2014/06/16(月) 23:53:52.82 ID:TN9L7soJ
ハンガリアンの方がどう考えてもコード見易いだろ。
648デフォルトの名無しさん:2014/06/16(月) 23:57:47.93 ID:/Roe067F
文字列変数にstrとか、ロング変数にlngとか付けるバカは死ぬべき。
649デフォルトの名無しさん:2014/06/16(月) 23:58:16.44 ID:unChfGRL
ハンガリアンは見にくい
.NETではしかも使うなとされている
650デフォルトの名無しさん:2014/06/17(火) 00:21:27.58 ID:F4PcsjSJ
初心者はハンガリアンの方が理解しやすい
651デフォルトの名無しさん:2014/06/17(火) 00:26:30.28 ID:EpNAUWF1
>>650
なぜ?
652デフォルトの名無しさん:2014/06/17(火) 00:31:31.59 ID:pw5jEtJ2
ハンガリー人が多いから
653デフォルトの名無しさん:2014/06/17(火) 01:51:47.46 ID:Xb59l5TK
>>649
>ハンガリアンは見にくい

それシステムハンガリアンの方だよね。
654デフォルトの名無しさん:2014/06/17(火) 02:30:02.25 ID:Jq8rsAbt
いちにーハンガリアン
655デフォルトの名無しさん:2014/06/17(火) 03:30:21.37 ID:8jTlL64M
インターフェースにIをつける奴って・・・
656デフォルトの名無しさん:2014/06/17(火) 03:35:34.92 ID:fHqMTh4Q
ハンガリアンで書くならこの場合、c_ か cl だ。
システムハンガリアンはMSも推奨していないだろ。
657デフォルトの名無しさん:2014/06/17(火) 03:45:38.86 ID:CcZMCSaM
MSはそういうところが邪悪なんだよ
658デフォルトの名無しさん:2014/06/17(火) 06:25:40.74 ID:AnCy6KYo
ハンガリー人はポーランド並みの不当な差別を受けている
659デフォルトの名無しさん:2014/06/17(火) 11:28:31.82 ID:RjlB/Rz4
MS<ハンガリアンを使え
MS<ハンガリアンを使うな
660デフォルトの名無しさん:2014/06/17(火) 11:55:45.18 ID:U1SXeX/B
メンバーフィールドにm_をつけるのはどうなのよ
thisつける派だからm_は邪魔でしかない
661デフォルトの名無しさん:2014/06/17(火) 12:05:24.40 ID:pTTvqMp4
private/internalなら好きにしろよ
662デフォルトの名無しさん:2014/06/17(火) 12:16:15.76 ID:Mq+QjSjc
変数の末尾に$とか付けて型を指定できるVB6最強だな
663デフォルトの名無しさん:2014/06/17(火) 13:41:35.90 ID:ysbW89Wn
アプリケーションハンガリアンもいらないから。

フィールドとかプロパティのバッキングフィールドとか、ごく少数の例外にだけプロジェクト横断的なルールを決めて
プリフィクスを付けるのはそれなりに有効だと思うが、あれもこれもプリフィクスを付けるのは有害無益。
664デフォルトの名無しさん:2014/06/17(火) 18:17:57.42 ID:wKhBaSU6
少なくとも1画面に収まる範囲なら絶対不要だし、そうでなくてもIDEの補助があれば間違えない
665デフォルトの名無しさん:2014/06/17(火) 18:27:51.11 ID:AlynCjr8
インテリセンスあるから多少コード長くなるのは問題ない
コードが理解しやすいというメリットが上回るならプレフィックスは有用

コントロールはprefixつけてるな
666デフォルトの名無しさん:2014/06/17(火) 18:41:50.64 ID:wKhBaSU6
俺もコントロールはつける
タブとかメニューでもMenuEditCutみたいにタブやメニューの名前を先頭につけちゃう
667デフォルトの名無しさん:2014/06/17(火) 19:28:32.46 ID:mhyixHZl
ふつうにCutMenuだな
668デフォルトの名無しさん:2014/06/17(火) 20:30:34.05 ID:EENkvoqd
俺の場合は
「NameTextBox」みたいに後ろに種類を置いてる
669デフォルトの名無しさん:2014/06/17(火) 20:33:23.58 ID:F4PcsjSJ
C#のデフォルトの命名に従ってる
670デフォルトの名無しさん:2014/06/17(火) 21:49:20.90 ID:U1SXeX/B
ToolStripMenuItemはtsmiだよな?
671デフォルトの名無しさん:2014/06/17(火) 21:51:18.59 ID:mhyixHZl
CutToolStripMenuItem
672デフォルトの名無しさん:2014/06/17(火) 21:58:20.88 ID:AnCy6KYo
CutMenuItem
673デフォルトの名無しさん:2014/06/17(火) 22:00:24.54 ID:y0D5RDdZ
キャメルじゃなくてPASCALなのか
674デフォルトの名無しさん:2014/06/17(火) 22:07:06.20 ID:U1SXeX/B
tsmiCut
675デフォルトの名無しさん:2014/06/18(水) 00:28:35.94 ID:LUJX2Il4
インテリセンスのきかせかたによるな
いろんな種類のコントロールがあるなら
コントロールの種類先につけたほうが探しやすくなるし
676デフォルトの名無しさん:2014/06/18(水) 03:59:36.82 ID:8AGe2LGW
ハンガリアンの変なところは、変数にはプレフィックスを付けるのに関数には付けないところ。
だったら最初から付けなくてもいいじゃんと。
677デフォルトの名無しさん:2014/06/18(水) 07:01:33.89 ID:R7ypH+vG
C的なスタイルだと多くの場合関数に渡す引数は変数で
戻り値も変数に代入するから変数だけで十分なんだよ
APIだと戻り値はだいたいエラーコードだし
678デフォルトの名無しさん:2014/06/18(水) 07:34:21.42 ID:Iy22NpBK
関数は動詞+名詞がWindnwsスタイルだな。OpenCuntみたいに。
679デフォルトの名無しさん:2014/06/18(水) 08:04:01.46 ID:iGRwAy9q
開いちゃらめぇ
680デフォルトの名無しさん:2014/06/18(水) 12:14:57.98 ID:OIo0+8Dn
キモヲタって何で何やってもいちいちキモヲタ丸出しなんだろうな。気色悪い。

Cはファイルスコープとグローバルの間のスコープがないんだから、プリフィクスで
名前空間を作らないと実用的なプログラムは書けないと思うけど。

これは普通ハンガリアンとはみなされないとは思うが。
681デフォルトの名無しさん:2014/06/18(水) 12:26:26.87 ID:xWiVoHpz
>名前空間を作らないと実用的なプログラムは書けないと思うけど。
えっ?
682デフォルトの名無しさん:2014/06/18(水) 12:34:34.56 ID:OLkNGePC
なんでキモオタをダシにしないとモノも言えないんだろうね。
683デフォルトの名無しさん:2014/06/18(水) 12:40:26.55 ID:/rF2Lvwp
ややキモオタだから
684デフォルトの名無しさん:2014/06/18(水) 13:55:22.82 ID:8AGe2LGW
>>680
なにコイツ、ネームスペースとハンガリアンごっちゃにしてんの?
馬鹿なの?タヒぬかもなw
685デフォルトの名無しさん:2014/06/18(水) 16:41:18.02 ID:9htJbpaL
>>676
受ける変数で型がわかるから不要なのかもね。
ローカル変数なら近くで宣言しているんだから
すぐに分かるはずだと・・・varを使うC#はちょっと違うが
686デフォルトの名無しさん:2014/06/18(水) 16:55:24.52 ID:VNPzpdIy
マウスのせればでるから大丈夫
687デフォルトの名無しさん:2014/06/18(水) 20:27:31.50 ID:2sj5eCvL
C#で一つのソリューションに複数のプロジェクトがあるのですが、
単純にソリューションのリビルドを実行すると、
 警告 22  この参照を解決できませんでした。アセンブリ "XXXXX" が見つかりませんでした。アセンブリが間違いなくディスクに存在することを確認してください。
みたいなのが沢山出てエラーするのに、
ソリューションのクリーンをやったあとでリビルドすると問題なく行くんですが、何が悪いんでしょうか?こんなの初めてです。
688デフォルトの名無しさん:2014/06/18(水) 20:34:23.58 ID:+pFqjYj0
>>687
何をやったらそうなった?
問題が発生する前の状態に戻せないの?
689デフォルトの名無しさん:2014/06/18(水) 20:50:59.27 ID:iGRwAy9q
あーその状態になったことあるわ
たしかWindows API Code Packかなんかの一部をビルドしようとしたときかな

どうやって解決したか忘れたから思い出すまでちょっと待って
690デフォルトの名無しさん:2014/06/18(水) 20:58:59.83 ID:2sj5eCvL
>>688
デバッグを中止して、ソースを一部修正して、そしてリビルドすると、エラー多発します。
そこでクリーンしてからリビルドをすると問題なく行きます。
ちなみに、デバッグ中止して、ソースを修正せずに、リビルドしても、同じエラー多発します。
ということで、リビルドやビルドをする前に必ずクリーンをしなくてはならない状態になってしまいました。
>>689
情報待ってます。よろしく。
691デフォルトの名無しさん:2014/06/18(水) 21:28:32.35 ID:+pFqjYj0
>>690
いやだから、ソリューションにそのトラブルが発生しない状態だった時があるわけでしょ。
そこから何をどうしたらトラブルが発生するようになったのかと。

まあ、たぶん参考にならないと思うけど、以前VS2005(.NET 2.0)のソリューションを
VS2012のに変換した時、似たような状況に遭遇したような気もする。(記憶がはっきりしない)

その時のトラブルの原因は、なぜかソリューションに.NET 2.0と.NET 4.5のプロジェクトが
混在する状態になったためだったように思った。
692デフォルトの名無しさん:2014/06/18(水) 22:17:47.27 ID:Ls9SsycK
>>685
いやでも Win32API の頭に :: がついているのは便利だし‥
693デフォルトの名無しさん:2014/06/18(水) 22:20:39.96 ID:R7ypH+vG
えっ
::ってC#にもある「演算子」なんですが…
694デフォルトの名無しさん:2014/06/18(水) 22:30:31.35 ID:xWiVoHpz
c#で先頭に::付けれるのか?
695デフォルトの名無しさん:2014/06/18(水) 22:38:46.79 ID:4WVDv3Qd
>::ってC#にもある「演算子」なんですが

どうしてこう、息を吸って吐くようにウソがつけるんだろうか
696デフォルトの名無しさん:2014/06/18(水) 22:45:40.31 ID:uTbHo7g3
半島人の血が混じってるから
697デフォルトの名無しさん:2014/06/18(水) 22:51:52.32 ID:R7ypH+vG
http://msdn.microsoft.com/ja-jp/library/htccxtad.aspx
先頭には付けられずglobal::の形で使うけどC++で先頭に付けた場合と意味は同じだよ
698デフォルトの名無しさん:2014/06/18(水) 22:59:02.53 ID:3zsV3GA5
嘘吐き呼ばわりしてた奴が嘘吐きだったというオチか
699デフォルトの名無しさん:2014/06/18(水) 23:00:44.52 ID:y5UbyY+o
なるほど嘘のソースはわかった
そのページのリンク先にある言語仕様書の
2.4.5と7.3と9.7を読め。::は演算子じゃない
700699:2014/06/18(水) 23:01:49.92 ID:y5UbyY+o
ちなみに>>695は俺
701デフォルトの名無しさん:2014/06/18(水) 23:15:17.27 ID:wztzGlgV
702デフォルトの名無しさん:2014/06/18(水) 23:16:48.65 ID:R7ypH+vG
>>699
2.4.5にある通り、字句解析上はどう見てもOperatorだよね
7.3は「式」の構成要素としてのOperatorの話であって、
それ以外が演算子でないことにはならないよ
まあそこは譲るとしても、「息を吸って吐くようにウソを吐いている」とまで言うのは無理があるのは自分でも解ってるよね?
703デフォルトの名無しさん:2014/06/18(水) 23:27:51.00 ID:y5UbyY+o
>>702
たったの3行ぐらいきちんと読めないのか
2.4.5を読んだら演算子でなくて区切り記号だとわかるだろアホ
704デフォルトの名無しさん:2014/06/18(水) 23:28:19.52 ID:Ld7aPKgm
>>697のページの一番上に「:: 演算子」って書いてあるんだけど、MSが間違ってるって話?
705デフォルトの名無しさん:2014/06/18(水) 23:40:57.63 ID:y5UbyY+o
>>704
そのとおり
ちなみに「::演算子」という不適切なタイトルではあるけれど
::が演算子だとはひとことも書かれていないし
リンク先のC#演算子の一覧にも::は出てこない
706デフォルトの名無しさん:2014/06/18(水) 23:40:59.08 ID:xhl3f7N3
タイトルだけ間違ってんじゃね?
このリファレンスだと「C#演算子」というカテゴリに演算子と構文要素まとめて書いてるみたいだし。
707デフォルトの名無しさん:2014/06/19(木) 01:06:21.93 ID:6q/EJbCK
そんなもん間違うかよw
C#2.0で::を追加したときの紹介から公式に演算子と呼んでたわ
メンバ選択の.と同様、こういうのを便宜的に演算子と呼ぶのは全然珍しくない
708デフォルトの名無しさん:2014/06/19(木) 01:32:35.72 ID:8jNSzAvz
トークンとしては演算子なんじゃないの
709デフォルトの名無しさん:2014/06/19(木) 04:01:21.38 ID:L9Rz5OFW
>>707
>公式に演算子と呼んでた
その呼び方がECMAの定義と違うから間違いなんだろ

>>708
トークンとしてはpunctuatorというのが>>703の2.4.5
710デフォルトの名無しさん:2014/06/19(木) 07:18:38.53 ID:6q/EJbCK
MSが演算子と呼んで言語仕様書もMSが書いてるのに間違いって…
言語仕様書を書く上で、式の構文解析において独立したトークンとして扱われるものをOperator、
それ以外のトークンをPunctuatorとして呼び分けると説明しやすいから呼び方を区別してるんだと思うよ
Mono開発陣ですらoperatorと呼んでる
711デフォルトの名無しさん:2014/06/19(木) 07:48:03.64 ID:lczocJvi
>>709
> その呼び方がECMAの定義と違うから間違いなんだろ

MS のオレオレ言語なんだから MS の方が正しいに決まってるだろ (w
712デフォルトの名無しさん:2014/06/19(木) 08:07:01.13 ID:/ASef/rW
MSもミスだらけだから闇雲に信じるとヤバイぞ
::は広義には演算子。ただし狭義な演算子では含まない。つまりどっちもあってるよ
713デフォルトの名無しさん:2014/06/19(木) 08:08:46.01 ID:OzKlqkV/
>>711
おまえは本当に頭が悪いな
そのマイクロソフトの説明>>697に言語仕様(マイクロソフトの文書)へのリンクがあって
そこでは演算子でないと定義されてるんだよ
714デフォルトの名無しさん:2014/06/19(木) 08:16:59.05 ID:6q/EJbCK
::の説明ページが::区切り文字というタイトルだったら意味不明だろ
それ単体で見る場合は::は何らかの機能をもつ独立した要素であると考えるわけで、
C#を使う人のための解説としては、それを演算子と呼ぶのはごく自然なこと
言語仕様はコンパイラ実装者の都合が多分に含まれてるから、それもあくまで一つの見方
いろんなメンバアクセスの方法を紹介するページがMSDNにあったとして
その中で::を使った特定も可能だよという紹介をするんなら区切り文字と呼ぶのもアリだろうね
715デフォルトの名無しさん:2014/06/19(木) 08:45:11.54 ID:Q7lGPJPf
>>713
> そのマイクロソフトの説明>>697に言語仕様(マイクロソフトの文書)へのリンクがあって

リンク切れしとるがな (w

> そこでは演算子でないと定義されてるんだよ

どこでどういう風に書いてるか書いてみ
716デフォルトの名無しさん:2014/06/19(木) 08:49:05.35 ID:O1EHJn48
その説明ページ本文じゃあ演算子とは呼んでないんだよね。他の演算子と違って。
まぁ、「()演算子」というページにキャストとメソッド呼び出しと演算順序の指定を
まとめて書いているあたり、言語の定義と厳密に一致しているわけじゃないんだろう。
717デフォルトの名無しさん:2014/06/19(木) 11:37:10.23 ID:Yp/bQYp0
構文解析上は演算子(正確には演算子または区切り子)
意味解析上は区切り子
でいいだろ
718デフォルトの名無しさん:2014/06/19(木) 11:39:22.24 ID:Yp/bQYp0
よく考えなくても全然よくねぇなw
719デフォルトの名無しさん:2014/06/19(木) 15:35:17.40 ID:g4cuM2f2
もういいよ
720692 ◆QZaw55cn4c :2014/06/19(木) 18:56:57.99 ID:BRW9+QBS
久々に大漁だぁ
721デフォルトの名無しさん:2014/06/19(木) 19:16:55.63 ID:inPorKag
そんなので「してやった」とか思えるんだから安上がりでいいね。

っていうか、自意識(自分で自分をどう思うか?)が欠如してるって、中二どころか
小5ぐらいで成長止まってるんだなマジで。きっと言ってもわかんないと思うけど。
722デフォルトの名無しさん:2014/06/19(木) 19:18:57.18 ID:g4cuM2f2
もういいってんだろキチガイ
723デフォルトの名無しさん:2014/06/19(木) 19:19:48.27 ID:8sbENQEG
基地外クソコテに餌を与えないでください
ホゲコピペで荒らされたらたまらん
724デフォルトの名無しさん:2014/06/19(木) 19:22:16.81 ID:6VFgJPYf
Qzは宿題スレのころ俺はわりと応援してたんだけど、
トリがばれてからどうも本人じゃない気がする。
オリジナルの人がまた新トリでやりなおしてくれるんなら、
Qzのほうは完全無視できるんでいいんだが。
725デフォルトの名無しさん:2014/06/19(木) 19:35:58.67 ID:k6y9FCW4
いやそういうのいいから
726デフォルトの名無しさん:2014/06/19(木) 21:32:55.96 ID:diKf3rDK
自爆とはいえマイクロソフトに騙されると
ムカついて引っ込みがつかなくなっちゃうよね。
727デフォルトの名無しさん:2014/06/20(金) 00:41:37.77 ID:k1EBtsvy
何も演算しないのに演算子なんて呼ばないよ。
728デフォルトの名無しさん:2014/06/20(金) 00:58:23.13 ID:BHdSX6TL
どこまでわかって言ってるのかアレだけど、演算子って訳語だからねえ...
文字通り演算だと思っちゃうのもどうかと思うが
729デフォルトの名無しさん:2014/06/20(金) 01:00:48.68 ID:0xX0KiXW
C#での::なんて寡聞に聞いたこと無いけど制御文字ってこと?
730デフォルトの名無しさん:2014/06/20(金) 01:01:19.13 ID:0xX0KiXW
寡聞にして
731デフォルトの名無しさん:2014/06/20(金) 01:14:08.82 ID:ToqjKG1q
>>727
:: が演算子なのはC++だな
演算してないけど演算子ということになっている
732デフォルトの名無しさん:2014/06/20(金) 01:15:50.59 ID:ToqjKG1q
>>729
そりゃ「名前空間エイリアス修飾子」だからねぇ
まず名前空間エイリアスを使ってる奴を見たことがない
733デフォルトの名無しさん:2014/06/20(金) 07:02:23.17 ID:M/JwZqVI
global::は自動生成コードでは結構使われてる
734デフォルトの名無しさん:2014/06/20(金) 07:06:31.36 ID:9V93ZEyq
というか自動生成コード用に追加されたもんだし
735デフォルトの名無しさん:2014/06/24(火) 22:14:59.17 ID:1gh2RT2i
Cevioの外部連携に四苦八苦しています。この資料だけではよくわからない。
http://guide2.project-cevio.com/interface/dotnet
736デフォルトの名無しさん:2014/06/24(火) 22:32:01.26 ID:xMl24eQh
COMの方にサンプルがあるけど
737デフォルトの名無しさん:2014/06/24(火) 22:44:28.55 ID:1gh2RT2i
C++とVBSのサンプルなんですが。C#はなんでサンプルないんだろ?
738デフォルトの名無しさん:2014/06/24(火) 22:59:46.45 ID:xbI6CMxm
まあ仕様見るかぎりオマケみたいなもんだろ
手間かけたくなかっただけとちゃう
739デフォルトの名無しさん:2014/06/25(水) 05:46:04.03 ID:DEfK/PmW
よくわからないと言われても
どこが分からないのか分からない
740デフォルトの名無しさん:2014/06/25(水) 06:23:15.84 ID:Ji9U0alU
値やテキストをAPIにどう入れるかがわからないです。
741デフォルトの名無しさん:2014/06/25(水) 07:35:49.05 ID:651B45la
10年くらい早い
742デフォルトの名無しさん:2014/06/25(水) 08:58:50.85 ID:0un0/TF8
ぐぐれ
もしくはvbsで作って呼べw
743デフォルトの名無しさん:2014/06/25(水) 09:06:34.42 ID:jtRedncf
知恵袋やらMSDNフォーラムやらふらっとスレやらと
なかなか手広くやっていらっしゃるようで
744デフォルトの名無しさん:2014/06/25(水) 09:10:14.76 ID:0un0/TF8
宣伝なのかもしれないな
745デフォルトの名無しさん:2014/06/25(水) 09:24:46.58 ID:Ji9U0alU
プロパティの自動設定というのを理解するとできるんでしょうか?
746デフォルトの名無しさん:2014/06/25(水) 09:44:55.51 ID:Uj2WUjFk
>>745
いやいやwあなたマナー違反なのよ
http://ja.m.wikipedia.org/wiki/マルチポスト
747デフォルトの名無しさん:2014/06/25(水) 10:01:22.31 ID:Ji9U0alU
そうだったのか。目が㌧です。
748デフォルトの名無しさん:2014/06/25(水) 10:03:21.42 ID:Ji9U0alU
掲示板なんて久しぶりに使うから失念していました。申し訳ない。
749デフォルトの名無しさん:2014/06/25(水) 10:07:55.53 ID:Ji9U0alU
別スレでは氏ねとまでいわれましたが、大変なことをしてしまったのですね。申し訳ない。
750デフォルトの名無しさん:2014/06/25(水) 10:13:23.13 ID:els1l+9l
質問です。
現在登録されているWindosサービスとその実行パスの一覧を取得するにはどうすればよいでしょうか。
既に実行されているサービスであれば、そのサービスに紐付いているプロセスから取得可能ですが、
まだ開始されていないサービスの実行パスも取得したいです。

何か良い方法はないでしょうか。サービス管理画面(GUI)からは実行パスは見れるのですが。。。
751デフォルトの名無しさん:2014/06/25(水) 10:26:03.86 ID:0un0/TF8
サービスの列挙 c#
でぐぐれば一覧は一発じゃん。exeはレジストリからとれるんじゃね?
752デフォルトの名無しさん:2014/06/25(水) 10:30:03.58 ID:els1l+9l
>>751
 ありがとうございます。サービスの列挙はServiceController.GetServices();で取得しているのですが、それを元に実行パスの取得方法が分からない状態です。
QueryServiceStatusExを使用すれば関連したプロセスは取得できるのですが、起動していないサービスまで検索する方法が不明ですorz
753デフォルトの名無しさん:2014/06/25(水) 10:37:32.43 ID:0un0/TF8
サービス名がわかったらその名前のレジストリを見れば?
754デフォルトの名無しさん:2014/06/25(水) 10:39:11.81 ID:IMwLZcWP
レジストリ舐めればいいんじゃないの
755デフォルトの名無しさん:2014/06/25(水) 10:51:20.45 ID:DEfK/PmW
>>749
外部連携がどうとかじゃなくて
あなたC#がさっぱりなんじゃないの
756デフォルトの名無しさん:2014/06/25(水) 11:03:42.01 ID:els1l+9l
>>753
>>754
ありがとうございます!!
調べたところ、
ローカルマシン\Syste\CurrentControlSet\Services\サービス名\ImagePath
で取れそうです!助かりました><
757デフォルトの名無しさん:2014/06/25(水) 11:11:00.13 ID:Ji9U0alU
>>755
その通りです。
758デフォルトの名無しさん:2014/06/25(水) 11:16:21.52 ID:Ji9U0alU
ふらっとのほうが適切だったんでしょうか?他のマルチポストはMSDN以外消しましたが。
759デフォルトの名無しさん:2014/06/25(水) 11:30:51.18 ID:0un0/TF8
ついでにここからも消えろ
760デフォルトの名無しさん:2014/06/25(水) 11:32:31.12 ID:651B45la
この世から消えろ
761デフォルトの名無しさん:2014/06/25(水) 17:46:36.18 ID:Ji9U0alU
この世からは消えませんが、このスレからは消えます。ありがとうございました。
762デフォルトの名無しさん:2014/06/25(水) 17:48:31.10 ID:DEfK/PmW
ところでC#ってなんでprivate protectedがないのよ?

public abstract class Foo
{
 protected int bar;   // publicな型だからok
 internal MyNonPublicClass hoge;  // ←これをinternalにするしかない
}

参考
http://msdn.microsoft.com/ja-jp/library/system.reflection.fieldinfo.isfamilyandassembly%28v=vs.110%29.aspx
763デフォルトの名無しさん:2014/06/25(水) 17:58:43.77 ID:jtRedncf
フィールドはprivate前提だから
プロパティならまあ別にinternal範囲で見えてても気にしなけりゃいいじゃん?みたいな
764デフォルトの名無しさん:2014/06/25(水) 18:41:00.86 ID:DArBXCcF
MSってアセンブリ単位のカプセル化は最重要絶対不可侵だけど
アセンブリ内でどうしようがそれは勝手だと考えてるからな
internalとFamANDAssemの違いはアセンブリ内でしか意味を持たないわけで
実用上internalとローカル規約で完全にカバーできるんだから
わざわざ滅多に使わないものを入れて複雑にする必要はないってことなんだろ
765デフォルトの名無しさん:2014/06/25(水) 23:37:46.63 ID:wqBY5tls
マーシャリング理解できて初めてC#できますって言える感じだね
マーシャリング理解の最低限の素養としてC/C++必須だし加えてATLやC++/CLIも必須
いやー.NET奥深いっすわ
766デフォルトの名無しさん:2014/06/26(木) 00:24:37.54 ID:WvTfZojs
小手先の技で一流になったつもりの奴が多すぎる
767デフォルトの名無しさん:2014/06/26(木) 01:16:34.10 ID:KMnvEkpV
別に言語がどうとかどうでもいいし
作りたいものが作れればいい
768デフォルトの名無しさん:2014/06/26(木) 01:39:15.56 ID:83Sizj5n
>>767
そんなセンスあるやつ日本人で見たことないねw
シリコンバレーには大勢いるんだろうけど
逆に技術じゃなくてセンスで比較されたら日本人全滅じゃねーの
UIやUXやデザインに関心持っててセンスあるPGとか日本で見たことないね
769デフォルトの名無しさん:2014/06/26(木) 01:55:43.96 ID:P5riggf4
プログラマもそうだけど、デザイナのセンスの無さも酷い。
綺麗な絵を描くことは出来るけど、UIやUXについてからっきし。
770デフォルトの名無しさん:2014/06/26(木) 07:41:01.06 ID:geX7SJn8
--nologoがデフォルトになってない時点でセンスがない
771デフォルトの名無しさん:2014/06/26(木) 08:25:00.95 ID:4RztB+ny
>>764
なるほどーねー
772デフォルトの名無しさん:2014/06/26(木) 09:10:53.26 ID:sePHMM4S
>>770
それがセンスか・・・
773デフォルトの名無しさん:2014/06/26(木) 09:35:26.75 ID:msTrDRe0
>>769
デザイナにUI任せるなよw
774デフォルトの名無しさん:2014/06/26(木) 10:10:13.37 ID:WvTfZojs
リボンやメトロのことか
775デフォルトの名無しさん:2014/06/26(木) 21:23:46.51 ID:R0dKBSXz
WPのMetroはよく出来てるよ
Windows8(笑)は知らん
776デフォルトの名無しさん:2014/06/27(金) 11:59:19.37 ID:jNloOopG
打線は決して調子よくない
チャンスで打って失点を防いでるのが大きい
777デフォルトの名無しさん:2014/06/27(金) 12:02:12.02 ID:jNloOopG
誤爆した
778デフォルトの名無しさん:2014/06/27(金) 17:20:24.52 ID:zTYF6CEL
あまり違和感ないな
779デフォルトの名無しさん:2014/06/27(金) 18:07:17.09 ID:OaTGkyVN
wpfにチャンスが回ってきた試しがない
学習コストがちょっと高いけど、一度覚えたらFormsに帰れなくなるほど快適なんだけどね

ハマった時はForms以上に地獄に落ちるが
780デフォルトの名無しさん:2014/06/27(金) 18:46:33.86 ID:78das2/q
wpfって重いんじゃないの?
781デフォルトの名無しさん:2014/06/27(金) 18:59:14.68 ID:sqeDZfLY
パソコンのスペックがクソならそりゃ重いだろうな
782デフォルトの名無しさん:2014/06/27(金) 19:16:10.76 ID:sYtO+Y40
レイアウトの計算は重いが、レンダリング自体はむしろ速い気がする。
783デフォルトの名無しさん:2014/06/27(金) 20:02:42.44 ID:w7ZWTzca
業務アプリでwpf使ってる所とかあるの?
784デフォルトの名無しさん:2014/06/27(金) 20:09:33.95 ID:HdXqoDc0
車屋に何個か納品したけど使ってるのかは知らん
785デフォルトの名無しさん:2014/06/27(金) 20:15:55.45 ID:XX+oq55a
UIの応答性で問題あった?
786デフォルトの名無しさん:2014/06/27(金) 20:26:34.99 ID:1YlPfKZb
将来的にRTアプリのウィンドウ化でwpfさんは
お役御免になりそう
787デフォルトの名無しさん:2014/06/27(金) 20:40:18.58 ID:3Oz5JomB
Windows StoreのアプリをC#で開発した場合、
バイナリのソースコードが読めないように変わったりするの?

ストアアプリでもソースコード丸見え?
788デフォルトの名無しさん:2014/06/27(金) 21:36:27.10 ID:fEx0Et++
>>787
.NET Native ってのがある。
789デフォルトの名無しさん:2014/06/27(金) 22:16:04.85 ID:3Ogs4WPv
Androidのアプリはソース丸見えだが、それが普及の妨げになったか?
手間かけてソースを見るほどの価値のあるアプリを作る能力がお前にあるのかどうかが先だ
790デフォルトの名無しさん:2014/06/27(金) 22:22:14.15 ID:dNno0295
俺は自分が書いた下手糞なソースを見られてプギャーされたくないから、
難読化くらいのささやかな抵抗はしたい。
791デフォルトの名無しさん:2014/06/27(金) 22:24:33.60 ID:3Ogs4WPv
大丈夫、そんなのプギャー以前に見向きもされないから
792デフォルトの名無しさん:2014/06/27(金) 22:33:17.22 ID:dNno0295
見向きもされなくてもいいんだ。
俺の精神衛生上の問題だから。
793デフォルトの名無しさん:2014/06/27(金) 22:44:49.08 ID:LD3wW/cg
まあそういう強迫神経症的な性格を直さない限り、他の何かが「精神衛生上の問題」
のトリガーを引くだけなんだけどね。
794デフォルトの名無しさん:2014/06/27(金) 22:52:38.03 ID:3Oz5JomB
>>788
Thanks
.NET Native、名前は聞いたことあったけどStoreではもう実用化されてるのか

.NET NativeでローカルでBuildして
Windows Storeを通さずに自分のHPとかで配布することもできるようになるの?

日本でもSIMロックフリー義務化決定されたようだし
Windows Phoneが普及しそう
C#使いの時代が来た

>>789
ロジック見られるとまずい類のアプリはあるだろう
あと類似アプリとか派生アプリ作られてばらまかれたら大損害だ

>>790
有料のアプリはソースは隠したいよね。
どうでもいいソフトはソースコード公開するけど。
795デフォルトの名無しさん:2014/06/27(金) 22:53:48.78 ID:XX+oq55a
>>793
なるほど
796デフォルトの名無しさん:2014/06/27(金) 22:57:47.88 ID:tav6tDax
ソース見れるくらいまでならいいけど
そこから簡単にプロジェクトまで復元できて
コンパイルまでできるならいやだな
要するにちょっと改造したものを配布できるとか
797デフォルトの名無しさん:2014/06/27(金) 23:06:21.91 ID:3Ogs4WPv
そこまで心配するならC++でも安心できないよ
カジュアルハックの範疇を超えてる
798デフォルトの名無しさん:2014/06/27(金) 23:16:12.31 ID:TlINKJA6
WP?
寝言は寝て言うのがおススメ
799デフォルトの名無しさん:2014/06/28(土) 00:09:31.01 ID:7CN7vrwx
つーかパクリアプリってソース見て作ってるわけじゃないと思うけど
中華は知らんけど
800デフォルトの名無しさん:2014/06/28(土) 00:15:23.33 ID:B3cKFeb2
スマホアプリってアイデア9割で技術的には誰でもすぐ真似できる程度のものが殆どだからね
801デフォルトの名無しさん:2014/06/28(土) 03:23:35.27 ID:lzz4Ho1h
こんにちは、上の方で
ubuntuでc#のTask.Delayメソッドがコンパイル出来ないんだけど
って質問をしたものですが
バージョンがこれで
$ dmcs --version
Mono C# compiler version 3.2.8.0
コンパイルエラーがこれですー。
1second_deley.cs(10,9): error CS0201: Only assignment, call, increment,
decrement, await, and new object expressions can be used as a statement
なんで出来ないんでしょうか?
802デフォルトの名無しさん:2014/06/28(土) 05:41:49.94 ID:jWTwqOBm
cs0201でググればたくさん出てくるんじゃないのか?
803デフォルトの名無しさん:2014/06/28(土) 06:31:08.71 ID:WBXNiQjo
GoogleApps自体がMSOfficeのパクリだわな
804デフォルトの名無しさん:2014/06/28(土) 06:39:47.04 ID:zES9UvXE
.NET Nativeは高速化の問題で難読かはわからんな
普通に申し訳程度の難読化をするしかないんじゃない?
805デフォルトの名無しさん:2014/06/28(土) 11:03:13.84 ID:uR3t7lsu
ラムダ式使えばそれだけでオジサンには難読化
806デフォルトの名無しさん:2014/06/28(土) 11:17:03.51 ID:KBdbqZe/
.NativeってILからマシン語に落ちるから
実質難読化みたいなもんだろ
807デフォルトの名無しさん:2014/06/28(土) 11:42:22.51 ID:B3cKFeb2
リフレクションなどでメタデータが残るから
改造目的ならどこで何やってるか見当付けやすいはず
808デフォルトの名無しさん:2014/06/28(土) 12:04:37.67 ID:S0eBUWjq
キチンと記述された資料があるわけでもないし
妄想すんのは自由だけど期待を抱くべきじゃねえな

逆に言えば
キチンと記述された資料があるわけでもないのに安心できるってことは
君の求めていることは、君自身の脳内ですらその程度の価値なんだよ
809デフォルトの名無しさん:2014/06/28(土) 13:00:03.30 ID:PVx4Yrzb
世の中不完全だからこそ回っているのだ。
810デフォルトの名無しさん:2014/06/28(土) 13:06:57.76 ID:8hlwKjw0
資料が無いとコードを理解できないって?
お前無能すぎるだろ

そういう奴は価値のある物も作り出せないだろうから
何も心配しなくていいんだろうけどさ
811デフォルトの名無しさん:2014/06/28(土) 13:09:59.97 ID:iagTbHZo
>資料が無いとコードを理解できないって?
>お前無能すぎるだろ

むしろこういう奴が間違いなく無能
812デフォルトの名無しさん:2014/06/28(土) 13:13:39.84 ID:S0eBUWjq
俺が誰に対して言っているのかも分かってないみたいだし
脊髄反射するやつのレベルってさもありなん
813デフォルトの名無しさん:2014/06/28(土) 13:17:46.08 ID:S0eBUWjq
無脳むけに注釈を加える

.NET Nativeが難読化を行うかどうか
キチンと記述された資料があるわけでもないし
妄想すんのは自由だけど期待を抱くべきじゃねえな

逆に言えば
.NET Nativeが難読化を行うという
キチンと記述された資料があるわけでもないのに
ネイティブというだけで
安心できるってことは
君の求めていることは、君自身の脳内ですらその程度の価値なんだよ
814デフォルトの名無しさん:2014/06/28(土) 13:30:00.75 ID:XtX3t9MG
自分の言いたいことが誤解されるのは
自分の言葉が足りないせいが90%だからね。
815デフォルトの名無しさん:2014/06/28(土) 13:33:55.77 ID:G9WQirI6
>>813
無能乙


別に難読化ツールじゃないから、難読化はされないw

だが、native部分に関しては>>806の通り。改造に関しては>>807だけど、それはC++でも同じだからたいした問題じゃない
問題はnativeビルドしたらnativeコードしか含まれてないかって点
未対応CPUでも動くように非nativeのも入れてたらそっからソースが見える

確かpreview版公開されてるだろ?それでビルドしてnative以外が含まれてるか調べれば一発で分かるだろ
816デフォルトの名無しさん:2014/06/28(土) 15:32:12.24 ID:CxwGqID5
グダグダ言ってないで自分で解析すればすぐ分かるだろ無能
817デフォルトの名無しさん:2014/06/28(土) 16:49:04.19 ID:jWTwqOBm
人工無脳
なんちって
818デフォルトの名無しさん:2014/06/28(土) 21:34:02.94 ID:nYxs8k1h
>>817
会話ボットみたいに特定の言葉に反応してんじゃねーよってこと?
819デフォルトの名無しさん:2014/06/29(日) 18:16:29.97 ID:gD/Yzg7i
linqわけわからない
動的なsql文作り辛い

C#得意な人にはしっくりくるもの?
820デフォルトの名無しさん:2014/06/29(日) 18:44:49.22 ID:7rmRqrob
他で代替できるなら無理に使う必要はない
言語を使いこなしたいのか、ソフトウェアを作りたいのか、よく考えることだ
821デフォルトの名無しさん:2014/06/29(日) 19:11:55.36 ID:qwIqArxm
SELECT条件やORDER BYの切り替え程度ならIQueryable>StringBuilder>式木の順に楽だと思うがなあ
822デフォルトの名無しさん:2014/06/29(日) 19:14:34.75 ID:gD/Yzg7i
式木wwww
結局理解することなく現場去ります。

本当に申し訳ありませんでした。
823デフォルトの名無しさん:2014/06/30(月) 02:51:43.49 ID:Qrfa8+dQ
コレクションを扱うものだろLINQは
SQLなんか手打ちでいいよ手打ちで
824デフォルトの名無しさん:2014/06/30(月) 07:07:14.56 ID:AE59suyp
LINQ==クエリ構文みたいな理解が多すぎる
825デフォルトの名無しさん:2014/06/30(月) 07:20:10.90 ID:6yl3p4yr
その通りだろ何を言っているんだおまいは
826デフォルトの名無しさん:2014/06/30(月) 07:42:05.23 ID:NEvD+hUX
まあ == じゃないだろうけど、LINQ ∈ クエリ構文 でいいかと
827デフォルトの名無しさん:2014/06/30(月) 10:35:48.02 ID:qldQtFdW
ループ文をコレクションに対する操作に置き換えるものだろ
828デフォルトの名無しさん:2014/06/30(月) 19:10:56.90 ID:oWh5Pwys
IEのキャッシュ(やクッキーも)を1クリックで全て削除するプログラムを作ろうとしていますが
思いの他、難航しています。

一方でこんな機能は誰しも欲しているでしょうし、誰かが既に実装していそうです。

もしそういったコードを公開しているサイトをご存知でしたら教えてください。
829デフォルトの名無しさん:2014/06/30(月) 19:40:00.75 ID:4pn4L5pn
素のIEでも4クリックで消せるのにご苦労なことだ
830デフォルトの名無しさん:2014/06/30(月) 19:41:02.76 ID:YHE91sx1
831デフォルトの名無しさん:2014/06/30(月) 19:48:14.28 ID:3lwG7vbW
>>828
IEでキャッシュと履歴消した後
エクセル開いて
「挿入」
「ハイパーリンク」
ってやってみ
832デフォルトの名無しさん:2014/06/30(月) 19:52:24.22 ID:oWh5Pwys
>>830
既にあったのですね。

>>831
どうなるんですか?
恐らく >>830のコードで実現出来そうなので試してみます。
833デフォルトの名無しさん:2014/06/30(月) 23:20:31.46 ID:Itmm/N0R
FindFirstUrlCacheEntry
DeleteUrlCacheEntry
834デフォルトの名無しさん:2014/07/01(火) 07:27:53.82 ID:4NT6zKWx
質問です。
C#でオブジェクトのメソッドから
自分自身を書き換える事は可能でしょうか?
イメージ的には以下みたいな感じです。

class Hoge{
string s;
void Method(Hoge h){
this = h;
}
}
835デフォルトの名無しさん:2014/07/01(火) 08:23:26.82 ID:TrsnQMpC
できません
836デフォルトの名無しさん:2014/07/01(火) 09:05:59.63 ID:4NT6zKWx
>>835
そうですか。
素直に各メンバーにコピーします。
837デフォルトの名無しさん:2014/07/01(火) 10:02:25.54 ID:LTH8WEGv
つ Clone()
838デフォルトの名無しさん:2014/07/01(火) 11:20:08.69 ID:45icpyH1
DictionaryクラスでSTLのmapで言うところのlower/upper_boundのようなことはできますでしょうか?
839デフォルトの名無しさん:2014/07/01(火) 11:35:15.13 ID:NEy6oeLK
Where使えばいいんじゃね
840デフォルトの名無しさん:2014/07/01(火) 12:41:43.82 ID:DMTRD8Lx
コンソールアプリを実行した場合に表示されるコンソールウインドウの
大きさって、表示された後でSetWindowPosなどで変更できますが、
表示される前から、大きさを決めておくことは可能でしょうか?
要するに実行して表示されるた時点で、希望する大きさで表示したいのですが。
簡単にできるのであれば方法を教えてください。
841デフォルトの名無しさん:2014/07/01(火) 12:54:29.28 ID:9vwog7Xv
Console.WindowWidth
Console.WindowHeight
842デフォルトの名無しさん:2014/07/01(火) 13:23:39.36 ID:A+Lh4Xd5
誘導されたので同じ質問なのですが

デスクトップに貼り付いて最小化されないウィンドウの作り方を
どなたか分かる方いましたら教えて頂けないでしょうか?

今まで試した事は
Program Managerを親ウィンドウのハンドルにすると
一応、ウィンドウの最小化を回避出来たのですが
これだとエアロや半透明化が出来なくなったので
他の方法か、もしくは対処方法があるのであれば知りたいです。

あとはWndProc()をオーバーライドして
WM_SYSCOMMANDを処理して以降の処理を無効化する方法も教えて頂いたのですが
Win+Dや"デスクトップの表示"等をすると最小化してしまうみたいです。

何がしたいかというとFencesみたいなソフトが作りたいと思っています。
843デフォルトの名無しさん:2014/07/01(火) 14:04:14.85 ID:DMTRD8Lx
>>841
回答ありがとうございます。でも、その方法でも一瞬、デフォルトの
大きさで表示されたあとで、
Console.WindowWidth
Console.WindowHeight
で指定したサイズに変わるようです。
やっぱり簡単にはできないのでしょうかね。諦めます。
844デフォルトの名無しさん:2014/07/01(火) 21:50:00.43 ID:Tl6mNtPR
なんで、C#ってフィールドとプロパティの両方がなの?
プロパティだけあればよくね?
845デフォルトの名無しさん:2014/07/01(火) 21:58:00.77 ID:9vwog7Xv
ふらっとでやれ
846デフォルトの名無しさん:2014/07/01(火) 21:59:17.24 ID:Rg+tVA4X
関数とフィールドを一緒にされてもな
847デフォルトの名無しさん:2014/07/01(火) 22:41:12.15 ID:s1He7BaF
初心者おつ
C#に関数はない
848デフォルトの名無しさん:2014/07/01(火) 22:42:14.39 ID:7wy3vFsj
どうしてこう、息を吸って吐くように嘘をつけるんだろうか
849デフォルトの名無しさん:2014/07/01(火) 22:52:18.07 ID:LSK3JyWI
鯰に鱗はない
女にチンコはない
850デフォルトの名無しさん:2014/07/01(火) 22:53:31.07 ID:dHVBoF5R
>>847
function memberとanonymous functionがある
851デフォルトの名無しさん:2014/07/01(火) 22:57:34.22 ID:s1He7BaF
>>848 >>850
C#に関数、functionがないのは事実だろ
functionをmethodと一緒にするな

anonymous functionなんてないわw
anonymous method, 匿名メソッドならあるけどな

基本的な用語すら正確に覚えてないのかよ
852デフォルトの名無しさん:2014/07/01(火) 23:00:41.30 ID:dHVBoF5R
>>851
7.15 Anonymous function expressions
An anonymous function is an expression that represents an “in-line” method definition.
853デフォルトの名無しさん:2014/07/01(火) 23:02:31.75 ID:7wy3vFsj
どうしてこう(略)
854デフォルトの名無しさん:2014/07/01(火) 23:06:09.51 ID:s1He7BaF
>>852
URL貼れよ
855デフォルトの名無しさん:2014/07/01(火) 23:09:19.01 ID:79Rw1ztk
http://msdn.microsoft.com/ja-jp/library/bb882516(v=vs.100).aspx
>この 2 つの機能を総称して匿名関数と言います
856デフォルトの名無しさん:2014/07/01(火) 23:10:04.03 ID:dHVBoF5R
URL貼らなきゃC# Language Specificationの場所も分からん奴が言語仕様語ってたの?
857デフォルトの名無しさん:2014/07/01(火) 23:12:55.00 ID:7wy3vFsj
マイクロソフトのC# Language specification 5.0だろ
ISO/IEC 23270読んだのか?
ISOの方なら少なくとも「関数は無い」なんて言うはずもないんだが
858デフォルトの名無しさん:2014/07/01(火) 23:14:28.92 ID:xH+GAfzK
ラムダや無名関数ってクラスというより文脈に紐付くから、
メソッドと呼ぶのは確かに違和感あるな
859デフォルトの名無しさん:2014/07/02(水) 00:22:59.27 ID:QffEeww7
呼び方はどうでもいいが、汎用デリゲートの醜さを見たら、
関数はないと言っても過言ではないな。
860デフォルトの名無しさん:2014/07/02(水) 00:55:36.83 ID:Kk+QGZxw
関数とメソッドの違いが分からない土方参上
861デフォルトの名無しさん:2014/07/02(水) 00:58:49.34 ID:GdjdSKZ5
>>860
さぁ仕事に戻るんだ。終電もないから、帰らなくていいんだぞ。
862デフォルトの名無しさん:2014/07/02(水) 16:32:09.31 ID:5hZjGsLY
OOPって概念を取り入れた時に関数をメソッドと呼ぶようにしただけですね
実質一緒じゃないですか?
863デフォルトの名無しさん:2014/07/02(水) 16:49:25.77 ID:UupWJP+f
OOPは OOPLでなくても出来る
864デフォルトの名無しさん:2014/07/02(水) 17:24:12.26 ID:z63CcN3Z
>>863
で?
実用レベルにする為に、OOPLのインタプリタかコンパイラを実装する以外の方法が有るとでも?
865デフォルトの名無しさん:2014/07/02(水) 17:40:01.85 ID:UupWJP+f
OOPLの機能がないと出来ないことだと思ってるんだね。
866デフォルトの名無しさん:2014/07/02(水) 17:46:46.73 ID:7FYVqxhN
Cの奇怪なマクロライブラリ思い出した
867デフォルトの名無しさん:2014/07/02(水) 18:13:21.12 ID:xVMpbc3i
>>862
OOはオブジェクトにメッセージを伝えるためのメソッドをメソッドと呼ぶんだよ
メッセージを送る先もないただの処理の塊をメソッドと呼ぶことは不適切
868デフォルトの名無しさん:2014/07/02(水) 18:58:37.94 ID:+pZ3iFet
>>859
汎用デリゲートってActionとかFuncのこと?

たくさん作っておいてくれて便利じゃん
自分で定義したりMethodInvokerとかいろんなクラスに散らばってたのが一箇所で済むし
869デフォルトの名無しさん:2014/07/02(水) 20:28:46.80 ID:5hZjGsLY
>>867
Mathクラスの奴は、明らかにクラスと関係なく右から左へデータ流しているだけだが関数じゃなくてメソッドだよね
メソッドとファンクションの違いはOOPLかどうか程度でしょ
870デフォルトの名無しさん:2014/07/02(水) 20:32:11.03 ID:aWh+VOnN
機械語レベルで違いがあるのか?
871デフォルトの名無しさん:2014/07/02(水) 21:03:31.85 ID:0HruUEKi
C#でデータベースプログラムの勉強しようと思ったのですが、Sql ServerとかOracleとかMySQLとかある上に、
LINQとかDBアダプターとかADOとかDAOとか色々用語が出てきて混乱してます。
初心者が勉強するのに無難な組み合わせ?は何でしょうか?
872デフォルトの名無しさん:2014/07/02(水) 21:12:53.36 ID:aWh+VOnN
sqlite
873デフォルトの名無しさん:2014/07/02(水) 21:23:12.04 ID:TjuZskuu
>>872
SQL Server Express 2012のManagement Studio付きのをインストールして
ADO.NETのSystem.Data.SqlClientを使って接続
DataAdapterは使わない
874デフォルトの名無しさん:2014/07/02(水) 21:24:57.68 ID:aWh+VOnN
先に言え、バカちんが
875デフォルトの名無しさん:2014/07/02(水) 21:36:35.33 ID:ga2yZ1Rs
SQLの勉強したいなら>>873
動かしたいだけなら型付きデータセット
ADO.NETとLINQの基礎を抑えてるならEF
876デフォルトの名無しさん:2014/07/03(木) 11:14:44.51 ID:aava0xCK
>>871
初心者のころはthird partyのDB用configファイルの書き方が
わからないから、最初はDBはSQL Server Expressからがいい
Entity Frameworkとの相性も一番いい(バグが少ない)

SQL Server 2014 Express with Toolsがいい
with Toolsは、Management Studioついてる。

DBのアクセスは、MSが今推奨してるのはEntity FrameworkとLINQ使う方法だよ
AdapterとかDataSet使うのは古い

>>873
もう2014も出てるんだし、2014でいいんじゃないの
DataAdapterは使わないほうがいいね
877デフォルトの名無しさん:2014/07/05(土) 01:07:08.51 ID:5MwcCxaH
初めてJava触ってるんだが、構文というか言語は問題ないけどライブラリとディレクトリ構成がC#と比べて非常に使いづらく感じる
VSとNetBeansの差なのか.NETとJavaの差なのか
878デフォルトの名無しさん:2014/07/05(土) 01:12:45.58 ID:DfPTbKDM
実用か教条かの思想の差だと思う
879デフォルトの名無しさん:2014/07/05(土) 06:56:50.01 ID:JV7kEfkC
素だとファイルのコピーも出来ない連中だし
880デフォルトの名無しさん:2014/07/05(土) 09:28:42.29 ID:6PKoBQqR
Javaは名前衝突解決の機能が弱い故のパッケージ名にURL付けるルールと
ソースのディレクトリ階層をパッケージ名に合わせなきゃいけないルールのコンボが最凶すぎる
頭おかしいだろあれ
881デフォルトの名無しさん:2014/07/05(土) 09:30:21.75 ID:unZ5aOYO
同感
JNI使おうと思ったらなんだよあれwww
882デフォルトの名無しさん:2014/07/05(土) 09:33:06.08 ID:MbZ2I/h/
>パッケージ名にURL

まあイカレてるとは思うが
同じようにイカレてる GUID よりは判り易くて良いな
883デフォルトの名無しさん:2014/07/05(土) 09:36:28.46 ID:MbZ2I/h/
判り易いってのは所有者が一目で判るって意味ね
レジストリに階層構造もなく GUID 並べられてるの見るたびに萎える
884デフォルトの名無しさん:2014/07/05(土) 09:44:44.53 ID:6PKoBQqR
わかりやすいけど同じライブラリの異なるバージョン同士を管理できないんだよな
結局JavaもJigsawで.NETのAssemblyの仕組みをそっくりそのままパクろうとしてるよ
885デフォルトの名無しさん:2014/07/05(土) 13:46:13.36 ID:i4OYT/mf
XAMLのアレだってURIじゃんw
886デフォルトの名無しさん
WPFは思想先行でつくったっぽいから盛大にバカにしてるよ俺は