14/04/20 08:07:52.10 tLxbFHYI.net
前スレ
C#, C♯, C#相談室 Part82
スレリンク(tech板)
Visual Studio 2010 Express 他
URLリンク(www.visualstudio.com)
2:デフォルトの名無しさん
14/04/20 11:53:40.75 X23Clxno.net
>>1 乙
> Visual Studio 2010 Express 他
そろそろ 2013 にしてもいいかと
3:デフォルトの名無しさん
14/04/20 21:32:16.44 ekNgbe08.net
初学者はExpress for windows desktopが正解だっけ
4:デフォルトの名無しさん
14/04/20 22:12:26.60 PF/kKHEc.net
>>1乙
5:デフォルトの名無しさん
14/04/20 22:30:23.93 NkZ8yLaE.net
他って何があるの?
6:デフォルトの名無しさん
14/04/20 22:35:19.76 pm6pQF/U.net
Express For Webの方が段違いに高機能だよ
For Windows Desktopからテンプレートを抜いてExpress For Webで使うのがベスト
7:デフォルトの名無しさん
14/04/21 00:42:05.10 eYdH8FCu.net
ライセンス大丈夫なのそれ
8:デフォルトの名無しさん
14/04/21 11:09:25.71 RwXDTsmn.net
>>6 kwsk
9:デフォルトの名無しさん
14/04/22 12:28:30.66 6+D188bl.net
桁数が無制限の10進小数BigDecimalクラスを作って
その型をメンバに持つユーザーコントロールを
作ったのですが、プロパティウィンドウで
灰色表示になっていて編集できません。
どのようにすれば、プロパティウィンドウで
通常のdecimalなどと同じように入力できるでしょうか。
10:デフォルトの名無しさん
14/04/22 12:43:28.85 XBfi1btF.net
TypeConverter実装してStringとの相互変換を書く、だっけ
11:デフォルトの名無しさん
14/04/22 15:32:26.26
12:LLIZuTLq.net
13:デフォルトの名無しさん
14/04/22 15:34:35.91 hiWtVD31.net
大丈夫に決まってるだろ・・・
14:デフォルトの名無しさん
14/04/22 15:56:53.67 z8WHMXPV.net
新らし物好きならば体を張って確かめるべき
15:デフォルトの名無しさん
14/04/22 17:58:51.02 UE2PHjX0.net
>>11
OSの実装に依存するようなクソなコードじゃなければ動くに決まってるだろ。
というのが建前
16:デフォルトの名無しさん
14/04/22 18:04:40.83 z8WHMXPV.net
DLLHELLへようこそ
17:デフォルトの名無しさん
14/04/22 21:18:01.26 FcSpgIwh.net
8系は昔のバージョンが入ってない
18:デフォルトの名無しさん
14/04/22 23:11:07.13 WX6xzJqE.net
旧バージョンも一応入れることも出来るけどね。
まぁ、4.5.1 も互換性あるらしいから一通り動かしてみて
おかしな所を修正するだけでいいんじゃないかと。
19:デフォルトの名無しさん
14/04/23 19:18:50.80 uDUMTt2m.net
>>12-17
レスありがとうございました。
>>17
.net 2から、WINDOWS8の.net 4?に、ASP.NETアプリを移行して困ったことは、
接続文字列を格納したweb.confの要素を読み込むためのクラスが変わっていたことだったな。
Windows 8 も、Windows 8.1 UPDATEも、.net周辺は互換性があるとして、
アップデートやろうかな。でも、テスト環境を用意して、様子を見よう。
20:デフォルトの名無しさん
14/04/23 21:09:51.51 8RvEXtF8.net
C#は初めてでjavaはそれなりに分かる程度なんですが、
インターフェースを実装した匿名型みたいなのってどう作るのが一般的ですか?
具体的にはSystem.Collections.Generic.IEnumerable<E>を実装したクラスを作りたいのですが、
GetEnumratorはどう実装するのが一般的なのかで戸惑っています。
javaでやった時はreturn new IEnumerator<E>(){...};みたいなのを書いていたのですが、
C#では全然違うやり方するんだろうなと思いつつもググってもみつかりませんでした。
宜しくお願い致します。
21:デフォルトの名無しさん
14/04/23 21:12:43.10 9b5aah45.net
もうIEnumerable<T>は自前で実装せずyieldで書くわ
インターフェイス一般なら普通にclass内部にネストしたprivate classで書けば良いんじゃね
22:デフォルトの名無しさん
14/04/23 21:18:29.46 oHxA5I3Z.net
インターフェースじゃなくて出来るだけdelegateとラムダ式を使うことやね
23:デフォルトの名無しさん
14/04/23 21:28:40.77 Jwmg0nMc.net
イベントやラムダがあるからインターフェイスをネストクラスで実装するのは
あんまり必要ないんだよ
というかJavaが異常
ちなみにJavaみたいにネストクラスが暗黙的に外のオブジェクトの参照を持つってのも
C#には無い(C#のネストクラスは全部Javaのstatic class相当)
要らないからね
24:デフォルトの名無しさん
14/04/23 21:42:39.32 FOWeiF78.net
>Javaが異常
18年かかって反省した結果がSAM(Single abstract method)
25:デフォルトの名無しさん
14/04/23 21:52:08.48 Jwmg0nMc.net
反省して7年間悩んだ結果が
外のローカル変数を変更できず検査例外と相容れない代物
26:デフォルトの名無しさん
14/04/23 22:27:47.84 B15hE1J5.net
いい加減検査例外が欠陥品だと認めろ
27:デフォルトの名無しさん
14/04/23 22:34:21.45 Jwmg0nMc.net
>>25
公式にそう認めたよ
とうとうjava.io.UncheckedIOExceptionが導入された
28:デフォルトの名無しさん
14/04/23 22:37:37.71 FOWeiF78.net
C#の真似して失敗した劣化版enum
C#の真似して失敗したクロージャもどきのラムダ
C#の真似して失敗した劣化版タイプジェネリクス
C#の真似したboxing
C#の真似した世代別ガベコレ
C#の真似した劣化版デリゲート「SAM」
失敗を認めた検査例外
もうJAVAのライフはゼロ
29:デフォルトの名無しさん
14/04/23 22:45:31.11 PHSt4KVS.net
C#も最初はJava以下の代物だったのにこんなに立派になって・・・
ここ数年、Javaがパッとしないってのもあるんだけどさ。
30:デフォルトの名無しさん
14/04/23 22:51:46.29 qZjbiDWM.net
>>28
こんな記事もあったぐらいでそれはない。
URLリンク(www.atmarkit.co.jp)
この記事のコメントで暴れてたJava信者の人今はどうしてるかねw
31:デフォルトの名無しさん
14/04/23 23:52:36.57 8RvEXtF8.net
いや、javaがダメだってのはそれでいいんだけど、
実際delegateとか書くにはどうしたらいいの?
yieldで作ったIEnumerableを再帰したら重すぎたので
用途限定の無限リスト実装クラスを書きたいだけなんだよね。
32:デフォルトの名無しさん
14/04/23 23:58:41.49 oHxA5I3Z.net
yieldで作ったIEnumerableを再帰する ってどんなん?
33:デフォルトの名無しさん
14/04/24 00:01:23.94 eSsn4FqQ.net
イテレータ―のベストプラクティスはこんな感じ
class Hoge: IEnumerable<T> {
public struct Enumerator :IEnumerator<T>{}
public Enumerator GetEnumerator(){ return new Enumerator();}
IEnumerator<T> IEnumerable<T>.GetEnumerator(){return GetEnumerator();}
}
IEnumeratorの中身が分からんなら諦めて
34:デフォルトの名無しさん
14/04/24 00:01:42.26 eeIDhPaJ.net
関数型っぽくいくなら
static IEnumerable<object> Infinite() { while (true) yield return default(null); }
var inflist = Infinite().Select(_ => 好きな値());
35:33
14/04/24 00:03:22.24 eeIDhPaJ.net
default(null)はnullの間違い
36:デフォルトの名無しさん
14/04/24 00:14:49.41 BDmsfKX9.net
>>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;
}
}
かなり省いたけど大体こんな感じの。
37:デフォルトの名無しさん
14/04/24 00:18:00.24 7gol0BjG.net
foreach(var item in e)
{
if(Filter(item)){ yield return item; }
}
じゃダメなの?
38:デフォルトの名無しさん
14/04/24 00:19:44.03 7gol0BjG.net
なんかわけわかんないことかいたな
return e.Where(Filter);
こうか
39:デフォルトの名無しさん
14/04/24 00:53:46.66 eeIDhPaJ.net
>>35
SelectMany
40:デフォルトの名無しさん
14/04/24 11:07:28.13 RPJZFTzy.net
Windows Live Mail に足りない機能をC#で追加したいと思っています。
そんな組み込みは可能でしょうか?
Windows Live Mail自体がコンパイルされて出来上がった
アプリケーションである以上、そこにC#で新たにプログラムを作って組み込みする方法とか無いのでは?
とも考えています。
41:デフォルトの名無しさん
14/04/24 12:39:46.74 efYzmxgq.net
1から作った方が早いわな
42:デフォルトの名無しさん
14/04/24 12:45:23.88 mnsZs1hI.net
そういう奴は「プラグイン(アドイン)追加でxxできます!!」と謳ってるから
まずそこを確認するところから
43:デフォルトの名無しさん
14/04/24 15:46:36.51 2R+2SMgf.net
>>41
プラグイン開発方法とか解説しているサイトの中でオススメはありますか?
44:デフォルトの名無しさん
14/04/24 17:53:40.24 YxnFmXEY.net
だからそもそもWindows Live Mailがプラグインを、それも.net製のプラグインを使えるアプリケーションなの?って話
45:デフォルトの名無しさん
14/04/24 17:56:03.77 tDJuXksa.net
Outlookのアドオン市場ってそれなりにあるんでは
個人的に1つ使ってる
外国製で30ドル位だった
46:デフォルトの名無しさん
14/04/24 18:01:30.58 qWN4hsJ9.net
いろんな本に出てくるマネージヒープってなにもの?
47:デフォルトの名無しさん
14/04/24 18:06:32.37 6IsMFN2k.net
.NETが管理してるメモリ領域のうち、参照型の実体を置いておく領域
48:デフォルトの名無しさん
14/04/24 18:07:22.79 qgz+WFm0.net
Outlookの開発はVSにテンプレートがあるほどだしな
49:デフォルトの名無しさん
14/04/24 18:11:00.42 qWN4hsJ9.net
>>46
じゃあ参照型の変数(ポインタ?といっていいのか?)はどこにあるの?
50:デフォルトの名無しさん
14/04/24 18:12:15.63 6IsMFN2k.net
ローカル変数ならスタック
51:デフォルトの名無しさん
14/04/24 18:16:31.07 qWN4hsJ9.net
>>49
ありがとう
じゃクラスのフィールドに参照型が定義されてたら?
52:デフォルトの名無しさん
14/04/24 18:18:04.70 6IsMFN2k.net
参照型のフィールドは参照型の実体の一部
53:デフォルトの名無しさん
14/04/24 18:25:41.81 qWN4hsJ9.net
>>51
thx
なんとなくわかった気がする、ありがとー
54:デフォルトの名無しさん
14/04/24 21:09:08.42 eyNeUV4V.net
>>43
サンクス
Windows Live Mailしか使った事がなぃんだけどOutLookと比べてどっちの方が使い勝手が良いですか?
もしOutLookは10年位前に使った事はある程度です。
55:デフォルトの名無しさん
14/04/24 21:14:01.68 mu7aLjm1.net
そりゃもうスレ違いだ ソフトウェア板かどっかに行ってこい
56:デフォルトの名無しさん
14/04/25 09:26:40.97 IZttWr8m.net
使い勝手の良さなんて個人の趣味で変わるしな
あえて言えばテンプレ改良してマイメーラーが最強w
57:デフォルトの名無しさん
14/04/25 11:24:17.40 ooCgI5xK.net
Exchangeで使うなら、言うまでもなくOutlook
Outlook.comで使う場合もOutlookの方がいいと思う
PopやImapでしか接続しないならWindows liveメールの方が手軽でいいかな
58:デフォルトの名無しさん
14/04/30 18:00:42.73 DNQbhBwD.net
www.infoq.com/jp/news/2014/04/roslyn_oss
59:デフォルトの名無しさん
14/04/30 18:34:06.89 EzgfB9pv.net
データーの永続化で一番高速な方法ってなんですか?
60:デフォルトの名無しさん
14/04/30 18:36:18.93 4l7lcAfF.net
君が何を永続化しようとしてるのかによって取れる方法が違うんだから
先にそれを言った方が二度手間にならなくていいぞと忠告してやる
61:デフォルトの名無しさん
14/04/30 18:43:10.80 EzgfB9pv.net
深さが二段階しかないツリーデータです
62:デフォルトの名無しさん
14/04/30 18:54:33.47 I6H+jm99.net
neueとかいうブログの人がシリアライザのパフォーマンス比較の記事を書いてたように思ったが、
まあ気になるなら自分で確認するのが一番だよね。
63:デフォルトの名無しさん
14/05/03 12:01:57.25 HBcfi/y3.net
OWINてどうなの? IIS捨てれるの?
64:デフォルトの名無しさん
14/05/03 23:34:23.75 oJLHNYzb.net
ASP.NETのように、ビハインドでビジネス層のクラスを組み立てながら、
WEBアプリの構築は、JAVA + JSP + サーブレット でもできます。
しかし、ASP.NETのサーバーコントロールのように高度に抽象化されたデザイン用クラスは、
JAVAを使った開発でも最近はあるんでしょうか。
65:デフォルトの名無しさん
14/05/03 23:38:27.42 oJLHNYzb.net
あるいは、ASP.NETのオープンソース版、.NETフレームワークのオープンソース版って、実用的なんでしょうか。
最近では、c#のコンパイラがオープンソース化されたようですけど。
お金のかからない環境を構築したいとおもって。
66:デフォルトの名無しさん
14/05/03 23:52:34.97 Cu6JPOBx.net
>>63
Struts 1のtaglibがそのものなのだが
67:デフォルトの名無しさん
14/05/03 23:56:18.73 oJLHNYzb.net
>>65
本屋でパラパラページをめくりながら探していると、
Structってもはや古い技術だというような記述があったので、意外でした。
taglibは本屋では見つからなかったです。
ちょっと調べてきます。
ありがとうございます!
68:デフォルトの名無しさん
14/05/04 02:14:44.21 eMoGcgcA.net
どっちもStaticなグローバル変数で持ってますよね、SingletonとStaticの違いってなんですか?って質問されて上手く答えられなかった・・・
69:デフォルトの名無しさん
14/05/04 02:40:26.63 dx9xU03u.net
Singletonはクラスのアクセスメソッドで制限をかけることができる。
グローバル変数は誰がいつどのタイミングで読み書きするかわからない。
70:デフォルトの名無しさん
14/05/04 02:49:01.63 mi+P20vl.net
シングルトンは遅延初期化させたい時かな
静的コンストラクタはあまり使いたくない
71:デフォルトの名無しさん
14/05/04 06:58:07.82 IPFrsn/P.net
静的プロパティだって遅延初期化できるっぺ
C#的にシングルトンって意味あるのかな?
プライベートコンストラクタ書きたいだけちゃうんか
72:5
14/05/04 07:13:45.27 q7rdqljv.net
>>6
73:デフォルトの名無しさん
14/05/04 07:14:36.75 q7rdqljv.net
>>65
調べてみたところ、strutsはオワコンでした
74:72
14/05/04 07:20:59.25 q7rdqljv.net
>>71は間違いです。すみません。
>>65
ASP.NETライクに、抽象化されたUIコンポーネントでwebプログラミングするには、
JAVA標準環境(Java EE 6)+ JFS 2.0 を使うと良いようでした。
お金のかからない世界へ行ってきます。さようなら~
75:デフォルトの名無しさん
14/05/04 07:38:14.97 rJLJvrVe.net
破棄して作り直そうとする可能性がある時、静的だとメモリリークの危険が高い
76:デフォルトの名無しさん
14/05/04 09:07:48.46 eMoGcgcA.net
どっちにしろSingletonは利用者側からすると依存関係がわかりにくくて密結合だから、Singletonで取得するインスタンスを利用して実装しないといけないとマジでイライラするんだよね
とにかくテストがやりづらい
77:デフォルトの名無しさん
14/05/04 12:22:07.49 UE0Fc6EI.net
グローバル変数的に使おうとするから糞コード量産することになる
78:デフォルトの名無しさん
14/05/04 21:50:12.84 F1HNpjLt.net
ジェネリックではまっていますが、なにかいい解説書はないですか‥‥
79:デフォルトの名無しさん
14/05/05 09:40:10.76 SGaFRyg3.net
>>77
Javaスレの奴か
ジェネリックな比較はIComparableではなくIComparer<T>を使うべき
それに伴ってstruct制約も不要になる
C#のジェネリックは静的メソッドもクラスの型パラメータを引き継ぐから<S>要らん
URLリンク(ideone.com)
80:cn4c
14/05/05 15:17:50.63 CN0OEHd5.net
>>78
ありがとうございます.無事コンパイルができました.
C#4.0 のオプション引数を使ってみようとしましたが,
public static void insertNode(ref Node<T> root, T key, IComparer<T> cmp = Comparer<T>.Default)
の最後のはコンパイル時定数ではない,とはねられてしまいました‥
81:デフォルトの名無しさん
14/05/05 15:29:26.22 W0z8fvUt.net
「??演算子」の使用例
public static void insertNode(ref Node<T> root, T key, IComparer<T> cmp = null)
{
cmp = cmp ?? Comparer<T>.Default
以下略
82:デフォルトの名無しさん
14/05/05 15:38:16.15 4eyingVq.net
>cmp = cmp ?? Comparer<T>.Default
とても頭の悪そうなコードですね
意味を考えたら不適切
83:デフォルトの名無しさん
14/05/05 15:40:22.59 fN/Sve3O.net
>>70
wpfのVMを書くとき、一応4.5はスタティッククラス対応しているがシングルトン使ったほうが何かと便利
4.5以前に作られたライブラリは当然のことながらスタティッククラスのVMに対応していない
84:デフォルトの名無しさん
14/05/05 15:47:24.88 TyYoKThg.net
諦めてオーバーロードをもう一つ書くのがいいんだろうね
でも面倒
85:デフォルトの名無しさん
14/05/05 16:06:11.24 fN/Sve3O.net
あと、スタティッククラスは継承使えないから何かと不便
86:デフォルトの名無しさん
14/05/05 18:39:14.80 HLVvNfN0.net
>>79
それコンパイル時定数なんで、仕様変更考えるならpublicでは使わない方がいいかもね
87:デフォルトの名無しさん
14/05/05 19:04:06.57 AGglXxAj.net
「コンパイル時定数」に単語レベルで反応して「仕様変更」を連想した>>85
88:デフォルトの名無しさん
14/05/05 21:43:48.00 OT0COKe0.net
だらだらとオーバーロードかくよりオプション引数を使ったほうがすっきりするよな
>>81
べつに問題あるとは思えないが
89:デフォルトの名無しさん
14/05/05 21:52:22.83 fgsSBVMQ.net
引数の変更に反応してるのかな?
こういう趣味の問題を所詮趣味の問題だと認識せずに吹っかける奴のが頭悪く見えるけど
90:デフォルトの名無しさん
14/05/05 22:44:12.82 AY4EFaK1.net
オプション変数はなんかのコード分析でお行儀が悪いって言われるらしい
91:デフォルトの名無しさん
14/05/05 22:58:33.82 SGaFRyg3.net
オプション引数はアセンブリパブリックなメソッドに使うとFxCopとVSのコード分析で警告出るよ
定数が呼び出し元にハードコードされてしまうから変更時に呼び出し元を再コンパイルしなきゃいけなくなる
92:デフォルトの名無しさん
14/05/06 00:09:44.86 e2Zd8aJi.net
シングルトンのメリットってどれも弱いよね、オブジェクト指向の利点である再利用できるってメリットを完全に破壊してる
オーバーロードよりオプションが良いか悪いかは問題点がわからないから何とも言えないな
少なくとも全ての基準であるMSのソースではオーバーロードが圧倒的多数だからオーバーロード使う
93:デフォルトの名無しさん
14/05/06 00:34:48.26 tmSUYm6J.net
>>91
シングルトンはインターフェイス経由で使うんだよ
ちょうどComparer<T>.Defaultみたいにな
そうすれば差し替えができて「利用する側の」再利用性が上がる
利用する側のクラスはシングルトンの具象クラスに依存しちゃダメ
94:デフォルトの名無しさん
14/05/06 00:36:31.71 ug+nXQnt.net
オーバーロードだと再コンパイル要らんのか?
95:デフォルトの名無しさん
14/05/06 00:41:20.84 bRku9hxr.net
>>91
>再利用できるってメリットを完全に破壊
んなこたーない。おまえアホか。
>>92
まるでインターフェースにしなきゃ差し替えが出来ないような物言いだな。
96:デフォルトの名無しさん
14/05/06 00:47:18.77 48oaCWR
97:M.net
98:デフォルトの名無しさん
14/05/06 00:58:35.11 IXzBb183.net
>>67からずっと思ってたが、デザパタの用語はだいたいどれも
99:そうだけど、 シングルトンって言葉が指すものの解釈は一つじゃなくていろんなバリエーションがあるから、 どういう意味でシングルトンって言ってるのかはっきりさせないと、傍から見て ずいぶん頭の悪い奴同士の会話に見えちゃうよ。
100:デフォルトの名無しさん
14/05/06 01:50:22.83 jzwUbQuH.net
そもそもデザインパターンって適材適所で使うアルアルをまとめただけのもんだしな。
それを使わないとダメとかそう言うもんでもないし。
オブジェクト指向がうんたら言う奴ってそこを忘れてルールにはまって自爆してる奴が多い印象。
まぁだから本とかにも何がなんでも型にはめようとするなと冒頭に書かれてるんだろうけど。
101:デフォルトの名無しさん
14/05/06 01:59:59.48 tmSUYm6J.net
デザパタなんて大半はオブジェクト指向の機能を利用したハックだろ
オブジェクト指向というより関数型みたいなことをやろうとしてるものが多い
102:デフォルトの名無しさん
14/05/06 02:08:17.42 BqjYYF2K.net
シングルトンはスタティッククラスで代用できるから、今更面倒なシングルトンを使う必要はないって意見が多かったようだが
一々staticと、すべてのフィールドやメソッドに書くほうが面倒だと思うんだが・・・
それと再利用というならベースクラスを使い回しできるシングルトンのほうが優れているだろ
スタティッククラスの利点は、知らない人に説明するのがシングルトンより楽だぐらいしか思い浮かばん
103:デフォルトの名無しさん
14/05/06 03:55:27.39 pzJ6+ovS.net
staticクラスはどういうクラスなのかがわかりやすいから
「フレームワークがstaticクラスを提供する」みたいなのが主な使用場面じゃね?
104:デフォルトの名無しさん
14/05/06 04:32:14.78 8bjutxl2.net
staticってそのクラス、メソッドだけで自己完結しているって意味合いがあるから
信頼できる関数として利用できる
Singletonをstaticで代用なんてのは本来の使い方じゃない
105:デフォルトの名無しさん
14/05/06 05:30:07.66 ug+nXQnt.net
>>95
それ見て書いてるんだが?
106:デフォルトの名無しさん
14/05/06 06:40:02.97 UJ0wmmRA.net
>>102
おまいは関数の中身を修正したら
呼び出し側の再コンパイルが要ると思ってるのか?
107:デフォルトの名無しさん
14/05/06 12:23:20.78 5vOxwoqv.net
System.Diagnostics.Processが子プロセスを持っているかの判断は出来る?
親プロセスを殺す際に、親プロセスが起動させた不定の子プロセスもまとめて殺したいんだが。
108:デフォルトの名無しさん
14/05/06 12:36:16.61 q1ZxUZrt.net
>>93
要らんね
オプション引数の省略はデフォルト値を渡すようコンパイルされる為、後で変更してもだめ
109:デフォルトの名無しさん
14/05/06 12:51:46.80 +EFNtusy.net
>>103
そりゃそうだな、なんかボケてたわ
110:デフォルトの名無しさん
14/05/07 08:00:22.27 DJPE+VwE.net
其の程度のデメリットならオプション引数使うべきだわ
111:デフォルトの名無しさん
14/05/07 08:09:39.64 WkJIpITC.net
いや1か0かじゃなくてデメリットがある場合だけ使わなきゃいいでしょ
使ってはいけないのはdllのパブリック型のパブリックメンバだけだ
112:デフォルトの名無しさん
14/05/07 09:43:01.96 9Lrwf94O.net
>>104
W32のプロセスに親とか子って概念あるの?
113:デフォルトの名無しさん
14/05/07 10:04:41.39 MuNUQFgX.net
あるよー
ハンドルの継承とかに使われる
タスクマネージャでのプロセスツリーの終了とかもある
ただマネージでは公開されてないんじゃないかなぁ
CreateToolhelp32Snapshot, Process32First, Process32Next関数で親プロセスもとれるみたいだから
プロセス列挙してツリー構築してやればいけるかな
114:デフォルトの名無しさん
14/05/07 13
115::27:14.07 ID:7TKwW6oG.net
116:デフォルトの名無しさん
14/05/07 14:34:20.95 TQOtgjUI.net
オブジェクト指向のそれとは違うだろうけど
ラムダ式にはラムダ式のデザインパターンがあるんじゃねぇの
117:デフォルトの名無しさん
14/05/07 17:39:53.54 v8XT9GT6.net
ラムダ式があっても一部のパターンが使われなくなるだけ
>>111はデザインパターンしらんだろ
118:デフォルトの名無しさん
14/05/07 17:58:29.45 jRfFl2VD.net
プログラマレベル2になったところなんですよ彼は
119:デフォルトの名無しさん
14/05/07 20:32:56.58 c2xx/D15.net
デバッグ時にラムダ含んでるとコード書き換えられないのはどうにかなんないのかな
120:デフォルトの名無しさん
14/05/07 22:14:53.79 sNbvGfp5.net
デバッグ時コード書き換えの必要性を感じないんだけど
121:デフォルトの名無しさん
14/05/07 23:01:32.27 c2xx/D15.net
>>116さんカッケー
122:デフォルトの名無しさん
14/05/07 23:18:30.74 os5r5Muw.net
DataGridView をFormに配置したところデータバインドをしていないにも
関わらず、DataGridView上に1行の何も値の設定されていない行が表示されしまいます。
どうすればデータバインドをするまではこれを非表示にする事が出来ますか?
123:デフォルトの名無しさん
14/05/07 23:56:51.71 DMZdYPQ9.net
>>115
メソッドにすればいい
124:デフォルトの名無しさん
14/05/08 00:19:41.92 NDnDtFMt.net
shdocvw の参照ってどこから行えば良いのですか?
参照項目より探しているのですが、見当たりません。
125:デフォルトの名無しさん
14/05/08 00:21:51.27 /gsLR9fm.net
Edit&Continue(の事を言ってるんだと思うけど)ってそもそも有効な場面は
かなり限られる気がする。
俺もほとんど必要性を感じたことがないな。
126:デフォルトの名無しさん
14/05/08 00:28:46.29 wgDbyxsw.net
>>120
【VISUAL STUDIO 2010】USING SHDOCVW; の参照が出来ない場合の対処方法
URLリンク(know-how-tree.com)
127:デフォルトの名無しさん
14/05/08 02:36:19.31 66RGGE3G.net
>>118
AllowUserToAddRows = false
128:デフォルトの名無しさん
14/05/08 03:13:05.77 LX70lqIo.net
>>123
サンキュー!
129:デフォルトの名無しさん
14/05/08 07:17:26.76 /TlFaqSl.net
>>110
遅くなった。Process32Nextとかを調べてみるわ。
130:デフォルトの名無しさん
14/05/08 10:04:18.03 4TK84oe8.net
>>115
64bit だと常にダメだけどな。
32bit環境でデバッグしてるのか
131:デフォルトの名無しさん
14/05/08 10:40:50.38 rM+Ugqpp.net
>>126
VS2013から出来るようになった
132:デフォルトの名無しさん
14/05/08 10:52:19.49 4TK84oe8.net
あ、そうなんだ。
自宅のWindows7に2013入れたけど、メインが2010だから知らなかった、、、
ありがとう
133:デフォルトの名無しさん
14/05/08 13:56:48.08 jPbn7lXq.net
set内で、valueとして渡されたクラスインスタンスのクローンをsetするのって、マナー違反なのかな?
クラスのプロパティにsetしたクラスインスタンスが
外部で書き換えられるのが嫌だからクローンをsetしたいんだけど。
134:デフォルトの名無しさん
14/05/08 14:01:57.49 vzTWemg/.net
メソッドの方が理解しやすいな
135:デフォルトの名無しさん
14/05/08 18:45:29.03 NviPB3le.net
普通にアリ
防御的コピーという非常に一般的なテクニック
136:デフォルトの名無しさん
14/05/08 20:47:40.52 gk0aEWIW.net
>>129
それならその型そのものをイミュータブルにするか値型にすることをまず検討
すべきだと思うけどね。
配列やコレクションは別として。
137:デフォルトの名無しさん
14/05/08 21:09:23.08 01rpyJ3E.net
配列をプロパティにすること自体が
138:デフォルトの名無しさん
14/05/08 22:43:47.23 9vcPvL0x.net
>>113
デザインパターンっていうのは
Singletonのような本質は何にも変わってないけど通ぶりたいバカがカッコつけて使うものと
ラムダ式でおきかえられるもの
ラムダ式を使って違う形にしたほうが良いもの
の3つに分類できる
つまり今使ったほうがいいものは一つもありゃせん
139:デフォルトの名無しさん
14/05/08 22:48:54.86 rRrDSl0D.net
おっ、おう
140:デフォルトの名無しさん
14/05/08 23:12:07.48 z0nVVjCj.net
エースコンバットの嘘字幕かな?
141:デフォルトの名無しさん
14/05/08 23:16:22.83 GL2M0rb4.net
覚えたばかりのものを使ってみたいだけなんじゃない?
たぶんラムダ式もデザインパターンも理解してない。
142:デフォルトの名無しさん
14/05/09 00:24:12.10 aGSQbVG9.net
ラムダ計算は俺には無理だった
143:デフォルトの名無しさん
14/05/09 01:35:48.87 4s2/CMbE.net
通ぶりたいバカが語っちゃんてんよ(苦笑)
144:デフォルトの名無しさん
14/05/09 03:53:38.78 Wvmtqnkm.net
こてっちゃん
145:デフォルトの名無しさん
14/05/09 08:46:58.05 Ijv/Ccl+.net
>>134
通ぶりたいバカはお前だろww
146:デフォルトの名無しさん
14/05/09 19:37:24.31 ++5Ylz+V.net
メンバー、変数に一々public書くのだるいよう…
省略したらpublicでいいだろこんなもん…
147:デフォルトの名無しさん
14/05/09 19:38:52.20 E9SfM4pV.net
できるだけprivateにしましょうっていうオブジェクト指向の毒が蔓延してたからね
148:デフォルトの名無しさん
14/05/09 19:39:54.12 7rX/IBWU.net
変数というか、フィールドをpublicにすることなんてないだろ
149:デフォルトの名無しさん
14/05/09 19:42:43.70 v/oaYztB.net
publicにする手間もっと上げたら
まともなコードたくさん生まれるようにならんかな
150:デフォルトの名無しさん
14/05/09 19:45:31.17 mXNWQt6t.net
プロパティにしてたから助かったなんて状態になるのも
(場合によっては)滅多に無いけど、
公開するのは意識してやりたいからいいんじゃないの。
publicなフィールドやらプロパティやらが多いのは、
大体がカプセル化できてない似非オブジェクト指向。
151:デフォルトの名無しさん
14/05/09 19:49:33.08 4s2/CMbE.net
まともってどういう観点で?
欠陥が少ないことをまともと評するか
それとも規約をかっちり守っていることをまともと評するか
152:デフォルトの名無しさん
14/05/09 19:51:59.12 Ijv/Ccl+.net
やっぱ基本はprivateだからな
153:デフォルトの名無しさん
14/05/09 20:40:28.22 ogcBElPA.net
クソみたいなコードのさらにクソなprivateな部分も公開したいってどんな露出狂だよ
154:デフォルトの名無しさん
14/05/09 20:45:37.38 E9SfM4pV.net
privateなんて公開されてても使わなければいいだけの話だからな
下手なライブラリは公開メンバを少なくしようとして使いにくくなってたり
そもそも出来ないことがあったり目も当てられない
155:デフォルトの名無しさん
14/05/09 20:50:03.66 ogcBElPA.net
一般的なルールに苦言を呈しちゅうオレかっこいいみたいな感じ?
156:デフォルトの名無しさん
14/05/09 20:50:53.52 Mn4+ksrv.net
「下手なライブラリ」の本来privateにすべき変数いじるとか怖くてできないんですけど
157:デフォルトの名無しさん
14/05/09 20:58:23.84 4s2/CMbE.net
誤字ってカッコいいよね
生き急いでる感じがしてさ
158:デフォルトの名無しさん
14/05/09 21:29:04.87 eHd2TX5N.net
varとdynamicは確実にうんこ
159:デフォルトの名無しさん
14/05/09 21:32:51.61 NDcf6f8g.net
>>150
これプログラマのバカの壁の一つだが、ダメグラマって本当に君みたいに思ってるらしいな。
こういうセンスの奴がGUIデザインするとButtonやTextBoxが100個とか並んでる画面を
平然と作るんだよね。
160:デフォルトの名無しさん
14/05/09 21:35:50.04 E9SfM4pV.net
var使わずに型名みたいな無意味な情報を一生懸命タイプして可読性下げてる奴って
アホちゃうか? としか思えん
161:デフォルトの名無しさん
14/05/09 21:39:42.12 4s2/CMbE.net
皆さんなかなか凝った辞世の句を披露なさいますねえ
162:デフォルトの名無しさん
14/05/09 22:20:33.56 Ijv/Ccl+.net
使わなければいいだけとか…だめだこりゃww
163:デフォルトの名無しさん
14/05/09 22:32:44.73 7rX/IBWU.net
そんなにつかいたきゃprivateでも無視してアクセスすればいいだろ
わざわざ公開する必要もない
164:デフォルトの名無しさん
14/05/09 23:45:48.23 WJR4c6c3.net
>>151
えっ、かっこわるい?
165:デフォルトの名無しさん
14/05/09 23:48:25.77 WJR4c6c3.net
>>151
えっ、かっこわるい?
166:デフォルトの名無しさん
14/05/10 01:27:17.61 g90VX2nj.net
>>15
167:6 もう君はVB6でVariantだけ使ってプログラム書いてれば良いんじゃないの?
168:デフォルトの名無しさん
14/05/10 01:57:42.12 B1lUTN0m.net
なんでvarとVariantが関係あるんだ
169:デフォルトの名無しさん
14/05/10 02:43:26.46 omhafWBq.net
ラムダ使っちゃっていいの?
どうせFramework2.0で製品化するんでしょ
170:デフォルトの名無しさん
14/05/10 03:08:54.91 z3D5bdCD.net
バリアント 打てぃ
171:デフォルトの名無しさん
14/05/10 03:13:52.62 KeiPU5wL.net
varはマイクロソフトも推薦してたろ
172:デフォルトの名無しさん
14/05/10 08:54:51.34 /Dqge85C.net
仕様を理解してないで無視すれば良いとか言ってる奴はいたいな。
173:デフォルトの名無しさん
14/05/10 09:52:51.72 hc+7iE7K.net
表計算より電卓使うことを強要する老害みたいだな
嫌だねえ、年は取りたくないものだ
174:デフォルトの名無しさん
14/05/10 10:13:19.98 hc+7iE7K.net
URLリンク(referencesource.microsoft.com)
ほぼ全て変数宣言はvar使ってますね
boolとList<Task>とExceptionってのが僅かにあるか
アンチvarはReferenceSource読んでるうちに憤死しそうやね
175:デフォルトの名無しさん
14/05/10 10:22:53.61 Om1HfajV.net
>>162
ひょっとして var で宣言したら Variant みたいになんでも入る変数になると思ってるんじゃ... (w
176:デフォルトの名無しさん
14/05/10 10:35:44.40 BTCa0fTB.net
えっ違うの?
177:デフォルトの名無しさん
14/05/10 10:38:47.96 R5teS7FH.net
この話題定期的に出るNe!
URLリンク(www.atmarkit.co.jp)
178:デフォルトの名無しさん
14/05/10 11:05:02.42 jrUh4jRE.net
varはインターフェイスの時に困る
179:デフォルトの名無しさん
14/05/10 11:17:14.54 hc+7iE7K.net
>>169だって既定型で受けるためにException使ってるし用途次第よ
馬鹿は記憶領域が一つしかないから万能解を求め、臨機応変を考えない
180:デフォルトの名無しさん
14/05/10 11:22:46.52 oHlIlrM8.net
(゚д゚)ハァ?
明示したいときゃすりゃいいだけの話でございましょう?
181:デフォルトの名無しさん
14/05/10 11:41:47.12 R5teS7FH.net
>>164
シンタックスシュガー的な機能で実現されてる文法
たとえばラムダ式、var、yieldなんかは
コンパイラが対応してれば対象プラットフォームが2.0でも使える
使えないのはLinqとかdynamicとかawait/asyncとか
182:デフォルトの名無しさん
14/05/10 12:00:52.40 Om1HfajV.net
>>174
またでかいブーメラン投げたなぁ (w
183:デフォルトの名無しさん
14/05/10 13:01:29.64 oljZpcA6.net
ま、C++11 でも auto とかあるしねえ
184:デフォルトの名無しさん
14/05/10 13:25:05.10 tcPcNt/v.net
C++のautoは、ラムダを軽量バインドするときに必要だし、
defaultテンプレートパラメーターを使わないでテンプレートの演算結果を宣言する際に必要だから
185:デフォルトの名無しさん
14/05/10 14:00:09.11 hS3sE/YA.net
型名は本質的な情報じゃないんだよね
変数名こそが本当の情報で
型名は付加情報としても場所を取り過ぎて本質を見えなくするだけ
186:デフォルトの名無しさん
14/05/10 14:08:31.12 m/AO6ufT.net
>>180
それは実数や整数のように汎用性が高い型の場合にだけ言えること。
187:デフォルトの名無しさん
14/05/10 16:09:32.82 70kPlgga.net
ハンガリアンバリバリのソースみるとイライラする
188:デフォルトの名無しさん
14/05/10 16:18:45.70 70kPlgga.net
MSの糞SEが用途間違えたシステムハンガリアンの方な
189:デフォルトの名無しさん
14/05/10 18:31:45.83 /Dqge85C.net
>>171
C#のvarはコンパイル時に型を推定してくれる。
何でも入るのはdynamic
190:デフォルトの名無しさん
14/05/10 19:24:38.38 EnEZoBM+.net
varはメンバーフィールドやファンクションの引数・戻値には使えないから
無茶しようと思っても無茶できんな
191:デフォルトの名無しさん
14/05/10 19:58:09.90 jrUh4jRE.net
dynamicは基本的には使うべきではないだろ
192:デフォルトの名無しさん
14/05/10 21:51:23.62 rYs4anx5.net
dynamicは引数の型によってオーバーロードを動的に選択させられるのが便利
そもそも型で分岐すること自体クソではあるけど、どうしても仕方ない場合には
if is並べるよりはよっぽどマシだ
193:デフォルトの名無しさん
14/05/10 22:02:24.72 a9DcGAOB.net
dynamicはExcel制御するとき大活躍だろ?
アーリーバインディングはOfficeのバージョンに依存していかん
194:デフォルトの名無しさん
14/05/10 22:39:41.83 rYs4anx5.net
dynamicが凄いのはCOM Interopに使えたりするのがMSの独自拡張じゃないところ
ちゃんとプロトコルが公開されていて、誰でも独自のオブジェクトシステムを
dynamicで透過的に扱うためのバインダを作れる
195:デフォルトの名無しさん
14/05/10 23:18:18.72 ryDslySJ.net
C#で復興君を作ろうと思っています。
196:デフォルトの名無しさん
14/05/11 06:37:11.02 lXX0usu0.net
>>187
どの場面でもifやswitchを使わないに越したことはないな。
ちなみに俺がいちばん嫌いなコードは、
if(a==true)
a=false;
else
a=true;
197:デフォルトの名無しさん
14/05/11 07:15:58.47 zdamCAAu.net
>>191
お前は俺か!
すごく同意できるわ。
198:デフォルトの名無しさん
14/05/11 09:09:37.25 r3f59Bax.net
>>191
幾ら何でも、そんなコード書く奴居ないだろw
199:デフォルトの名無しさん
14/05/11 09:38:55.24 wSEeMjm/.net
a=!a で済むもんな
200:デフォルトの名無しさん
14/05/11 11:31:48.67 uayAIi6x.net
それ以前に{}でくくらないのは嫌いだわー。
そんな事よりコメントも書かずに三項演算子の中に更に三項演算子を複数重ねるのは止めてくれ。
書いてるほうは行数減らせてノリノリで嬉しいんだろうが解読がめんどいわ。
201:デフォルトの名無しさん
14/05/11 11:40:30.44 qOyx0lRS.net
またswitchを見たら仮想関数に書き換えて
可読性や依存関係をメチャクチャにする
オブジェクト指向に洗脳されたカスか
202:デフォルトの名無しさん
14/05/11 11:46:08.37 ty2I7rZM.net
メソッドへの振り分けは別にオブジェクト指向関係ないだろ
ソースコードのレイアウトの問題に過ぎない
関数ポインタ入れたテーブルで振り分けるとか太古の昔からあるわ
203:デフォルトの名無しさん
14/05/11 11:48:07.86 qOyx0lRS.net
動作を決定する権利がオブジェクトの側にあるか
オブジェクトを使う側にあるのかというのは
本当に決定的な違いなんだよ
そして大半のケースでオブジェクトを使う側にないと柔軟性が確保できない
オブジェクトの側で動作を規定するのは最悪の設計である場合がほとんど
204:デフォルトの名無しさん
14/05/11 11:50:35.06 wSEeMjm/.net
==true って最悪だよな
boolean値なのにいちいち比較するとか
205:デフォルトの名無しさん
14/05/11 11:53:18.60 ty2I7rZM.net
>>198
型による分岐をdynamic+オーバーロードに置き換える話なら
制御は使う側にあるだろ
それがいいか悪いかとお前の思想はともかく
206:デフォルトの名無しさん
14/05/11 12:09:24.23 9KkBQwht.net
>>194
俺はあえて
a ^= true;
と書く
207:デフォルトの名無しさん
14/05/11 12:18:23.07 DD3eXZ56.net
>>195
三項演算子は lisp は cond 以来の由緒ある�
208:綜ョ。 >>196 OOは正義!
209:デフォルトの名無しさん
14/05/11 12:43:02.89 zdamCAAu.net
>>202
cond は三項に限らんし、中途半端な知識乙
210:デフォルトの名無しさん
14/05/11 14:21:05.81 1r+yUbjA.net
==true、==falseは見やすさ目的で十分使えるだろ
211:デフォルトの名無しさん
14/05/11 14:30:56.81 9KkBQwht.net
>>204
それが見やすいと思うなら何か勘違いしてるんだよ。
まあ、hoge == falseは微妙かもしれないが == trueはないね。
212:デフォルトの名無しさん
14/05/11 14:31:32.41 eQruSjkp.net
==false は頭が疲れた時でもぱっと見でわかりやすいからたまに使う。
==trueはあんま使ったこと
213:デフォルトの名無しさん
14/05/11 14:44:15.01 1r+yUbjA.net
あー==trueだけの事を言ってたのか
214:デフォルトの名無しさん
14/05/11 14:48:01.46 0sJXE8ur.net
if ( ( value == 1 ) == false ) {
}
215:デフォルトの名無しさん
14/05/11 14:52:01.18 wSEeMjm/.net
true は、代入に利用するくらいで等価比較は御法度だよ。
処理系によってはどのビットが立っているかわからないときがあるからね。
216:デフォルトの名無しさん
14/05/11 14:54:41.32 mBV2CEmk.net
>>209
スレ違いです
労害は去れ
217:デフォルトの名無しさん
14/05/11 14:54:41.86 8CXG23Kv.net
そんなわけないじゃん
218:デフォルトの名無しさん
14/05/11 15:01:00.89 mJ1nU0nf.net
>>209
C:値1と定義
C++:true/falseの2値しか取らない
Java:true/falseの2値しか取らない
C#::true/falseの2値しか取らない
Visual Basic 6:ビットがオール1と定義
で どの言語と間違えたの?
219:デフォルトの名無しさん
14/05/11 15:01:50.58 Izszoovs.net
スレチだけど、C++だと
bool a = ( b == TRUE );
なんて書いたことはあったな。
220:デフォルトの名無しさん
14/05/11 15:05:43.80 Tv+UCCd6.net
>>213はどうしようもないバカ
221:デフォルトの名無しさん
14/05/11 15:12:17.35 DD3eXZ56.net
>>212
C/C++ に関していえば、
処理系は必ず true == 1 と扱うが、
ライブラリ関数の中にはそうでないものがある。ctype.h の isalpha() のようなポピュラーなものでさえそうだ。
ctype.h は C++ でも標準ライブラリ扱い
>>209 の C/C++ の項は使い手に即した内容ではない役立たずだね、他は大丈夫なの?
222:デフォルトの名無しさん
14/05/11 15:12:24.22 wSEeMjm/.net
bool a = b ? true : false ;
223:デフォルトの名無しさん
14/05/11 15:20:14.51 wSEeMjm/.net
>>212
ある処理系で問題なくても true と比較するコード書く時点でトーシロー
224:デフォルトの名無しさん
14/05/11 15:22:52.49 4d9sdM5b.net
以下、休日の昼下がりを下らない言葉尻の取り合いでお楽しみ下さい。
なお明日は月曜日ですので、その点ご了承下さいませ。
225:デフォルトの名無しさん
14/05/11 15:24:47.77 r0lCuLjc.net
==trueが見やすいなんて言っちゃうのは変数名が原因だろ
==falseはアリかな
226:デフォルトの名無しさん
14/05/11 15:27:12.37 8CXG23Kv.net
>>217
C#ではすべての処理系で問題ない
227:デフォルトの名無しさん
14/05/11 15:27:39.25 DD3eXZ56.net
>>212
証拠だ、C/C++ の説明は間違っているから書きなおせ
URLリンク(codepad.org)
228:デフォルトの名無しさん
14/05/11 15:28:31.82 03X5e1jP.net
なんか始まった
229:デフォルトの名無しさん
14/05/11 15:32:38.72 bgvuJmwK.net
>>221
intとboolを比較したそらあかんやろ
(bool)isalpha(c) == true
ってせな
(int)trueは間違いなく1
230:デフォルトの名無しさん
14/05/11 15:39:58.47 DD3eXZ56.net
>>223
URLリンク(codepad.org)
それもそだねえ、じゃ
>>212 C の項はかきなおせ、というか C には true/false の二項対立はない。
あと VB あたりもちょっと怖いが、実際どうなんだ?
231:デフォルトの名無しさん
14/05/11 15:48:45.26 ttO2ycsK.net
んなこたーない
URLリンク(ideone.com)
232:デフォルトの名無しさん
14/05/11 15:54:49.57 wSEeMjm/.net
ホント馬鹿だな
いちいち型キャストして比較するとかながったらしすぎw
233:デフォルトの名無しさん
14/05/11 15:57:44.93 DD3eXZ56.net
>>224
そうか、C99 にはブーリアンが入ったんだね、って、予約語としては _Bool じゃなかったっけ?
URLリンク(ideone.com)
C99 strict といいながら srict じゃないね、これは gcc 拡張?
234:デフォルトの名無しさん
14/05/11 15:59:34.63 ttO2ycsK.net
>>227
_Boolをboolというスペルマで使用できるようにするのがstdbool.h
235:デフォルトの名無しさん
14/05/11 16:00:31.04 DD3eXZ56.net
>>226
_Bool isalpha(int c) とか変更しなかった/できなかったからね、ま、古い言語だから仕方がない‥
236:デフォルトの名無しさん
14/05/11 16:02:36.34 DD3eXZ56.net
>>228
thx 確認した
237:デフォルトの名無しさん
14/05/11 16:20:10.30 ttO2ycsK.net
さて話を戻すと、c#で「==true」が意図しない動作
をすることは一応 無いのだけれど…
238:デフォルトの名無しさん
14/05/11 16:37:59.01 wSEeMjm/.net
いまは問題なくても後々移植性に問題出たりするんだよ
239:デフォルトの名無しさん
14/05/11 16:40:41.81 f0TnWCT6.net
>>228
誤変換? ///
240:デフォルトの名無しさん
14/05/11 16:54:14.59 uayAIi6x.net
相談スレっぽくなくなってしまった。自分も片棒を担いだんだが。
流れを戻すとして、char型をSystem.Windows.Forms.Keysに変換する方法ってある?
241:デフォルトの名無しさん
14/05/11 17:22:30.76 8m9s6VXd.net
>>232
へー
242:デフォルトの名無しさん
14/05/11 17:41:37.11 0yrYxZ6d.net
移植性を気にする奴がC#とか頭悪すぎw
243:デフォルトの名無しさん
14/05/11 17:47:01.65 8CXG23Kv.net
>>232
いつだよw
突然仕様変更になるのか?
あんなに破壊的変更嫌って文脈キーワードガンガン増やす言語が
244:デフォルトの名無しさん
14/05/11 17:58:08.19 ZXeumQz3.net
>>234
char <-> Keysは1対1の対応じゃないから無理じゃないかなぁ
変換テーブルを自分で作っておくしかないと思う
245:デフォルトの名無しさん
14/05/11 18:43:26.19 uayAIi6x.net
>>238
やっぱり自力でやるしかないか。コードが綺麗じゃないけど仕方が無い。
246:デフォルトの名無しさん
14/05/11 19:08:40.28 rIItupz1.net
しかし bool? という if(xxx == true) を強要する型があるんだよね
247:デフォルトの名無しさん
14/05/11 19:15:41.89 ReOxbOV9.net
強要された妄想にとりつかれているんですね
困ったものです
248:デフォルトの名無しさん
14/05/11 19:24:20.20 0yv5+mef.net
xxx ?? falseでいいんじゃね
249:デフォルトの名無しさん
14/05/11 19:31:27.95 +H+hcwQY.net
if ( xxx.HasValue && xxx.Value )
だろjk
250:デフォルトの名無しさん
14/05/11 19:44:28.84 ESdFar+G.net
>>239
MSDNによると、
- Keysの値はWin32の仮想キーコードに対応している
- ANSI文字の仮想キーコードはANSIコードそのまま
らしいから普通に、
char ⇒ ANSIでデコード ⇒ Keysにキャスト
でいけるんじゃないの?
っていうかVBだとOption Strict Offにしとけば暗黙変換してくれたような気がw
251:デフォルトの名無しさん
14/05/12 07:15:26.62 ACtGf3jF.net
>>242-243
代用で文字数増やしてどうするんだ
252:デフォルトの名無しさん
14/05/12 07:20:25.07 mZu2z8hr.net
>>245
文字数が少ない方がいいという前提はどこからきた?
253:デフォルトの名無しさん
14/05/12 07:32:31.27 vNBTKcrK.net
>>242を>>243と
254:書くのは if(flag == true)と同じぐらい冗長だと思う
255:デフォルトの名無しさん
14/05/12 07:42:20.80 vNBTKcrK.net
ごめん、ちょっと例えとしてよくなかった
「xxx is SomeType ? (SomeType)xxx : null;」って書くぐらい冗長
って方が俺の言いたいことに近い
256:デフォルトの名無しさん
14/05/12 07:50:33.17 b2+C7k5G.net
nullならtrueと見做したい場合
!(flag == false), flag ?? true, !flag.HasValue || flag.Value
一貫性を考えたら??一択
257:デフォルトの名無しさん
14/05/12 07:51:50.67 zZkIxMS0.net
後で解読しやすく書いてくれれば文字数が多くても文句は言わん
258:デフォルトの名無しさん
14/05/12 09:44:05.52 3qLmw1Qv.net
一文字いくらで金額決めてるんだから一文字でも無駄にするんじゃねーよ
259:デフォルトの名無しさん
14/05/12 11:18:53.54 0w5L2iBG.net
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
260:デフォルトの名無しさん
14/05/12 11:53:52.63 L/eGs81n.net
C++にboolなんかあったんだ
261:デフォルトの名無しさん
14/05/12 12:01:58.51 hkuqweKu.net
asmどうなってる?
262:デフォルトの名無しさん
14/05/12 12:11:54.31 qgWJrp5s.net
>>252
x.ch=2なんでしょ?
x.bl==1じゃないとtrueにならないの当たり前じゃん
263:デフォルトの名無しさん
14/05/12 12:41:13.43 BCJ2/LGP.net
bool 知らないとかモグリかよ
264:デフォルトの名無しさん
14/05/12 13:36:11.27 8MSpjbBf.net
マジレスすると0以外はtrue
265:デフォルトの名無しさん
14/05/12 18:16:31.09 1Oc6ahzf.net
蒸し返してすまんが>>162はE9SfM4pVの発言に対する皮肉で書いたんだけどさ
勿論知っていると思うけどVariantは見えないだけで中に型情報ある物な訳で
直接型推論するのとコード上の論理的な意味合いはなんら変わらないと思うんだが。
個人的にはvarって最近は使うようにしていてコード量が減るのは確かなんだけど自分で
書いたコードならまだいいんだけども開発環境の支援が無いと読みづらくなることが
多いから手放しに良いものだとは思っていないオールドタイプなんだけど世間一般の
認識はそうでもないのかね?
266:デフォルトの名無しさん
14/05/12 18:18:04.63 1w9leY4l.net
うわあ
何だこのキチガイ怖い
267:デフォルトの名無しさん
14/05/12 18:24:32.11 vIiN2rHa.net
C#をVisualStudioの支援なしで読むの?
268:デフォルトの名無しさん
14/05/12 18:26:54.09 rRKhLlHV.net
>>258
> 勿論知っていると思うけどVariantは見えないだけで中に型情報ある物な訳で
> 直接型推論するのとコード上の論理的な意味合いはなんら変わらない
出直してください
269:デフォルトの名無しさん
14/05/12 18:49:50.27 1Oc6ahzf.net
>>260
GitHubみたいなのでコードレビューとかしたらそうなると思うケド?
>>261
具体的にどの部分に対してのツッコミ?
270:デフォルトの名無しさん
14/05/12 18:50:10.34 rNMuS3MH.net
C#のvarって、別に読みにくくならないと思うが。同じ事を2回書かないで済むようになっているだけって認識だな。
それと、C#のvarとVBのvariantって全然ちがくね。どっちかっていうと、dynamicがvariantに近いよね
271:デフォルトの名無しさん
14/05/12 19:01:02.89 lehFDRdw.net
varはただの糖衣構文だからね
dynamicは内部的にはObjectって聞いたことあるような気がするけど
272:デフォルトの名無しさん
14/05/12 19:09:08.86 1w9leY4l.net
dynamicは動的言語的な名前でのアクセスを高速にやるために
動的なコード生成的なハックをしてるって聞いたけど
VBはもともと動的言語だからvariantも素直に名前でアクセスしてるだけじゃねえの
273:デフォルトの名無しさん
14/05/12 19:09:26.04 /j+EhCNv.net
話の流れを読まずにレスすると
>C#のvarとVBのvariantって全然ちがくね
そんなことは みんなわかってる
274:デフォルトの名無しさん
14/05/12 19:11:17.79 /j+EhCNv.net
>>265
>VBはもともと動的言語
えっ? インターフェースに基づいてメソッド呼び出しする言語なのに?
275:デフォルトの名無しさん
14/05/12 19:14:20.20 OiSoC7y/.net
>>262
マゾいなぁ
うん、オールドタイプだよあんた
276:デフォルトの名無しさん
14/05/12 19:16:49.39 1w9leY4l.net
いやいやvariantとvarの違いも分かってないキチガイが低レベルなオナニーしてるだけでしょ
277:デフォルトの名無しさん
14/05/12 19:17:33.57 1Oc6ahzf.net
別に俺もvar=Variantとか主張する気はサラサラない。
使い方として一緒にしちゃってない?って聞いているだけで。
>>265
C++からVariant触ってみればどういう実装かすぐわかるよ。
VBからVariantつついても内部的な型を意識しないとハマるのも一緒。
>>263
var hoge = hogeList.GetNextData();
こんなコード一行見てどんな型か想像つく?
var hoge = new ObservableCollection<string>();
とかなら分かるが。
278:デフォルトの名無しさん
14/05/12 19:23:06.49 1w9leY4l.net
>>270
それはvarが悪いんじゃなくて
hogeという変数名が悪いの
変数名を目立たせるためにvarがある
まあhogeなんて変数名を意図的に付けなければvarを付けて可読性が下がるコードなんて作れないよ
279:デフォルトの名無しさん
14/05/12 19:37:37.98 vIiN2rHa.net
>>262
ある程度の規模になるとどちらにせよ落として支援つけないときついな
Reference Sourceみたいにメソッドだけでもたどれるとまだマシなんだけど
280:デフォルトの名無しさん
14/05/12 19:40:53.44 eFwDCItY.net
>>271
それは一般的には話が逆だと思うよ。
一般的にローカル変数については暗号的な名前でも構わないとされているし、
その理由は、それが何者であるかは型と前後の文脈から分かるから。
もちろんvar使ってもVS使う限りインテリセンスで型はわかるし、そうでなくても
メソッド名その他から型がわかるケースも多いけどね。
281:デフォルトの名無しさん
14/05/12 19:46:33.94 ACtGf3jF.net
vaiantの凶悪なところは a =1 +"1" で aが2になる挙動だわ
せめて入っている型と代入した型が異なったらエラーで止まって欲しい
282:デフォルトの名無しさん
14/05/12 19:47:28.93 koOZGk+1.net
>一般的にローカル変数については暗号的な名前でも構わないとされているし、
(´・∀・`)ヘー
283:デフォルトの名無しさん
14/05/12 19:48:12.33 koOZGk+1.net
VariantがクソなんじゃなくてVBがクソということでFAだな
284:デフォルトの名無しさん
14/05/12 19:52:28.17 ACtGf3jF.net
>>276
アレでも前世代のBasicに比べたらはるかにマシなんだけどね
285:デフォルトの名無しさん
14/05/12 21:25:47.98 b2+C7k5G.net
Roslynプロジェクトの規約だとvarは原則禁止で
>>270の後者のように右辺に型名がくる場合だけOKだよ
LINQ禁止だしforeachも列挙子が構造体でないものは禁止
さすがにコンパイラだから保守的になるわな
286:デフォルトの名無しさん
14/05/12 21:47:10.68 oYZZ6D9M.net
C#の場合var使ってローカルの変数名もある程度まともにするのが流儀だと思うが
LINQとか何が入ってるのかよーわからんし
287:デフォルトの名無しさん
14/05/12 21:50:13.73 1hZHnOd8.net
リーダブルコードでは説明的な名前にしろって書いてあったな
暗号ね、どこの一般やら
288:デフォルトの名無しさん
14/05/12 21:51:28.22 vNBTKcrK.net
Linqのクエリ形式は苦手だなぁ
>>278
>foreachも列挙子が構造体でないものは禁止
これって何を危惧してのことなんだろう?
列挙中にクラスインスタンスの状態が変更されないように、とか?
289:デフォルトの名無しさん
14/05/12 21:55:10.30 dBEplP4G.net
パフォーマンス
290:デフォルトの名無しさん
14/05/12 21:58:44.92 zjVah+tY.net
TreeNode _1838e3376;
とか宣言するのか。
目頭が熱くなってきた。
291:デフォルトの名無しさん
14/05/12 22:04:22.44 kkPuRxjD.net
>>280
リーダブルコードなら、明らかな一時変数ならどうでもいいって書いてあったような
292:デフォルトの名無しさん
14/05/12 22:05:14.02 1w9leY4l.net
>>273
そもそもローカル変数の名前が暗号でいいなんて考えは論外だから
可読性というものを一度でも考えたことがあるならそんな結論にはなりようがない
293:デフォルトの名無しさん
14/05/12 22:05:39.18 1hZHnOd8.net
>>284
一時変数だと分かればいい、だよ
ようなじゃない
294:デフォルトの名無しさん
14/05/12 22:09:44.30 rDnznASh.net
暗号的にする意味もわからない。
手作業での難読化を強要されている可能性以外には。
295:デフォルトの名無しさん
14/05/12 22:10:26.89 XToYxcYs.net
>>285
馬鹿馬鹿しくて反論する気にもなれないが、他人の書いたコード読んだことある?
ローカル変数で
296:説明的な名前が適切なケースももちろんあるが、そちらの方がむしろ例外的。 ローカル変数に説明的な命名をする人なんかいないよ。
297:デフォルトの名無しさん
14/05/12 22:12:16.20 dBEplP4G.net
俺は納品前に説明的にリファクタリングするけど
298:デフォルトの名無しさん
14/05/12 22:12:32.11 6r4KrQ0C.net
暗号「的」って暗号使うって意味じゃないでしょ
kbtitとかそんな話でしょ
299:デフォルトの名無しさん
14/05/12 22:13:39.55 1hZHnOd8.net
なんか話が通じない気がしてきた
こりゃ駄目だわ
300:デフォルトの名無しさん
14/05/12 22:14:35.51 1w9leY4l.net
説明的になりすぎて名前が長くなりすぎるのも好ましくないからな
ひと目で見渡せる範囲で何の処理をしてるか分からないと直感的に読みやすいコードにならないから
型名を分かりやすく短くしたものが変数名になる
っていうパターンが多いね俺は
301:デフォルトの名無しさん
14/05/12 22:16:18.20 twKZ90SO.net
話題になってるリーダブルコードでは、
タイプ数なんかケチるなよモダンなエディタ使ってんだろ?
って書いてありました。
302:デフォルトの名無しさん
14/05/12 22:17:43.69 twKZ90SO.net
auは毎回id変わるのか…。
ハゲは変わらなかったのに。
303:デフォルトの名無しさん
14/05/12 22:17:48.11 rRKhLlHV.net
ANSI Cの関数みたいな感じに短縮した名前ならよく使うけども
304:デフォルトの名無しさん
14/05/12 22:18:26.37 XToYxcYs.net
>>287
暗号的というのは機能を明示的に表してないという程度の意味だよ。
var fs = new FileStream(path, FileMode.Create)
これをいちいち、
var fileStreamToReadWriteLog = new FileStream(path, FileMode.Create)
なんて説明的な名前を付けるのはダメグラマ。
そんなの前後のコード見ればわかるし、わかるように書けと。
305:デフォルトの名無しさん
14/05/12 22:19:25.38 1hZHnOd8.net
逆に聞きたいけどそれのどこが「暗号的」なんだ
306:デフォルトの名無しさん
14/05/12 22:20:33.90 1w9leY4l.net
意味の薄いことを長ったらしく書いていいんだとすれば
varを使わず型名をいちいちかけって言うことになる
見るのが大変で直感的にわかりづらい長ったらしいコードになっていいなら
varを使う理由もない
307:デフォルトの名無しさん
14/05/12 22:20:54.99 4cnM3h7R.net
暗号という言葉が利用されるところで仕事をしたことが無いんじゃないか?
アクロニムって単語が出てこないんだろ。
308:デフォルトの名無しさん
14/05/12 22:21:26.99 XToYxcYs.net
>>297
君みたいな非常識な奴にとっては違うんだろうねとしか言いようがない。
では何というべきなのか。
こういう場合は暗号的っていう表現を使うんだよ馬鹿。
309:デフォルトの名無しさん
14/05/12 22:24:32.30 6r4KrQ0C.net
そもそもvarとかうんこって書いたの俺だけどここで話してるようなことについて言ったわけじゃないからな
まぁC#スレはプログラミング言語についての議論できるようなレベルじゃないからいちいちつっこまないけど
310:デフォルトの名無しさん
14/05/12 22:24:43.20 XToYxcYs.net
>>299
暗号的な命名はいつも頭辞語とは限らない。
じゃあhogeって何の頭文字なのか言ってみな
311:デフォルトの名無しさん
14/05/12 22:24:51.83 1hZHnOd8.net
普通に頭字語じゃないの
すさまじいねこれは
312:デフォルトの名無しさん
14/05/12 22:26:17.71 13D7ee2l.net
子供みてえにじゃあじゃあ言い出したな。
313:デフォルトの名無しさん
14/05/12 22:27:54.07 6r4KrQ0C.net
どっから引用したのか知らんけどそこはどうでもいいよ
単にその言葉の解釈について思ってたのと違ったってだけだから
314:デフォルトの名無しさん
14/05/12 22:28:19.55 1w9leY4l.net
言葉の定義につっかかって本質の議論ができないアスペの集まりか・・・
315:デフォルトの名無しさん
14/05/12 22:28:28.33 zZkIxMS0.net
1バイトを削るのに命を賭けたり、人生でキーボードを打つ事の出来る回数が決まっている人でも無い限り
変数名は分かりやすくしてクレヨン。
あんま長ったらしいのも問題だけど、変数名や関数名から役割を普通に判断できるくらいにはして欲しい。
>>298
個人的にはvar使わない派。型名を書くことを他人に強制する事までは無いがね。
使わない理由はぱっと見で型が分からないのが嫌いだから。
使うとしてもforeachとかくらいか。
316:デフォルトの名無しさん
14/05/12 22:28:34.03 XToYxcYs.net
>>304
なるほど、その幼稚な物言いが子供みたいだとは思わないんだ。
馬鹿だろお前。
317:デフォルトの名無しさん
14/05/12 22:29:37.19 1w9leY4l.net
varを使いさえすれば型名がいかに必要のない情報か実感を持ってわかるだろう
食わず嫌いはやめよう
318:デフォルトの名無しさん
14/05/12 22:31:20.65 rRKhLlHV.net
人格批判が出てきたので
このお祭りもそろそろ終わりですね
俺はごく狭い範囲でしか使わないFileStreamならfsって付けちゃうな
ログを書き出すような寿命の長い変数ならもうちょっと丁寧に付けるが
319:デフォルトの名無しさん
14/05/12 22:33:18.65 1w9leY4l.net
何のファイルのストリームかが自明ならfsでいいと思うけどね
320:デフォルトの名無しさん
14/05/12 22:33:45.43 1hZHnOd8.net
そもそも説明的な変数名をつけろってのは
スクロールしないと意味を追えない変数は邪魔だってのが本題だから
一時変数は一時変数だと分かればいい=寿命が短いなら寿命が短いことが分かればいい
ってのもそういう意味ですよ誤解しないでね
321:デフォルトの名無しさん
14/05/12 22:34:23.64 dBEplP4G.net
Streamって大抵の場合コンストラクタやメソッドに突っ込んでおしまいだし、
スコープもusingで明示されることが多いから変数名云々の議論には全く向かないだろ
322:デフォルトの名無しさん
14/05/12 23:12:10.79 4a9Ad8ki.net
>>300
> こういう場合は暗号的っていう表現を使うんだよ馬鹿。
使わねーよ。
使うと言うならその証拠だしなよ。
323:デフォルトの名無しさん
14/05/12 23:20:41.55 h67qSrzm.net
ArrayList は参照型なのでしょうか?
ArrayList に ref を付けずに外部ファンクションに渡して値を設定しました。
呼出し元で確認すると ref をつけていないにも関わらず値が格納されていました。
324:デフォルトの名無しさん
14/05/12 23:22:00.15 b2+C7k5G.net
むしろ何故参照型でないと思ったのか
関係ないけどArrayListは過去の遺物だから使うな
325:デフォルトの名無しさん
14/05/12 23:36:18.41 XToYxcYs.net
>>314
繰り返すが、では何というのか。
いや答えなくていいよ馬鹿。
URLリンク(ja.wikipedia.org)命名規則_(プログラミング)
こういう馬鹿ってたとえば「教科書的なサンプルコード」って表現を聞いたら教科書に書いてある
サンプルコードのことだとか思うのかね。
あるいは「文芸的プログラミング」って聞いたら文学的味わい(笑)のある人語の文章で
コーディングするとか思うのかね。
義務教育からやりなおした方がいいんじゃないのマジで。
326:デフォルトの名無しさん
14/05/12 23:44:24.50 FPCSC9Pj.net
歴史の授業よろしく過去の遺物だけ教えて
近現代史まで教えてない義務教育もどうかと思う
327:デフォルトの名無しさん
14/05/12 23:57:33.94 4a9Ad8ki.net
>>317
根拠として Wikipedia って...
笑いとろうとしてるのか?
マジで、意味はとれなくないけど、スゲー違和感あるし、アホっぽく聞こえるからな他所でしゃべらない方がいいぞ (w
328:デフォルトの名無しさん
14/05/12 23:59:57.05 dBEplP4G.net
普通のWikipedia記事と出典が与太話一カ所にしか付いてない>>317を同列に扱うのはちょっと…
無論全般的にうんこなんだけど
329:デフォルトの名無しさん
14/05/13 00:05:53.91 1w9leY4l.net
細かいことを気にして本質が見れない奴は駄目だ
プログラマはそうなりがちだから注意しろ
330:デフォルトの名無しさん
14/05/13 00:10:19.36 OtWszYiC.net
リンクはUrlエンコードして貼れとなんども
331:デフォルトの名無しさん
14/05/13 00:27:47.73 N+BzxmIn.net
>>321
× プログラマ
○ バカ
332:デフォルトの名無しさん
14/05/13 01:28:29.43 6lHeR6ab.net
>>309
型名が必要ないって全く理解出来ないなぁ。C#で型を意識しないって時点でネタだろ?
そもそも結局変数名短縮して書くとか言っている時点で型を意識してるんじゃないの?
そんな俺俺ルール全開の話展開されてもなんか一人でコード書いている人の
オナニーにしか見えないよ。
多人数で書いていたら命名規則とかをガチガチに決めない限りそんな曖昧な
コードは混乱するだけだし、人のコード読んだり見せたりした事無いんじゃない?
そんな事するくらいなら型名できっちり明示されていた方が間違いないだろ。
varは同じことを二回(宣言と初期化)書かなくていいって程度の話だと思うんだが
それは見通しが良くなるという意味であって型に関して意味が無いという話ではないぞ
333:デフォルトの名無しさん
14/05/13 01:59:28.36 VAAeDIGc.net
Dictionary<string, Dictionary<int, 自作クラス>>
みたいなの書かなければいけなくなったときに
型名を捨てました。
でも数値は型に関わらずnValueみたいにつけちゃうかも
Numberの意味で
334:デフォルトの名無しさん
14/05/13 02:06:16.80 SWSrJt6s.net
varを使うと、「変数は宣言時に初期化」が強制される
ってのが一番の利点だと思っているんですけど。
335:デフォルトの名無しさん
14/05/13 02:24:37.33 nxvHWi8Q.net
思ってりゃいいよ。口を開くな。
336:デフォルトの名無しさん
14/05/13 10:05:01.34 pfvuptpJ.net
>>326
このスレでは>>327の意に添わないレスは禁止されている。
以後気をつけなさい。
337:デフォルトの名無しさん
14/05/13 12:37:21.47 Q2oZdJZr.net
>>324
使うメソッドを持ってれば実行されるから、型なんてどうでも良い。
338:デフォルトの名無しさん
14/05/13 12:58:43.04 vRP8IXzs.net
>>326
> varを使うと、「変数は宣言時に初期化」が強制される
意味わからん。
var 無くても宣言時に初期化が必要な変数は初期化するし、不要な奴はしない。
なんにも変わらん、ちょっと書き易くなっただけ。
339:デフォルトの名無しさん
14/05/13 13:03:36.11 pOysepT3.net
昨日から馬鹿が多いな本当。
型なんかどうでもいい、って言ってる奴は、釣りで言ってるのでなければ
1週間後には書いた本人にも理解できないようなコードを書くタイプ。
要するに、今コードを書いている自分の頭に入っているような前提知識を持たない人から
自分のコードが可読的に見えるかどうか、っていう視点が欠如してるタイプ。
そりゃコード書いてる時にはコード上に型が明示されてなくても何も困らないに決まってる。
だってそんなの「今」コードを書いてる自分には自明だからな。
問題は「今」自分が持ってる一時記憶が失われた後でもコードが可読的かどうかのはずなんだが、
ダメグラマってこういう当たり前のことがわからないみたいね。
単にわからないだけじゃなくて、何度それで失敗してもその失敗から学習しない。
340:デフォルトの名無しさん
14/05/13 13:03:59.58 Q2oZdJZr.net
varは宣言時に代入もしないと、型が判らないからコンパイルエラー
341:デフォルトの名無しさん
14/05/13 13:20:44.11 Oq17BpUc.net
>>331
昼間から遊んでんなよ
342:デフォルトの名無しさん
14/05/13 15:30:35.03 Bi6mCPJj.net
宣言時に初期化することがメリットとは思えないなぁ。
他の言語ならともかく、C#ではvarを使わなくても、
初期化されていない可能性のある変数への参照は
コンパイラが警告を出してくれるんだから。
343:デフォルトの名無しさん
14/05/13 17:02:03.84 tPkiUW7x.net
思わなくていい。糞みたいな口を開くな。
344:デフォルトの名無しさん
14/05/13 17:07:01.01 +/9sUvLU.net
>>331
型なんかどうでもいいって書き込みなんか無いと思います。
プログラムが読めても日本語が読めない人ですか?
345:デフォルトの名無しさん
14/05/13 17:15:21.16 2bqSYurQ.net
>>336
>>309 型は必要のない情報
>>325 型名は捨てた
ちょっと遡っただけでも二つあるんだけど日本語読めない人ですか?
同じ主張していた人は前にも同様の事を書いていたと思う
346:デフォルトの名無しさん
14/05/13 17:56:00.21 RSJvu3WH.net
警告じゃなくてコンパイルエラーになるから、そこは間違えようがない
347:デフォルトの名無しさん
14/05/13 17:56:15.15 nxvHWi8Q.net
うるさい奴だな
規制も解けたし久しぶりに荒らすか
348:デフォルトの名無しさん
14/05/13 17:57:23.64 fEA3lkvv.net
ばかばっか
349:デフォルトの名無しさん
14/05/13 18:03:59.79 FaOmhydn.net
玉ねぎテスト
350:デフォルトの名無しさん
14/05/13 19:04:44.91 P6IZAQAm.net
>>337
型は何よりも重要だが型名として明示する必要は無いというだけ
型は論理的な制約としてコンパイラとIDEとプログラマを助けてる
ソースを読むときには意味を追うことが重要であって
型名は意味を表さないからソースに現れる必要はない
351:デフォルトの名無しさん
14/05/13 19:10:30.00 I3YIR7QR.net
それはシステム型ガリアンがわるいのであって
アプリケーション型ガリアンを使うのが正しい
352:デフォルトの名無しさん
14/05/13 20:48:39.72 OtWszYiC.net
そもそも.netでハンガリーを使うのは不適切
353:デフォルトの名無しさん
14/05/13 21:18:49.26 JYotVS6+.net
ハンガリーてw
354:デフォルトの名無しさん
14/05/13 21:41:54.30 g7aGY/I9.net
予約語varすら不要にはできないのかな
新しい識別子が突然出てきたらそこで型推論して変数定義するだけだと思うのだが
355:デフォルトの名無しさん
14/05/13 21:43:10.75 /YCqdFMA.net
それなんてブビ6?
356:デフォルトの名無しさん
14/05/13 21:45:37.20 P6IZAQAm.net
変数の定義なのか既存の変数への代入なのかは分からないとダメだろう
間違いの元だし
357:デフォルトの名無しさん
14/05/13 21:48:10.21 g7aGY/I9.net
>>348
それくらいインテリセンスとシンタックスハイライトで何とでもできそうだけど
358:デフォルトの名無しさん
14/05/13 21:49:38.78 2SjFSQn0.net
ローカル変数のスコープが絞れない無能言語
359:デフォルトの名無しさん
14/05/13 22:08:05.31 RSJvu3WH.net
不要にする意味がないじゃん
あとでその上とか、上位スコープに同じ名前の変数定義しても警告がでないとか、スクリプト言語かよ
360:デフォルトの名無しさん
14/05/13 22:58:51.07 VAAeDIGc.net
紙デバッグする人とIDE活用する人の違いでしょうか
361:デフォルトの名無しさん
14/05/13 23:05:11.66 OtWszYiC.net
紙でデバッグってどこでビルドするんですか?
362:デフォルトの名無しさん
14/05/13 23:06:36.97 6lHeR6ab.net
>>352
IDE活用するのは良いんだがそれに依存しちゃってる人って他人とレビューってどうやってやるの?
363:デフォルトの名無しさん
14/05/13 23:07:35.77 I3YIR7QR.net
最低限の構文要素は残しておかないとソース解析や支援機能が劣化する
ていうか今のものですら不足
364:デフォルトの名無しさん
14/05/13 23:08:53.54 2SjFSQn0.net
型明示しないとコード読めない奴がレビュアーとか恥ずかしくないの
365:デフォルトの名無しさん
14/05/13 23:09:40.76 OtWszYiC.net
レビューとか普通にソフトあるだろ
TFSならたしか標準だったはずだし
366:デフォルトの名無しさん
14/05/13 23:10:10.27 Gi8jm/Jb.net
var程度で劣化するわけないでしょ
リアルタイムのエラー表示とかに比べたら全く完全に無視できる程度の処理
367:デフォルトの名無しさん
14/05/13 23:22:12.28 2SjFSQn0.net
型推論っていうけど実際には変数型の解決と変換チェックを省いてるわけだからむしろ高速化しそう
368:デフォルトの名無しさん
14/05/13 23:35:11.58 ph3+WM+5.net
>>355
すみません、劣化の実例出してもらえます?
369:デフォルトの名無しさん
14/05/13 23:42:10.85 I3YIR7QR.net
すまん これからシアトル行きの飛行機に乗らないといけないんだ
370:デフォルトの名無しさん
14/05/14 00:44:05.28 eTwx7JM5.net
いまだにハンガリアンつかってるのはちょっとイケてないよね
371:デフォルトの名無しさん
14/05/14 01:15:52.45 9VDDjOUK.net
>>354
他人と一緒にIDE使えばいいんじゃね
372:デフォルトの名無しさん
14/05/14 01:17:18.00 OfRhuTl1.net
今のトレンドは何リアンですか?
373:デフォルトの名無しさん
14/05/14 02:34:49.11 NgeMMujl.net
ジャンガリアン
374:デフォルトの名無しさん
14/05/14 08:39:58.13 s/uWWHxP.net
>>350
絞れるよ。ただ、外側と同じ名前をつけらんないだけ。
375:デフォルトの名無しさん
14/05/14 14:25:27.66 d8cAyoWU.net
今どきイケてるとか言っちゃうナウでヤングなあなた
376:デフォルトの名無しさん
14/05/14 20:16:37.22 eTwx7JM5.net
時代はキャメリアンよ
377:デフォルトの名無しさん
14/05/14 20:49:19.94 duQE1tkX.net
いやポリアンナでしょ
378:デフォルトの名無しさん
14/05/14 21:01:07.09 TjISzePW.net
>>366
論点理解した上で「絞る」って口語表現の解釈で争うのか?
アスペかゴミかアスペのゴミだな
379:デフォルトの名無しさん
14/05/14 21:03:19.94 duQE1tkX.net
>>370
どう考えてもお前がアスペ
380:デフォルトの名無しさん
14/05/14 22:57:26.14 MatEjgRk.net
>>364
コリアンと言ってほしいんだろ?
381:デフォルトの名無しさん
14/05/14 23:10:26.66 hc7I7FLC.net
C# でフラッシュ上に描画されているボタンのクリックをする事は出来ますか?
例)
YouTubeの 再生ボタン
382:デフォルトの名無しさん
14/05/14 23:28:08.62 OXjgNqNn.net
まっとうな方法はない
できないことはないけど非常に難しく、およそ初心者向きの課題ではない
383:デフォルトの名無しさん
14/05/14 23:30:16.49 CNlUMUNV.net
UWSCさんにお任せした方がお手軽
どうせお手軽に稼ぐ手段にしか興味ないんでしょ?
384:デフォルトの名無しさん
14/05/15 02:37:17.33 y4EzsQr3.net
4.5.1時点では各種コレクションやカスタマイズならIEnumerable<T>やIEnumerator<T>があるからインデクサ実装するメリットがパッと思いつかないな
逆にどういう時にあえてクラスにインデクサ実装するの?
385:デフォルトの名無しさん
14/05/15 05:43:37.91 VFnGSa+C.net
>>376
たしか、ElementAtはIListを実装していないクラスの場合、
インデクサを使わず先頭から一つずつ数えるとか聞いた
ともかくElementAtは効率的である保証がないから
ランダムアクセスが早いクラスではインデクサを実装したほうがいい
386:デフォルトの名無しさん
14/05/15 06:46:00.89 vWmJlxXD.net
ディクショナリとか多次元コレクションとか
387:デフォルトの名無しさん
14/05/15 06:50:35.28 PJUn3sxK.net
二次元幼女のコレクションか。納得。
388:デフォルトの名無しさん
14/05/15 15:32:47.39 hK9NRk/t.net
>>375
UWSC って何?
389:デフォルトの名無しさん
14/05/15 15:49:09.11 UhbfTRYa.net
>>380
ググったら一発で出てくるんだが
390:デフォルトの名無しさん
14/05/15 15:57:34.47 hK9NRk/t.net
じゃ、ぐぐって
391:デフォルトの名無しさん
14/05/15 18:09:38.25 6iCpTi+Y.net
ぐぐりました
392:デフォルトの名無しさん
14/05/15 21:16:35.16 VVboE5kT.net
おれもググった
393:デフォルトの名無しさん
14/05/15 21:33:42.13 t3vABwGH.net
ぐぐってきた、なるほどね
394:デフォルトの名無しさん
14/05/15 21:34:05.58 fEMnGPTM.net
ぐぐってあげたよ
395:デフォルトの名無しさん
14/05/15 21:55:32.39 /wvFfuuf.net
百度でも可
396:デフォルトの名無しさん
14/05/15 21:59:03.97 vWmJlxXD.net
優しい世界
397:デフォルトの名無しさん
14/05/16 18:40:47.57 VAV/Ywcf.net
Usage of NativeWindow.AssignHandle/ReleaseHandle when unmanaged code is involved.
URLリンク(blogs.msdn.com)
NativeWindowまわりで不可解なクラッシュが発生するんだけど
これ試してみようかな
398:デフォルトの名無しさん
14/05/17 16:30:44.41 QUUNT5cx.net
福島ヤクザの恫喝のお蔭で美味しんぼが休載になってしまった・・・
そ ん な に 福 島 県 の 野 菜 が 安 全 ・安 心
399: と い う な ら ば 宮 内 庁 職 員 ・ 天 皇 家 に 全 て 無 料 で 提 供 し な さ い
400:デフォルトの名無しさん
14/05/17 16:40:04.62 /wPndJU8.net
コピペマン参上!まで読んだ。
401:デフォルトの名無しさん
14/05/17 21:01:02.22 Ii5h3iYQ.net
そんな事よりkeybd_eventで記号が送れないじゃないか。
入力対象がPostMessageは受け付けないしSendInputは動かないし困った。
402:デフォルトの名無しさん
14/05/17 21:10:07.58 pDUyUp0N.net
UIAutomationは?
403:デフォルトの名無しさん
14/05/17 22:17:04.68 Ii5h3iYQ.net
>>393
聞いたこと無かった。試してみるわ。
404:デフォルトの名無しさん
14/05/18 03:17:11.65 fAlXIwAd.net
以下のコードを書いているのですが #1 の部分でたまにブラウザが閉じない場合があります。
何が原因なのでしょうか?
きっちりと閉じる時は閉じますが、たまに閉じない場合があるのです。
その為現在は、 iexplorerのプロセスをむりくり消すという方法を行っています。
SHDocVw.InternetExplorer ie;
mshtml.IHTMLElementCollection mshtml_ec;
do
{
url = "URLリンク(maxnko.com";)
ie = new SHDocVw.InternetExplorer();
ie.Navigate(url, null, null, null, null);
ie.Quit(); ← #1
}while(true);
405:デフォルトの名無しさん
14/05/18 04:22:37.98 gCeF58LB.net
アウトオブプロセスのCOMサーバプロセスのサーバの寿命が気になるなら
・途中で手に入ったCOMオブジェクトすべてにMarshal.ReleaseComObject
・COMオブジェクト入れてた変数は全部参照を切ってGC.Collect×2
のどっちかが必要
406:デフォルトの名無しさん
14/05/18 06:27:29.62 y6C+E1dN.net
WaitForPendingFinalizersとSleepも入れとけ
URLリンク(bbs.wankuma.com)
407:デフォルトの名無しさん
14/05/18 11:55:53.57 0kvX68pZ.net
スレリンク(pc2nanmin板:145番)
↑ ↑ ↑ ↑ ↑ ↑
408:デフォルトの名無しさん
14/05/18 17:55:09.18 KNbj8c8D.net
超初歩で申し訳ないのですが
string[,] hoge = {{"a","b","c"},{"a","b","c"}};
のような多次元配列があるとして
string[] test = hoge[0];
みたいに配列を取り出して渡すのはどうしたらいいですか?エラーがでます。
409:デフォルトの名無しさん
14/05/18 18:14:59.78 5sxTIiRh.net
これで我慢しろ
string[][] hoge = { new[] { "a", "b", "c" }, new[] { "x", "y", "z" } };
string[] test = hoge[0];
410:デフォルトの名無しさん
14/05/18 18:44:56.99 KNbj8c8D.net
ありがとうござます・・
色々な宣言方法があるんですね。
411:デフォルトの名無しさん
14/05/18 18:54:58.24 VTr3IL1L.net
多次元配列 string[,] と ジャグ配列(配列の配列) string[][] は別物なんよ
412:デフォルトの名無しさん
14/05/18 20:55:49.12 eK7aomfp.net
インデクサで実装
413:デフォルトの名無しさん
14/05/19 01:44:57.19 iSQonB5j.net
string[] test = new string[6];
test[0]=hoge[0,0];
414:デフォルトの名無しさん
14/05/20 22:50:10.77 egyHbNr6.net
System.Collections.Specialized.OrderedDictionaryが使いづらいから
genericなOrderedDictionaryを自作しようと思ったら糞面倒臭くてワロタ。
みんなどうしてるんだ?
415:デフォルトの名無しさん
14/05/20 23:14:18.45 z25AfSXU.net
内部にList<T>とDictionary<TKey, TValue>を持つクラスを作った。
416:デフォルトの名無しさん
14/05/21 03:32:42.40 v/AOEN1J.net
OrderedDictionary ってなんのために使うの?
Dictionary の中身のソートなら
417:LINQですましているけど、、、
418:デフォルトの名無しさん
14/05/21 12:09:03.26 HVPC3tHt.net
互換性のために残してるんだろ。
ジェネリック版がないのがその証拠。
419:デフォルトの名無しさん
14/05/21 17:10:09.90 mq1dIck6.net
>>396
>アウトオブプロセス
あうと・おぶ・プロセス?
420:デフォルトの名無しさん
14/05/21 18:00:01.85 DqdnR4u2a
WPFのDataGridで、どの列が画面内に表示されているかを知る方法をご存知の方いらっしゃいませんか。
広いDataGridの各セルに値を表示していて、一定間隔で表示を更新しているのだけど、
表示更新を行うのを画面内に表示されている範囲だけにしたくて、現在表示されている列を知りたいのです。
どの行が表示されるかは、DataGrid.LoadingRow/UnloadingRowイベントで簡単にわかるんだけど、
列に関してはこれに類似する便利なイベントなどが見つからなくて、悩んでいます。
ScrollChangedイベントが発生した時に各列の位置を計算して、
表示されている範囲内に収まっているかを確認するという方法を考えたんだけど、
「表示されている範囲」を取得する方法がわからず、実現できるかどうか・・・
詳しい方、知恵を貸していただけませんでしょうか。
421:デフォルトの名無しさん
14/05/21 19:03:42.30 ejLigrZg.net
そうよ。別プロセスとして起動したCOMサーバのこと。
対になる言葉もちろんin-process server.
自プロセス内でアクティベートされたCOMサーバーオブジェクトよ
422:デフォルトの名無しさん
14/05/21 19:25:24.07 bWXCPWXI.net
WPFのDataGridで、どの列が画面内に表示されているかを知る方法をご存知の方いらっしゃいませんか。
広いDataGridの各セルに値を表示していて、一定間隔で表示を更新しているのだけど、
表示更新を行うのを画面内に表示されている範囲だけにしたくて、現在表示されている列を知りたいのです。
どの行が表示されるかは、DataGrid.LoadingRow/UnloadingRowイベントで簡単にわかるんだけど、
列に関してはこれに類似する便利なイベントなどが見つからなくて、悩んでいます。
ScrollChangedイベントが発生した時に各列の位置を計算して、
表示されている範囲内に収まっているかを確認するという方法を考えたんだけど、
「表示されている範囲」を取得する方法がわからず、実現できるかどうか・・・
詳しい方、知恵を貸していただけませんでしょうか。
423:デフォルトの名無しさん
14/05/21 19:35:47.40 vOQNrfJU.net
VisualTreeHelperとかじゃねえの
もっと直接的な方法があるかもしれんが
424:デフォルトの名無しさん
14/05/21 20:51:40.21 eQl8Z8s/.net
>>412
普通にバインドしてりゃそれくらいは自動でやってくれてるぞ
それでもDataGridの糞性能はどうしようもないから、
諦めてWindowsFormsHostでDataGridViewを使うのが吉
425:デフォルトの名無しさん
14/05/21 22:08:50.68 bWXCPWXI.net
>>414
VisualTreeHelperですか・・・
使ったことないので、調べてみます。
>>414
ありがとうございます。
表示更新以外にも内部的にやりたいことがあって、表示されている列をなんとかして取得したいと考えています。
やっぱりWPFのDataGridは使えないのですね・・・DataGridViewの便利さが身にしみます。
今回すでにDataGridが用意されている中での改造をやろうとしていて、WindowsFormsHostを使うことができないので、
WPFの範囲でなんとかできる方法をもう少し試行錯誤したいと思います。
426:デフォルトの名無しさん
14/05/23 14:16:58.49 EWfyg3GH.net
標準DataGridは糞過ぎて駄目
DataGridはインフラさんやGrapeCityのつかったほうがいいぞ
427:デフォルトの名無しさん
14/05/26 11:50:26.53 QBzBPwJ7.net
閉じる?
428:デフォルトの名無しさん
14/05/26 11:51:08.04 fNjo4Ias.net
var exp = Process.Start("explorer");
// 一定時間待つ
exp.Kill();
429:デフォルトの名無しさん
14/05/26 11:55:08.95 82lch4Bs.net
ウイルス系に感染してるんじゃない?
430:デフォルトの名無しさん
14/05/26 12:27:40.15 dlApJPlM.net
普通不安定になるならエクスプローラだけ再起動してもダメだろ
PC再起動しろよ
431:デフォルトの名無しさん
14/05/26 12:54:20.63 DINwIwST.net
とゆうかエクスプローラはタスクバーでも使ってるから通知領域がおかしくなるぞ
418の言う通りウイルス疑うべき
432:デフォルトの名無しさん
14/05/26 12:57:00.00 ptXAqcmg.net
OneDrive(SkyDrive) とか GoogleDrive 止めたら安定したことがある
433:デフォルトの名無しさん
14/05/26 13:12:12.75 lvFZnHPn.net
ウィンドウを出してタスクバーに登録するあたりがおかしいんだよなw
434:デフォルトの名無しさん
14/05/26 13:24:37.36 yHJImmyi.net
丸投げ姿勢で常駐系に手を伸ばすなんてろくな事にならん
身の程知らずというものよ
435:デフォルトの名無しさん
14/05/26 13:34:07.02 82lch4Bs.net
>>422
どっちも使ったことないから知らんが、その系統ならオーバーレイアイコンの問題じゃないかな
436:デフォルトの名無しさん
14/05/26 14:00:32.79 yHJImmyi.net
そう言えば TortoiseSVN のアイコン処理がいろいろ悪さすることがあると最近知ったな
437:デフォルトの名無しさん
14/05/26 14:40:35.43 2JzRM12h.net
TortoiseGit でもアイコンのせいで超重くなるな
438:デフォルトの名無しさん
14/05/26 14:43:51.58 2JzRM12h.net
>>416 >>418
PC を長時間ログインしたままで使う人は explorer を時々再起動した方が良いのは賛成なんだが
explorer をいくつも開いてると復元が面倒なんでついつい致命的に死ぬまでそのまま使う
あと explorer の再起動はすべての explorer プロセスを列挙して全部殺して
最後の一つがタスクバーになるようにする必要があるのかな
439:デフォルトの名無しさん
14/05/26 15:32:52.83 EGdbrytd.net
explorerってタスクマネージャーでプロセス消したら勝手に立ち上がってくるよな
あれはタスクマネージャー側で再起動してる?OS側?
440:デフォルトの名無しさん
14/05/26 16:02:51.07 2JzRM12h.net
完全に消滅させられるけど?
441:デフォルトの名無しさん
14/05/26 16:10:27.65 kDM+Ms7r.net
あいつは完全に消滅した
442:デフォルトの名無しさん
14/05/26 23:03:59.59 WDt4vUzv7
初歩的な質問ですみません
他スレで回答が得られなかったのでここで質問させていただきます
配列型のプロパティを作った場合、Changedイベントを発生させるにはどのような手段を使うべきでしょうか
教えてください
443:デフォルトの名無しさん
14/05/27 00:54:38.03 RQKxbKNp.net
>>426
あれのせいで作業遅れたことあるわ
インシデント登録のために再現しようとしたら再現しなくてなんだかんだ悩んで時間無駄にした
444:デフォルトの名無しさん
14/05/27 09:50:05.50 ukhP0HT2.net
完全に消滅させるとタスクバーもいなくなるので
コマンド起動ですぐたちあげちゃうよな
445:デフォルトの名無しさん
14/05/27 10:54:06.71 Oftvh7Y1.net
デスクトップにフォーカスがある状態でAlt+F4
↓
ダイアログが出たら Ctrl + Shift + Alt + Esc 同時押し
↓
(゚д゚)ウマー
446:デフォルトの名無しさん
14/05/28 03:17:16.11 7s/YdHrO.net
>>429
unix でいうところのシェルと同等だからね
447:デフォルトの名無しさん
14/05/28 04:37:57.28 hRiIfaso.net
シェルって勝手に再起動したっけ?
448:デフォルトの名無しさん
14/05/28 06:32:42.47 r/cEnKci.net
ウィルスの仕業じゃ
449:デフォルトの名無しさん
14/05/28 08:21:07.64 pSqJyVpX.net
Windows XP SP2以降、再起動してくれることが多くなった
450:デフォルトの名無しさん
14/05/28 10:34:03.90 o+iely1Y.net
落ちたら再起動するってオプションと
外から殺されたらそのまま死んでる
って違いでしょ
451:デフォルトの名無しさん
14/05/28 10:41:47.46 EmUl6u0+.net
そんな設定あったのか。OSでの挙動の違いかと思ってた
452:デフォルトの名無しさん
14/05/28 12:13:44.09 mw4ldslt.net
フォルダとデスクトップを別プロセスにする設定にしてて
タスクバーのプロセスが死んだときに
フォルダのプロセスが残
453:ってると タスクバーのプロセスは自動復活しない
454:デフォルトの名無しさん
14/05/31 08:17:04.13 IL91pjst.net
C# は、改行のエスケープシーケンス効くのか?
string text = "Hello \
world" ;
455:デフォルトの名無しさん
14/05/31 08:29:51.35 gddrhR3Z.net
>>443
ソース通り文字列に改行が入っていいなら@を使う。
文字列に改行を入れたくないなら複数行に分けて書くのは無理。必要なら+で繋ぐ。
その場合もちろん最適化は効くからパフォーマンスへの影響はない。
456:デフォルトの名無しさん
14/05/31 15:54:04.89 QHlXh24u.net
そんなのちょっとやってみりゃ分かるだろうに
457:デフォルトの名無しさん
14/05/31 16:29:13.74 PaG8/Dzb.net
馬鹿はプログラミングに向かない典型だな
458:デフォルトの名無しさん
14/06/01 03:34:36.29 PhfrXEQQ.net
string kaigyou = System.Environment.NewLine;
459:デフォルトの名無しさん
14/06/01 23:52:35.86 qRSWaoQU.net
コントロールに設定したイベントを一時的に無効化する方法はありますでしょうか。
チェックボックスが2つあり、2つのチェックボックスのon/offによってリストボックスのアイテム一覧が変更される。2つのチェックボックスを同時にonにするボタンがある というフォームがあります。
URLリンク(i.imgur.com)
チェックボックスを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-= とすればよいのですが、今後イベントが増えた時の対応が必要ですし
フラグを作って判定する方法も今後の対応が不安です。
460:デフォルトの名無しさん
14/06/02 00:00:20.29 xvg552Op.net
フラグ方式で更新は非同期処理にする
461:デフォルトの名無しさん
14/06/02 00:02:18.38 6ca5PFlx.net
チェックボックスを男性、女性、両方の3つにする。で、「両方」をチェックしたときは男性女性の2つはenable=falseに。
でも、何かUIも更新処理ももう少し考えなおした方がいいと思う
462:デフォルトの名無しさん
14/06/02 00:13:41.69 sh0cAK63.net
>>448
だっせーUIだなw
463:デフォルトの名無しさん
14/06/02 00:15:03.30 g37RJwuh.net
>>448
こういう初心者の質問の何が困るって、まず要件である設計が誤りなんだけどそこを指摘しても納得しないんだよな。
納得しないどころか○○さんは口だけとか言われたらブチ切れそうになる。
じゃあ質問者の望む通り糞な設計のまま無理やり実現する方法を教えても「いや、それはスマートじゃないと思うんですよね!だから質問してるのに・・・」とか言われて更にブチ切れそうになる。
今もその新人を指導中なんだが教えてもらう立場の人間が一番必要な素直さと謙虚さがないからもう匙投げてる。ってこれ蛇足だったね。
464:デフォルトの名無しさん
14/06/02 00:25:23.48 9nt1DvSg.net
>>448
そういう機能を持ったカスタムコントロールを作らないと実現出来ない
465:デフォルトの名無しさん
14/06/02 01:01:47.97 Gq5/E2YM.net
既存の改修で簡単に変更できないのに
したり顔で設計が悪いの一点張りのやつとか多いよな。
Oralceの掲示板とか酷かった。
今後の対応を考えたフラグコントロールにしとけばいいと思うけどね
466:デフォルトの名無しさん
14/06/02 01:08:16.35 s/t3maig.net
そんなレベルの話じゃねえ
新人研修でクズ掴まされた運の無い野郎が
自分の境遇を一般化してグチってるだけ
467:デフォルトの名無しさん
14/06/02 01:09:41.62 9nt1DvSg.net
private以上のスコープを持つフラグはintが良い
468:デフォルトの名無しさん
14/06/02 02:51:01.91 iW1LawJK.net
普通に条件分岐でできるじゃん
469:デフォルトの名無しさん
14/06/02 06:22:33.61 uQGpdF/Z.net
CheckedChangedじゃなくてClickedを使えば、ボタンでチェックを変えた時に処理は通らん
そしてボタンの時は一度だけListBoxの更新を呼べばいい
470:デフォルトの名無しさん
14/06/02 07:04:51.96 kyFbnmGq.net
CheckedChangedイベントを抑止するか
ListBoxの更新を抑止するか
ボタンのときだけ別処理にするか
これだけならいろんな方法があるけど、
今後どう再利用していくか、どういうコントロールの増え方をするかとかに関わるからまじ設計次第だし。
それだけの情報じゃなんとも言えないというところでしょ
471:デフォルトの名無しさん
14/06/02 08:45:19.62 9bQ7GDrJ.net
>>448
普通にラジオボタンで、男性、女性、両性 とした方が分かりやすくね?
て言うかなんのアプリケーションなのか知らんけど、不明とか答えたくないとかの選択肢は要らんの?
472:デフォルトの名無しさん
14/06/02 11:20:38.92 x/2q9lNt.net
>男性、女性、両性
システム屋の発想だな
473:デフォルトの名無しさん
14/06/02 17:17:50.87 2EOO5SfK.net
女性を先に汁って言う連中もいる
474:デフォルトの名無しさん
14/06/02 17:54:36.91 cWHCj1KX.net
サベツニダ
475:デフォルトの名無しさん
14/06/02 19:20:21.89 Xbw1zxDW.net
オリンピックで国名を英語じゃなくフランス語の順にしろと言った国もあったなw
476:デフォルトの名無しさん
14/06/02 19:41:42.30 gDYNTXzr.net
一方ロシアは・・・
477:デフォルトの名無しさん
14/06/02 20:04:11.91 rZY0ZYU1.net
両性じゃなくて秘密にしとけ
478:デフォルトの名無しさん
14/06/02 23:20:05.85 QuKrCg6r.net
その他でいいだろ。
宇宙人だっているかもしれないしw
479:デフォルトの名無しさん
14/06/02 23:37:10.38 iW1LawJK.net
はぁ?
480:デフォルトの名無しさん
14/06/02 23:39:32.04 6ca5PFlx.net
俺がアスペだからかもしれんがネタなのかマジなのか判断つかんな
普通に全員とか全て選択/除外とかにしとけよ
481:デフォルトの名無しさん
14/06/03 00:00:01.32 1dA3dw+K.net
>>448って、複数のcheckboxにSelectAllボタンを加えたよくあるUIだろ。べつに変じゃないと思うがな。
逆に「両方」がcheckboxだったらかえって混乱する。
482:デフォルトの名無しさん
14/06/03 00:18:24.81 oC4KwoSO.net
>>470
男性、女性のチェックボックスがなくて、selectAllボタンがあるならよくあるUIだけど、
これはそうじゃないから珍しいUIだよ
483:デフォルトの名無しさん
14/06/03 00:33:56.69 KXoFTvPc.net
>>448
そのUIの是非はともかく、一番素直な解決法は、リストの更新を行うタイミングを
チェックボックス(UI)のイベントではなく、モデルのイベントに変更すること。
Formのコードに何でも書こうとするのが間違いのもと。
484:デフォルトの名無しさん
14/06/03 05:06:15.40 va6vQ78Z.net
>470
>Formのコードに何でも書こうとするのが間違いのもと。
これ思い出した
URLリンク(cpplover.blogspot.jp)
485:デフォルトの名無しさん
14/06/03 07:40:59.72 nZtxpwF+.net
俺なら普通にフラグにする
486:デフォルトの名無しさん
14/06/03 07:46:43.72 Y/MlbrO/.net
質問者不在でようやるわこいつら
487:デフォルトの名無しさん
14/06/03 08:21:29.46 HwC67Dpa.net
>>475
おれはキューかな
>>475
そこらじゅうに書いてるが構って君か?