トップページ⇒tech
1002コメント352KB

ふらっと C#,C♯,C#(初心者用) Part127 [無断転載禁止]©5ch.io

レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん 転載ダメ©2ch.net (ワッチョイ f290-JiRs)2017/03/14(火) 22:27:22.78ID:MclzPbbI0
「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。

他のスレッドでは書き込めないような低レベルな質問、
質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。

内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。

なお、テンプレが読めない回答者は邪魔なので後述のC#相談室に移動して下さい。
C#に関係の無い話題や荒らしの相手や罵倒レスはやめてください

>>980を踏んだ人は新スレを建てて下さい。
>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。

■前スレ
ふらっと C#,C♯,C#(初心者用) Part126
http://echo.2ch.net/test/read.cgi/tech/1482772061/

■関連スレ
C#, C♯, C#相談室 Part91
http://echo.2ch.net/test/read.cgi/tech/1467211515/

■コードを貼る場合は↓を使いましょう。
http://ideone.com/
https://dotnetfiddle.net/

■情報源
https://msdn.microsoft.com/en-us/library/gg145045.aspx
http://referencesource.microsoft.com/
VIPQ2_EXTDAT: default:vvvvv:1000:512:----: EXT was configured
0002デフォルトの名無しさん (ワッチョイ f290-JiRs)2017/03/14(火) 22:37:13.96ID:MclzPbbI0
C#でテトリスを作っているのですが、参考になるコードってないですか?
まだ初心者でバグを大量に出しながら作っているんですが、なかなか捗らないです
今はまだ未完全で汚いけどこんな感じです
https://ideone.com/c4TEhV
0003デフォルトの名無しさん (アウアウウー Sa93-bCg1)2017/03/15(水) 02:30:28.85ID:wkiqnTd/a
未完全って言葉初めて聞いたw
しょーもない突っ込みで申し訳ない
0004デフォルトの名無しさん (ワッチョイ 524c-6uAD)2017/03/15(水) 08:42:32.55ID:yzsCJmkM0
ビット演算だよな、テトリスって
0005デフォルトの名無しさん (ワッチョイ f73c-OSXz)2017/03/15(水) 08:54:49.69ID:lA4FQmjV0
テトリス ソースコード
でググれば、幾らでも参考コード転がってるだろ
0006デフォルトの名無しさん (ワッチョイ f290-JiRs)2017/03/15(水) 18:13:54.32ID:5s+i++Yx0
>>3
未完成でしたねwすいません

>>4
ビット演算ってどういうことですか?どこにそんな要素が・・・
0007デフォルトの名無しさん (ワッチョイ 524c-6uAD)2017/03/15(水) 18:16:53.39ID:yzsCJmkM0
CodeProjectにVBのとかあんね
0008デフォルトの名無しさん (ワッチョイ 524c-6uAD)2017/03/15(水) 18:26:00.87ID:yzsCJmkM0
>>6
10x10の場合

0000000000
0000000000
0000011000
0000011001
0000000011
1111110111
1111110111
1111110111
1111110111
1111110111
0009デフォルトの名無しさん (ワッチョイ f290-JiRs)2017/03/15(水) 19:11:49.17ID:5s+i++Yx0
>>8
なるほどそういうことですね
自分の場合、ブロックが動いているか動いてないかわからないので画面上を10x20の配列で空白、浮遊ブロック、固定ブロックは0,1,2で表しています
0010デフォルトの名無しさん (スププ Sd92-6uAD)2017/03/15(水) 20:36:46.48ID:RZSDKHzod
>>9
絵の部分と判定部を分けるといいよ。
あたり判定もビット演算でイケるし
0011デフォルトの名無しさん (ワッチョイ f290-JiRs)2017/03/15(水) 23:21:08.12ID:5s+i++Yx0
当たり判定や固定判定(置き判定?)ってどのような感じでするのでしょうか?
自分の場合当たり判定はまだ未完成で、置き判定は最深部の19にたどりつくか、下に固定済みブロックがある場合固定するようにしています
あと左右の移動も実際動けるかという判断もまだ未完成です
0012デフォルトの名無しさん (アウアウウー Sa93-bCg1)2017/03/15(水) 23:41:32.28ID:jlffhypza
移動回転後のブロックの位置に物体がすでにあるかないかで判定するんじゃない?
セガテトリスの有名な回転技もこういう判定をしてるから起こる現象なんだろうねたぶん

テトリスはそうでもないと思うけど、ゲーム作ったことないけどゲームって大変そうだよなほんと。
もう30年以上も前のバブルボブルの泡の処理なんていったいどうやってるのか
全然わかんないわ。
0013デフォルトの名無しさん (ワッチョイ db7b-2hGO)2017/03/15(水) 23:58:13.40ID:jtyKWGP00
>>12
ゲームなんて今の時代簡単に作れるぞ
ゲームエンジンっていうのがあって、当たり判定やら物理的な計算はあるていどエンジン側がやってくれる
PCからゲーム機、スマホまでコードはほぼ同じでビルドだけ変えればいい
今はプログラムよりはるかにゲーム素材(テクスチャ、シェーダー、ポリゴンメッシュ)を作る手間のほうが大変だわ
0014デフォルトの名無しさん (ワンミングク MM5f-CJUg)2017/03/16(木) 00:04:11.50ID:ivxQ9gfkM
ショボいハードと開発環境でよくやったもんだ
レトロゲープログラムは黒魔術の宝庫
0015デフォルトの名無しさん (オッペケ Sr97-U5LQ)2017/03/16(木) 00:25:55.47ID:yR1cNv8pr
20年ゲーム開発やってきて飽きた
0016デフォルトの名無しさん (ワッチョイ efe5-v8EU)2017/03/17(金) 17:08:46.67ID:4N1HwP8Z0
vs2015 framework 4.6系
C#でinterbase XE7にado.net プロバイダをDbProviderFactory使って接続している人いませんか?
エンバカデロで調べても2011年くらいのドライバしかなくいろいろと不安でして。
とりあえず接続できるみたいですが。
0017デフォルトの名無しさん (ワッチョイ efe5-u6wT)2017/03/17(金) 17:24:08.08ID:4N1HwP8Z0
sage忘れ失礼しました。
0018デフォルトの名無しさん (ワッチョイ bf90-M7md)2017/03/17(金) 17:47:36.61ID:94dikxGb0
すいません、テトリスについて聞いていたものです

>>12
自分はテトリスでもかなり難しいと感じています
移動先・回転後に物体がないかという判断なんてどう実装すればいいのか想像もつかないです
C#でシンプルなテトリスのソースがあれば教えてください、C言語だとどうしてもC#でもCっぽくなっていまいます
0019デフォルトの名無しさん (ワッチョイ 3f4c-tAoY)2017/03/17(金) 18:44:18.43ID:ct5skH120
>>18
飲み屋から、まずあたり判定で

_はスペース。
俺はおまえ。
姉はアレ。

____俺___ → 0b00001000 → 0x08 → Byte ore = 0x08;
姉姉__姉_姉姉 → 0b11001011 → 0xCB → Byte ane = 0xCB;

とすれば、AND演算で

if (0 != (ore & ane))
{
// 姉と
}
else
{
// セーフ
}

移動先なら、俺の左右にもう1ビットつけ0x1Cでする。

あとは他の人たのm
0020デフォルトの名無しさん (ワントンキン MM5f-CJUg)2017/03/17(金) 19:10:46.46ID:0wlX6r36M
>>19
こういう無意味な最適化はやめてコードが汚くなる
0021デフォルトの名無しさん (ワッチョイ cf5e-u6wT)2017/03/17(金) 19:19:25.65ID:dNn3pXEJ0
>>18
ここで聞かなくても参考になるソース腐るほど出てきそうなんだけど
すぐ思いつくのは移動先の状態の配列を用意しておいて該当位置に当てはめてみて一致点があれば回せないとか
なんか一度で完璧なもの作ろうとしていないか?やり方もいろいろあると思うけどできるところから作っていったら
ネットに転がっているソースを見て仕様と合わせて考えた方がここで聞くより勉強になるよ
0022デフォルトの名無しさん (ワッチョイ 0376-AJZ0)2017/03/17(金) 19:24:13.85ID:yk+dMPCw0
横だけど、試しに置いてみて一致点があれば回せないとするのは
手法の中では一番わかりやすく簡単に思えるけれど。
そうでない方法を考えようとすると結構めんどくさい話になると思う。
0023デフォルトの名無しさん (スププ Sddf-tAoY)2017/03/17(金) 19:26:54.13ID:amXHzhnUd
>>20
すまんの
0024デフォルトの名無しさん (ワッチョイ 133c-YFEm)2017/03/17(金) 19:28:22.24ID:gU2hWCcs0
回そうとして一致点があったら、全体的に1マス上にずらすもんじゃないの
0025デフォルトの名無しさん (スププ Sddf-tAoY)2017/03/17(金) 19:34:07.95ID:amXHzhnUd
ふと、モノクロビットマップで判定するって思ったけど、どうなんだろ?
0026デフォルトの名無しさん (ワッチョイ 0376-AJZ0)2017/03/17(金) 19:35:34.19ID:yk+dMPCw0
>>19 はオプティマイズうんぬんの前に例が何言ってるか分からんねw
マスク処理にビットマスクを使うのは定石だから、コードが汚いと忌諱するのも変だとも思う。
0027デフォルトの名無しさん (ワッチョイ bf90-M7md)2017/03/17(金) 19:35:36.27ID:94dikxGb0
>>19
なんとなくですがわかります
AND演算して0が帰ってきたら置けるわけですね
でもそこまでコード組み立てるのがきついですね

>>21
ロジックが全くわからない場合、解説ページなんか見ながらただソースを打つだけでも勉強になりますかね?
0028デフォルトの名無しさん (ワッチョイ 0376-AJZ0)2017/03/17(金) 19:40:09.92ID:yk+dMPCw0
>>27
テトリスの画面はサイズがちっちゃいから
boolの二次元配列を作ってやればいいと思うよ
クローン作っても知れてるし、全マスチェックでもたいしたコストにはならない。
0029デフォルトの名無しさん (ワッチョイ bf90-M7md)2017/03/17(金) 20:19:39.38ID:94dikxGb0
>>28
bool型は考えたんですが、浮遊ブロック固定ブロックの判定に困ってしまい結局int型にしたんです

あとテトリスは関係ないんですが、Form1クラス上でチェックボックスやラジオボタンでAnotherクラスの挙動を変更できるようにしているんですが
今は2番でやっているんですが、Form1クラスがイベントだらけになって困ってしまいます

1、Form1クラス内にpublicなメンバとしてそれぞれチェックボックス、ラジオボタンの状態を返すプロパティを定義し、Anotherクラスではオプション項目が実行されるたびにForm1のpublicなメンバを参照
2、Form1クラスでチェックボックスやラジオボタンのCheckChangedイベント等を使いForm1上で変更されるたびに通知

どう実装するのがいいんでしょうか?他にもっと良い方法があったら教えてください
0030デフォルトの名無しさん (ワッチョイ cf5e-u6wT)2017/03/17(金) 20:24:33.12ID:dNn3pXEJ0
>>29
引数が同じものを通知用にまとめれば用意するメソッドは減らせる
そこのなかでsenderごとの分岐処理が必要になるかもしれないが
0031デフォルトの名無しさん (アウアウウー Sa37-/20u)2017/03/17(金) 20:28:32.90ID:To9AyLhLa
ビット演算なんて使わない方がいいと思うよ個人的にはw
かえってコードが複雑になるだけ。

(1) Tetriminoオブジェクトはそれを構成するすべてのブロックの位置(原点からのオフセット)
のリストを、テトリミノの種類と現在の回転状態に合わせて返すメソッドを持つ。

(2) Fieldオブジェクトは指定位置にブロックが存在するかどうかを返すメソッドを持つ

この2つを使って普通にヒットテストする方が簡単で分かりやすい。
何が悲しくてわざわざ問題を複雑にする必要があるのか
0032デフォルトの名無しさん (ワントンキン MM5f-CJUg)2017/03/17(金) 20:40:56.58ID:0wlX6r36M
8bit時代のセピア色の思い出があるんだろう
0033デフォルトの名無しさん (スププ Sddf-tAoY)2017/03/17(金) 21:05:34.31ID:amXHzhnUd
>>31
モノクロ画像でヒットテストだったら
同じようにしかみえない。
0034デフォルトの名無しさん (ワッチョイ 0376-AJZ0)2017/03/17(金) 21:48:09.11ID:yk+dMPCw0
>>31
この手の本格的な処理をするときには必ず必要になってくるもの
テトリスは問題が小さいから、bool配列でも十分なだけ。
勉強として面倒といわずビット処理はやっておくべきだろう
やらない理由は、たくさんの事を一度にしようとすると心が折れるからという事以上の話ではないよ。
0035デフォルトの名無しさん (ワッチョイ 0376-AJZ0)2017/03/17(金) 21:51:58.37ID:yk+dMPCw0
>>29
まぁ、気の向くままやればいいとは思うけれど
固定ブロック用と移動してくるブロック用で、二つ配列を準備してやれば問題が綺麗に分かれるよ。
あとはfor文なりで同一マスに重なってないか調べればいい。
0036デフォルトの名無しさん (JP 0H17-u6wT)2017/03/17(金) 21:53:34.95ID:NMA0GcjeH
>>34
逆やろ
テトリスは問題が小さいからビット演算でもどうにかなるだけ
0037デフォルトの名無しさん (ワントンキン MM5f-CJUg)2017/03/17(金) 21:59:27.21ID:0wlX6r36M
ビット演算を使うとおかしくなるのか
0038デフォルトの名無しさん (アウアウウー Sa37-/20u)2017/03/17(金) 22:26:52.64ID:To9AyLhLa
ビット演算なんて中学生でも分かるってw
大上段に構えて「勉強する」程のことでもない。
そんなことより可読的なコードを書くことの方が何倍も重要でしょ

フィールド上のブロックが存在する行全体をビットイメージで
読みだす(int[]?)にしろ、ブロックが存在する矩形部分だけを
CRTの走査線状にスキャンして読みだす(int?)にしろ、
そんなコードが理解しやすいものになるはずがない
0039デフォルトの名無しさん (アウアウウー Sa37-/20u)2017/03/17(金) 22:29:29.04ID:To9AyLhLa
ごめんブロックじゃなくてテトリミノって言うんだったなあれ
0040デフォルトの名無しさん (ワッチョイ 133c-HzoT)2017/03/17(金) 22:43:56.60ID:zPEoLLc90
>>38
可読的?
0041デフォルトの名無しさん (ワッチョイ 33a7-tAoY)2017/03/17(金) 23:12:36.99ID:e8roEC6e0
>>38
?
0042デフォルトの名無しさん (ワントンキン MM5f-CJUg)2017/03/17(金) 23:46:31.08ID:0wlX6r36M
>>38
ネタはいいから真面目にやって
0043デフォルトの名無しさん (ワッチョイ bf30-9Ocd)2017/03/17(金) 23:51:42.18ID:gTyXrRTf0
渾身のネタにこのようなリアクション
0044デフォルトの名無しさん (ワッチョイ 0376-AJZ0)2017/03/17(金) 23:54:37.08ID:yk+dMPCw0
>>36
bool(1byte)で一つづつ比較するのと long で64個まとめて比較するのでは64倍速くなるから
テトリスのマスの数が1000x1000といった大きなサイズになると、boolでは実用性が無くなるが
ビット比較なら特に問題なく動作するという事はあるんだよ。
0045デフォルトの名無しさん (ワッチョイ a3dc-QFag)2017/03/18(土) 01:16:46.09ID:Ao4ZP8MA0
たかが64倍とも言える
計算量のオーダーが変わるわけじゃない
初心者スレ的には、小手先の最適化よりまずはアルゴリズムを学んだ方がいいよ
0046デフォルトの名無しさん (ワッチョイ 8fcb-xc9G)2017/03/18(土) 01:19:13.16ID:SJyQVDEK0
1000x1000とかデケーなテトリス
0047デフォルトの名無しさん (ワッチョイ 33a7-tAoY)2017/03/18(土) 01:33:01.76ID:x0Zb34p90
結局、可読的なアルゴリズムのあたり判定のアルゴリズムってどうなん?
0048デフォルトの名無しさん (ワッチョイ 33a7-tAoY)2017/03/18(土) 01:33:46.66ID:x0Zb34p90
って何書いてるんだ自分
0049デフォルトの名無しさん (アウアウウー Sa37-/20u)2017/03/18(土) 01:34:05.18ID:rXXwyjPPa
これは確実に言えるけど、>>38に書いたような該当箇所のビットイメージを作成する
処理はかなり重いよw

素直に>>31のようにやった方が恐らく早い
しかもわかりにくいコードになるからいいところなしだ。
0050デフォルトの名無しさん (ワッチョイ 133c-YFEm)2017/03/18(土) 01:41:26.56ID:IPNYUeBX0
たかだかビット演算で分かり難いとか言っちゃうのは、単にコードを読む能力が不足し過ぎてるだけでは……
0051デフォルトの名無しさん (アウアウウー Sa37-/20u)2017/03/18(土) 01:44:14.09ID:rXXwyjPPa
>>50
どういう読解力だよ

ビット演算なんて中学生でもわかる簡単な話だが、
必要なビットイメージを作成する処理は可読的なものにならないと言ってるんだけど。
0052デフォルトの名無しさん (ワッチョイ 23dd-cnsb)2017/03/18(土) 05:22:08.56ID:5tfkFlUW0
フォーム上のbutton1,button2...と続くものをループ処理したいのですが、旨くできません。ご教示ください。
0053デフォルトの名無しさん (ワッチョイ ef13-/5lB)2017/03/18(土) 05:39:51.24ID:riSljxtq0
>>52
Buttonの配列作って処理したらいいのでは?
0054デフォルトの名無しさん (ワッチョイ 33a7-tAoY)2017/03/18(土) 06:06:11.56ID:x0Zb34p90
>>50
>必要なビットイメージを作成する処理は
>可読的なものにならないと言ってるんだけど。

ここ詳しく
0055デフォルトの名無しさん (ワッチョイ a3dc-QFag)2017/03/18(土) 09:39:29.54ID:Ao4ZP8MA0
>>52
(Button)Controls[“button” + i]
毛嫌いする人もいるけど今時は設定より規約よ
0056デフォルトの名無しさん (ワッチョイ cf5e-u6wT)2017/03/18(土) 09:48:29.45ID:nb8peadM0
>>52
連番だけなら>>55だし
あとフォーム上のすべてのボタンだと例えば
foreach (Control c in this.Controls) if (c.GetType() == typeof(Button)) ((Button)c).PerformClick();
保守考えると>>53の方が多分扱いやすい
0057デフォルトの名無しさん (ワントンキン MM5f-CJUg)2017/03/18(土) 10:03:46.58ID:Gq5DbfzeM
void DoSomething() {
foreach(var button in GetButtonNs()) {
DoSomething(button);
}
}

IEnumerable<Button> GetButtonNs() {
var reg = new Regex("^button\d+$", RegexOptions.Compiled);
return GetControls().OfType<Button>().Where(b => reg.IsMatch(b.Name));
}

static IEnumerable<Control> GetControls(Control parent) {
if (parent != null) {
yield return parent;
foreach (var child in parent.Controls) {
foreach (var descendant in GetControls(child)) {
yield return descendant;
}
}
}
}
0058デフォルトの名無しさん (ワッチョイ 23dd-cnsb)2017/03/18(土) 12:21:39.92ID:5tfkFlUW0
>>55
>>56
>>57
>>53
せっかく教えて頂いたところ、
InitializeComponent();のあとに
foreach (Control c in this.Controls) をまわしてみたところ、要素がみつかりません。もしかして、panelの上に配置してるのがまずいのでしょうか?
0059デフォルトの名無しさん (スププ Sddf-/5lB)2017/03/18(土) 12:28:02.71ID:Dyy1P5+Ld
>>58
じゃあパネルのControlsプロパティを調べなさい
0060デフォルトの名無しさん (アウアウウー Sa37-ocw+)2017/03/18(土) 12:49:25.28ID:MAxv0qJ7a
私も初心者です。便乗ですがコントロールを配列にするのは
enumにするのが一番ですか?
一般的な普通の配列やlistにするのはやっぱりマズイですか?
0061デフォルトの名無しさん (ワッチョイ ef19-LqE4)2017/03/18(土) 13:17:13.10ID:JkN6BgGG0
いつもlistにしてる
0062デフォルトの名無しさん (ワッチョイ 23dd-cnsb)2017/03/18(土) 13:19:14.78ID:5tfkFlUW0
>>59
パネルのプロパティから取得できました!

皆さんありがとうございます!
0063デフォルトの名無しさん (ワッチョイ 3f4c-SJUV)2017/03/18(土) 17:30:41.83ID:Bz2opibN0
昨日までのテトリスの話つぼったww
あれだけレス返すのにソースがこれっぽっちもないwwww
0064デフォルトの名無しさん (ワンミングク MM5f-qjY6)2017/03/18(土) 17:45:26.12ID:sZRSqPbMM
つ https://github.com/DQNEO/CppTetris
読んで、C#で作ってみなされ
0065デフォルトの名無しさん (ワッチョイ 3f4c-tAoY)2017/03/18(土) 18:16:41.91ID:Bz2opibN0
>>31
この内容興味あるな。
ヒット判定した後のクリア処理とかどうすんだろうか?
クリア分オフセットを縦にずらすのかな?
0066デフォルトの名無しさん (アウアウウー Sa37-/20u)2017/03/18(土) 18:43:13.06ID:xCo3fT46a
>>63
別にお前さんがソース提示したっていいんだよ。
できるならな。

いくらテトリスがゲームとしては比較的単純だと言っても
話題になってるような判定処理の部分だけを全体の設計から切り離して
書けるほど単純じゃねえだろ。

そのぐらい分かれよ。
0067デフォルトの名無しさん (ワッチョイ cf7b-vzQh)2017/03/18(土) 20:14:20.71ID:STVlMw5Y0
テトリスは回転もあるし、素人には絶対ムリ

素人向きなのは、Unreal Engine で、ブロック崩しとか
0068デフォルトの名無しさん (ワッチョイ cf42-94H2)2017/03/18(土) 20:25:14.76ID:K13sbRYt0
昔ニコ動かどっかに1時間くらいで環境構築からテトリス作成する動画あったな
もちろん動画はカット編集とか無しのガチで1時間
クリーンインストールしたPCで開始して画像製作もその時間で仕上げるんだから結構すごいなって思った
0069デフォルトの名無しさん (ワッチョイ bf3c-3fK7)2017/03/18(土) 20:30:53.03ID:1jN6Nl4i0
それを参考にして C#+WPF で作成
http://takachan.hatenablog.com/entry/2015/03/25/233341
0070デフォルトの名無しさん (ワントンキン MM5f-CJUg)2017/03/18(土) 21:19:50.38ID:Gq5DbfzeM
クリーンインストールしたPCにアップデートと開発環境入れるだけで1時間以上かかるだろ
0071デフォルトの名無しさん (ワッチョイ cf42-94H2)2017/03/18(土) 21:29:21.96ID:K13sbRYt0
>>70
そんなガッツリしたもんじゃないよ
エディタはメモ帳だったと思うし
便利なツールはいっぱいあるけどそういうのは全部取っ払ってプログラムってのはこういうもんだよっていうレクチャーには良い動画だった
0072デフォルトの名無しさん (ワッチョイ 133c-YFEm)2017/03/18(土) 21:31:20.66ID:IPNYUeBX0
Borland C++ Compiler とかだろうか
あれなら導入早い
0073デフォルトの名無しさん (ワッチョイ 837b-ns4E)2017/03/18(土) 22:32:07.60ID:IUCfFveo0
電話番号の正規表現のパターンで、ハイフンありとハイフンなし両方マッチ出来るパターンを教えてください。
ハイフンありとなし用それぞれ個別に定義してるんですが、一括にしたいです。
0074デフォルトの名無しさん (ワッチョイ 837b-ns4E)2017/03/18(土) 22:33:47.90ID:IUCfFveo0
すみませんとりあえず[-?\\d]+で動きました・・・・
0075デフォルトの名無しさん (ワッチョイ 8fcb-xc9G)2017/03/18(土) 22:35:45.31ID:SJyQVDEK0
ハイフンなんか捨てちゃえばいいじゃん
0076デフォルトの名無しさん (ワッチョイ a3dc-QFag)2017/03/18(土) 22:57:20.73ID:Ao4ZP8MA0
>>74
それ ――――――――――8―――――― でも通るぞ
0077デフォルトの名無しさん (ワッチョイ ef86-ocw+)2017/03/19(日) 00:16:27.53ID:DWsQT7k40
電話番号って人というか地方によっては
最初の3桁で切ったり2桁だったり4桁だったりいろいろ。
数字さえあってればハイフンなんかどこにあってもいいから
---08011112222って入力してもいいわけだし。
ならチェックする時はハイフン取って
チェックすべきじゃね?
0078デフォルトの名無しさん (ワッチョイ cf9d-u6wT)2017/03/19(日) 00:47:58.32ID:kR5w9vh20
単一テーブルで済む10,000件程度のデータだったらなにつかう?SQLite?XML?compact edition?
アプリ起動時に全件取得してグリッドに展開するんだけど一番はやいのどれ?
0079デフォルトの名無しさん (ワッチョイ a3dc-QFag)2017/03/19(日) 00:51:21.35ID:xqSElSFg0
>>78
起動時に全件取得するだけならDBなんぞ要らん
CSVかJSON Linesで十分
0080デフォルトの名無しさん (ワッチョイ 43d6-tpgq)2017/03/19(日) 00:51:43.66ID:PWrmpV5o0
ここで聞かずに自分で試せ
0081デフォルトの名無しさん (ワッチョイ bf30-9Ocd)2017/03/19(日) 02:44:05.24ID:er1A5tjj0
一番早いのは自殺することだよ死ね
0082デフォルトの名無しさん (ワッチョイ 23dd-cnsb)2017/03/19(日) 05:24:18.87ID:sPSEYXuE0
>>78
csvで一瞬
0083デフォルトの名無しさん (ワッチョイ bf3c-3fK7)2017/03/19(日) 10:30:33.06ID:IinMJCLx0
>>77
入力時のチェックとかなんでしょ
俺なら ^\d+(?:-\d+)*$ にするかな
0084デフォルトの名無しさん (ワッチョイ f33c-w0Gz)2017/03/19(日) 10:53:48.13ID:jTJMP1Ep0
全角数字も許してるのは意図的だよな?
0085デフォルトの名無しさん (アウアウウー Sa37-ocw+)2017/03/19(日) 11:08:17.40ID:XP3QTKYFa
>>83
ハイフン入力が許可されている上に
電話番号とはどこにハイフンがあるのか決まってないのに
最初だけはハイフン入力を禁止するメリットが
感じられないよ。
0086デフォルトの名無しさん (アウアウウー Sa37-ocw+)2017/03/19(日) 11:12:19.43ID:XP3QTKYFa
チェックする対象をそのまま再表示させるときに
顧客が「最初にハイフンで始まるのはみっともないから
禁止にしてくれ」
という要件があるときなら別だが
0087デフォルトの名無しさん (ワッチョイ bf17-M7md)2017/03/19(日) 11:25:49.14ID:/s/PFzqm0
電話番号の場合、番号自体にハイフンは含まれず、番号同士の区切りとして使用されている。
なら最初にハイフンが来るってのは入力誤りとしてみていい、という考え方も出来るな。
むしろその「区切り」がハイフンに限定されてないってことの方が面倒くさい予感がする。

まあどちらにしろお客さんに確認して決めてもらえばいいだけの話だけど。
0088デフォルトの名無しさん (ワッチョイ 133c-YFEm)2017/03/19(日) 11:30:39.00ID:KOfw/Vvp0
UIコントロール側で、数字以外が入力されても無効化される様にしとくとかな
0089デフォルトの名無しさん (ワッチョイ bf3c-3fK7)2017/03/19(日) 11:40:02.83ID:IinMJCLx0
>>85
最初だけ?
0--1 とかも弾いてる
って言うかそっちがメインなんだけどね
まあ俺ならこうするって話だからお前は好きなようにすればいいよ
0090デフォルトの名無しさん (ワッチョイ 53c0-u6wT)2017/03/19(日) 11:49:33.07ID:ZBd9Ow6v0
電話番号は数字入力限定にしてハイフンはこちら側で表示するのが楽だったな
0091デフォルトの名無しさん (ワッチョイ ef86-ocw+)2017/03/19(日) 11:53:40.38ID:DWsQT7k40
>>89
>0--1 とかも弾いてる
そんなちぇっする位なら
>>77でよくね?まさかリプレイス知らんの?
0092デフォルトの名無しさん (ワッチョイ ef86-ocw+)2017/03/19(日) 11:54:40.88ID:DWsQT7k40
×そんなちぇっ
○そんなチェック
0093デフォルトの名無しさん (ワッチョイ b353-935v)2017/03/19(日) 12:05:39.93ID:NLwuZbNb0
>>73
>ハイフンありとなし用それぞれ個別に定義してるんですが、一括にしたいです。
今の別個定義を明記し正規表現スレいけば
0094デフォルトの名無しさん (ワッチョイ bf3c-3fK7)2017/03/19(日) 12:23:30.39ID:IinMJCLx0
>>91
だから自分の好きなようにすればいいだろ
入力された内容をそのまま格納したいって言う用途はそこそこあるから常にリプレイスでいいわけじゃないし
0095デフォルトの名無しさん (ワッチョイ 2359-qwZ9)2017/03/19(日) 12:24:34.80ID:yhAiVzME0
>>78
SQL Server Compactは無いな。
VSですらSQLiteに移行した。
0096デフォルトの名無しさん (ワッチョイ bf17-M7md)2017/03/19(日) 12:31:28.97ID:/s/PFzqm0
まあ実際、利用する側としてみたらハイフンないと分かりづらいものね。
作る側の都合を優先するわけにもいかないのが辛いよね。
0097デフォルトの名無しさん (ワッチョイ ef86-ocw+)2017/03/19(日) 13:04:38.64ID:DWsQT7k40
>>96
入力
↓
変数a
↓
(ハイフン削ぎ落とし)→変数b
↓
チェック結果←チェック処理(変数b)
↓
trueなら変数a出力


これで良くね?って意味
0098デフォルトの名無しさん (ワッチョイ 8fcb-xc9G)2017/03/19(日) 13:35:32.03ID:T+JU6hX20
>>97
こんな簡単なことを説明せなわからんのか?バカ!
って思うけどおそらくbindingとかいうクソ機能に載せてるからそれもできないと予想

だっせーwwwwwwww
0099デフォルトの名無しさん (ワッチョイ bf17-M7md)2017/03/19(日) 13:56:05.97ID:/s/PFzqm0
求めてるチェックの内容が違うんだろうな。
好きにすればいいと思う。に同意。
0100デフォルトの名無しさん (ワッチョイ bf3c-3fK7)2017/03/19(日) 14:04:18.02ID:IinMJCLx0
なんでそんな面倒なことするんだろう...
0101デフォルトの名無しさん (ワッチョイ bf30-9Ocd)2017/03/19(日) 14:53:20.01ID:58yonE+50
73が74で動いたって言ってんだから要件はそれでいいんだろ
どこの第三者だよ勝手に反対しているのは
0102デフォルトの名無しさん (ワッチョイ 33a7-SJUV)2017/03/19(日) 19:29:04.86ID:zv3HVI5W0
この前のテトリスの話もだが絶対厨がいるんだよ。
0103デフォルトの名無しさん (ワッチョイ bf90-M7md)2017/03/19(日) 20:17:58.70ID:18xjVn6j0
WebBrowserにCookieを設定するのって以下でできないんでしょうか?
デバッグ見ていてNavigateメソッドが呼ばれないんですけど・・・


webBrowser1.Document.Cookie = "name=value;name=value";
webBrowser1.Navigate("http://hogehoge.com";);
0104デフォルトの名無しさん (ワッチョイ ef13-/5lB)2017/03/19(日) 22:43:38.15ID:IgdfS+kN0
>>103
それはサーバーから返ってきたCookieが入るとこでしょ
Navigate(string,string,byte,string)
の第4引数に入れてみては
0105デフォルトの名無しさん (ワッチョイ bf90-M7md)2017/03/19(日) 23:04:28.91ID:18xjVn6j0
webBrowser1.Navigate("https://hoge.com";, null, null, "Cookie:name=value;name=value;");
このように試してみましたがダメでした
0106デフォルトの名無しさん (ワッチョイ 8fcb-xc9G)2017/03/19(日) 23:42:23.02ID:T+JU6hX20
ところでちょっと前からwebャuラウザ関連の封キきまくってる瑞lは明らかに
実力以上のものを背負い込んでしまって辛そうだな
何か突っかかるたびにここで聞いてないか?
0107デフォルトの名無しさん (ワッチョイ ef86-ocw+)2017/03/20(月) 00:30:13.13ID:pi/vFj6F0
>>106
は?
0108デフォルトの名無しさん (ワッチョイ bf30-9Ocd)2017/03/20(月) 01:25:03.58ID:6EO7QiL70
は?じゃねえよ
ストレートに言って欲しいのか
お前の能力値じゃ100年早いんだよ死ね
0109デフォルトの名無しさん (ワッチョイ 33a7-tAoY)2017/03/20(月) 01:32:55.77ID:Sn5smZ/60
へ?
0110デフォルトの名無しさん (ワッチョイ bf90-M7md)2017/03/20(月) 05:54:36.13ID:bOz7i6030
恐縮なのですがMSDNライブラリ見る限りWebBrowser.Document.CookieクラスでCookieを取得、設定するって書いてあるんですが違うんですか?
0111デフォルトの名無しさん (ワッチョイ ef86-ocw+)2017/03/20(月) 07:21:07.99ID:pi/vFj6F0
>>106翻訳できる奴いんの?
0112デフォルトの名無しさん (オッペケ Sr97-U5LQ)2017/03/20(月) 08:55:26.82ID:o5mEr8dwr
100年後もC#あるのかね?
0113デフォルトの名無しさん (ワッチョイ 33a7-tAoY)2017/03/20(月) 09:57:20.29ID:Sn5smZ/60
アホの戯言だから気にするな
0114デフォルトの名無しさん (ワッチョイ 8fcb-xc9G)2017/03/20(月) 11:00:55.93ID:AjFDkqu30
webbrowser c# cookie 設定

でググったらそれっぽいの出てきたよ
0115デフォルトの名無しさん (ワッチョイ bf90-M7md)2017/03/20(月) 13:14:10.30ID:bOz7i6030
InternetSetCookieですか?あれだとIEまでCookieが設定されませんか?
0116デフォルトの名無しさん (ドコグロ MMdf-xc9G)2017/03/20(月) 13:26:56.33ID:LvUuGVTWM
>>115
じゃあ問題はcookieの設定や取得ができないことじゃないんだね?
0117デフォルトの名無しさん (ワッチョイ 5341-3xgA)2017/03/20(月) 14:50:51.45ID:W87CYmkA0
>>112
まず人類が・・・

その頃は専門プログラマは
1社に数人とかになってるんじゃないかな?

C#よりも平易な記述って想像しにくいけど
より良い言語が出てきてんじゃね?
0118デフォルトの名無しさん (オッペケ Sr97-U5LQ)2017/03/20(月) 14:59:57.38ID:o5mEr8dwr
100年って進化はかなりのもんだよな
0119デフォルトの名無しさん (ワッチョイ bf90-M7md)2017/03/20(月) 17:16:18.02ID:bOz7i6030
>>116
なんか誘導尋問みたいになっていますが・・・
Document.Cookieで設定できないので記述がおかしいのかなと思い質問させてもらったんです
0120デフォルトの名無しさん (ワッチョイ cf42-94H2)2017/03/20(月) 19:15:44.24ID:vFTbbfj20
>>119
IEの事が問題なの?君は何に困っているんだい?
0121デフォルトの名無しさん (ワッチョイ 8fcb-xc9G)2017/03/20(月) 19:17:15.82ID:AjFDkqu30
そもそもどこのcookieを取得して、どこのcookieに保存したいのか?
0122デフォルトの名無しさん (ワッチョイ bf90-M7md)2017/03/20(月) 19:27:20.14ID:bOz7i6030
>>120
上のほうにも書いてあるとおりDocument.Cookieプロパティを使ってCookieが設定できなくて困っているんです

>>121
Cookie取得したいわけではないです
ただwebBroserに事前に取得したCookieを設定したいだけなんです
0123デフォルトの名無しさん (ワッチョイ 8fcb-xc9G)2017/03/20(月) 21:52:08.39ID:AjFDkqu30
>>122
ググるとそいつで設定すると同じ名前で複数できるって記述がある
まともな方法じゃねーんじゃね?
0124デフォルトの名無しさん (ワッチョイ bf7b-vMI+)2017/03/20(月) 21:52:40.28ID:1C/wTzjH0
>>105の方法で4番めのheaders引数の尻に改行つければいいんでないの
ググったらそんなコードあったけど
0125デフォルトの名無しさん (ワッチョイ ef86-ocw+)2017/03/20(月) 22:02:46.62ID:pi/vFj6F0
>>122
最初のアクセス時はdocumentがnullだから設定できないよ。
(try〜catchで見てるよね?)

一端全部処理が終わってブラウザに表示されてから
再度同じURLでアクセスすればできるよ。
でもそんな動き変だから
他にやり方があるんじゃね?
初心者じゃない方で聞いてみれば?
因みに
navigatメソッド
↓
処理終了してブラウザ開く
一端ここで終わり。ブラウザを開いたまま同じことをする
↓
navigatメソッド
↓
document.クッキーにクッキーを設定
↓
ブラウザ開く
この時なら設定されてるよ。

因みにURL先にない項目は設定されない。
0126デフォルトの名無しさん (ワッチョイ cf92-tpgq)2017/03/22(水) 13:24:53.95ID:lIDSj6CK0
ブラウザ関連の質問続いているみたいなので便乗して質問させてください

WebBrowser wb = new WebBrowser();
wb.Navigate("http://www.yahoo.co.jp/";);
ブラウザの読み込みが終わったら処理Aをする。
これをやりたい場合ってDocumentCompletedイベントを使うしかないのでしょうか?

wb.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(Completed);
private void Completed(object sender,WebBrowserDocumentCompletedEventArgs e)
{
  if(e.Url ==new Uri("http://jp.leagueoflegends.com/";)){
 処理A
}
}

読み込んだアドレスごとに分岐などをすればいいのでしょうが、
処理A のあと、GoogleのTOPを表示して処理B、Gooのページを表示して処理Bとすると
コードが複雑になりますし、同じページで違う処理をしたい場合などには各処理にイベントを分ける必要がありますよね?

ページA読み込み
ページA読み込み終了
処理A
ページB読み込み
ページB読み込み終了
処理B
ページA読み込み
ページA読み込み終了
処理C

上記のように見やすく端的に処理を進めたい場合ってどのようにすればいいのでしょうか?
0127デフォルトの名無しさん (オッペケ Sr97-U5LQ)2017/03/22(水) 13:29:06.04ID:7zaDxJTNr
一つのページを読み込んでもDocumentCompletedイベントは複数回呼ばれることがあるからそれではダメ
なぜ複数回呼ばれるかは、iframeがあったらその分イベント呼ぶ仕様になってる
あとajaxの後読みも考えるとそんな単純にはいかない
ここはみんな苦労してる
0128デフォルトの名無しさん (ササクッテロレ Sp97-CJUg)2017/03/22(水) 13:30:35.06ID:j7n5bdMUp
ajaxの通信が終わったのを外部から検知できる方法あるの?
0129デフォルトの名無しさん (オッペケ Sr97-U5LQ)2017/03/22(水) 14:19:10.58ID:7zaDxJTNr
単純に読み込みが終わったかはフリーズさせないようにループ処理の中で前回取得したhtmlの長さと今回取得したhtmlの長さを比較して同じ長さになったら読み込み完了ってすればいい。

ただし回線細かったり重いサーバーの場合は長さ比較だけじゃダメだからBusy状態かも確認しながらやる
それとレスポンスコードもみたり

ほんと面倒

海外のサイトとかみたりしながらいろいろやってはみている
0130デフォルトの名無しさん (ワッチョイ aa13-jHpr)2017/03/23(木) 18:35:48.68ID:rtOuucY00
>>125
返信送れてすいません

webBrowser1.Navigate("https://hoge.org";);
webBrowser1.Stop();
webBrowser1.Navigate("https://hoge.org";);
webBrowser1.Document.Cookie = "name=value";
webBrowser1.Document.Cookie = "name=value";
としましたがダメでした
0131デフォルトの名無しさん (ワッチョイ ee70-l8W9)2017/03/23(木) 18:53:40.84ID:HuteCzcG0
>>130
ちゃんと125の手順通りやってみるが吉
コードで1発で解決できたらそれに越したことないけど現状できないんだから
まず問題の切り分けに使える情報を探すべきっしょ
0132デフォルトの名無しさん (ワッチョイ aa13-jHpr)2017/03/23(木) 19:12:45.62ID:rtOuucY00
>>131
最初のnavigateメソッドを呼んでから「処理終了して〜ブラウザを開いたまま同じことをする」てのがわからないです
ブラウザを開いたままってどういうことですか?
0133>>126 (ワッチョイ fe92-VHv+)2017/03/24(金) 00:15:56.39ID:nHskNCkL0
やっぱりページのロード完了の見極めは皆さん苦労してらっしゃるんですね。
工夫してなんとかやってみます、ありがとうございました。
0134デフォルトの名無しさん (ワッチョイ 2686-itQV)2017/03/24(金) 06:50:20.88ID:OFGxPp1+0
>>130
最初のNavigatメソッドを実行したらブラウザ開くだろ。
それ以下のコードは不要。
その代わりdocumentがnullかどうかの判定が必要。
nullなら何もしない
nullじゃなければクッキー設定できる。
documentがnullだから設定できないんだよ。
で自分はボタンクリックイベントにそれを書いたからボタン2回押しただけだが
お前はどうやってそれを呼んでるのかは知らね。

で、この処理(2回イベント発生させる処理)だと不自然だから
初心者じゃない方できけば?
0135デフォルトの名無しさん (スププ Sd4a-o9Vz)2017/03/29(水) 20:47:08.25ID:JXfRhtQXd
更新がないから私から

みんな、WPFとかUWPとか勉強してる?
0136デフォルトの名無しさん (ワッチョイ 93fc-5sBS)2017/03/29(水) 20:51:55.40ID:1OMX6uQi0
社内向けのツールをWPFでちょこっと作ったぐらい
UWPは制限多くて手すらつけてない
0137デフォルトの名無しさん (スププ Sd4a-o9Vz)2017/03/29(水) 21:16:11.59ID:JXfRhtQXd
>>136
やっぱり!

WPFを数本作ったけど、こっちはメモリーリーク悩まされました。
(WeakEvent系のアレ)

UWPは色々情報はでてくるけど、これに乗っていいもんか怖くて


皆こんな感じなのかな?
0138デフォルトの名無しさん (ワントンキン MM9a-1VOV)2017/03/29(水) 21:19:47.65ID:WD4s9k1/M
HTMLでいいじゃないか
0139デフォルトの名無しさん (ワッチョイ 2f75-m8YS)2017/03/29(水) 22:11:14.84ID:LLZ0cCf40
慣れんせいもあるだろうがHTMLはレイアウトが非直感的すぎてXAMLが恋しい
0140デフォルトの名無しさん (ワッチョイ 2b3f-o9Vz)2017/03/29(水) 22:11:34.45ID:XWW3EG2e0
>>138
HTML5が良くできる子なんで、簡単なハイブリッドアプリはこれで良い気もする。
0141デフォルトの名無しさん (ワッチョイ 2b3f-o9Vz)2017/03/29(水) 22:14:41.72ID:XWW3EG2e0
>>139
XAML覚えたけど、これに費やした時間の元はとれるのであろうか…
0142デフォルトの名無しさん (アウアウウー Sa3f-l13g)2017/03/29(水) 22:18:36.65ID:mkgm3nFma
HTAのHTML5版はないんだっけ?
0143デフォルトの名無しさん (ワッチョイ 7f93-VHv+)2017/03/29(水) 22:20:02.13ID:mYUy879w0
デザインはHTML5/CSS3、コードはC#ってのはできるの?
0144デフォルトの名無しさん (ワッチョイ 2b99-rRK2)2017/03/29(水) 22:21:19.65ID:FsTLow+d0
DataGridが無かった頃から使ってるが
恐れ多くて覚えたなんて言えない
0145デフォルトの名無しさん (ワントンキン MM9a-1VOV)2017/03/29(水) 22:31:54.87ID:WD4s9k1/M
>>143
ただのASP.NETじゃん
0146デフォルトの名無しさん (ワッチョイ 7f93-VHv+)2017/03/29(水) 22:40:08.54ID:mYUy879w0
>>145
WinFormsやWPFの代わりに使いたいのよ
0147デフォルトの名無しさん (ワッチョイ 2a72-Lcoi)2017/03/29(水) 22:41:46.28ID:fp6Q/5Tv0
Electronでいいっしょ、スレチだが
0148デフォルトの名無しさん (ワントンキン MM9a-1VOV)2017/03/29(水) 22:49:57.00ID:WD4s9k1/M
>>146
セルフホストすればいいよ
0149デフォルトの名無しさん (ワッチョイ 57cd-Y5+h)2017/03/29(水) 23:13:18.61ID:3SHreDlK0
ASP.NetとかWPFより面倒臭くないか
0150デフォルトの名無しさん (ワッチョイ b7d4-dtxQ)2017/03/29(水) 23:25:42.83ID:I/A0mp990
MSがElectronに乗り換えたという圧倒的事実…
0151デフォルトの名無しさん (ワッチョイ 6a79-rRK2)2017/03/29(水) 23:29:13.32ID:go5sII7e0
VSCodeを作ってて思うところあったんだろ
0152デフォルトの名無しさん (ワッチョイ 57cd-Y5+h)2017/03/29(水) 23:35:17.77ID:3SHreDlK0
>>150
VSはミーハーだから。いつ飽きるか分からんよ。
VSで採用されたからとSQL Server Compactにしたのに、VSはさっくりSQliteに乗り換えられちゃったよ。
0153デフォルトの名無しさん (ワッチョイ bf79-B9bM)2017/03/30(木) 00:11:37.85ID:kqK6AEA90
そういえば何とかRTってのもあったな…
0154デフォルトの名無しさん (ワッチョイ bf8c-jsM4)2017/03/30(木) 20:59:53.15ID:v68A29gT0
飽きっぽいというかとりあえず全部のマスにBETしてる
0155デフォルトの名無しさん (ワッチョイ cfe2-kVPK)2017/04/01(土) 21:41:07.37ID:J/QuZmvY0
俺に10億ドルほどベットしてくれ
0156デフォルトの名無しさん (ワッチョイ c393-agmj)2017/04/01(土) 22:51:48.52ID:e8+vV6Vv0
倍率0に誰がベットするんですかね…
0157デフォルトの名無しさん (ワッチョイ cfc8-jsM4)2017/04/03(月) 17:05:15.59ID:fwtSEQPv0
低レベルな質問で恥ずかしいのですが教えてください


 問
 3×3の二次元配列を作成し、それぞれに0から9の乱数を発生させ
 実行例のように、その内容と、数値の最大値・最小値を表示させなさい。

 実行結果の例
 1 2 3
 5 1 9
 0 3 4

 最大値:9
 最小値:0


この練習問題で引っかかっています
自分では http://ideone.com/4ATq36 のように書いたのですが
どこが悪いのか教えてもらえないでしょうか
よろしくお願いします
0158デフォルトの名無しさん (ワッチョイ 8392-agmj)2017/04/03(月) 17:19:24.13ID:cHLHvYhl0
ここ
for (int i = 0; i < 9; ++i)
{
0159デフォルトの名無しさん (ワッチョイ a319-Gqv2)2017/04/03(月) 18:28:41.59ID:37UMYEZh0
> int m, n;
> for (m = 0; m < 3; ++m)
昔の昔のC言語じゃないんだから変数はメソッド冒頭じゃなくて使うときに宣言
for (int m = 略
0160デフォルトの名無しさん (スフッ Sddf-FAdf)2017/04/03(月) 18:34:00.92ID:7A6sm0Q6d
LINQ使えばかなりすっきりするぞ
0161デフォルトの名無しさん (ワッチョイ cfc8-jsM4)2017/04/03(月) 18:54:04.26ID:fwtSEQPv0
>>158
すみません、そこをどう書き換えればいいのでしょうか?

>>159
なるほど、そうなんですね
覚えておきます

>>160
数日前にHello worldを初めて書いたような状態なので
慣れるまでまだまだかかりそうですが、LINQも調べてみます
ありがとうございます
0162デフォルトの名無しさん (ワッチョイ cf06-jsM4)2017/04/03(月) 19:02:30.19ID:fjOMNCR40
>>157
実行していないけど
if (max < a[m,n])
でエラー出ないか?
a[2,2]までしかないはずなのにa[3,3]になっているだろ
あと>>158と同じだがiの変化するループなのにiが使われていないから9回何やってんのって話
そして問題が
>その内容と、数値の最大値・最小値を
ってなっているからmaxとminには最初のa[m,n]を入れないと意図から外れる
>>160
基本出来ていない人にLINQ勧めるなよ
0163デフォルトの名無しさん (スフッ Sddf-FAdf)2017/04/03(月) 19:36:14.39ID:7A6sm0Q6d
>>162
すまんこ、ついついやっちまった
0164デフォルトの名無しさん (ワッチョイ cfc8-jsM4)2017/04/03(月) 21:14:42.09ID:fwtSEQPv0
>>162
ありがとうございます
アドバイスを元に書き直してみたら今度はエラーは出ませんでした
http://ideone.com/rwJyPq
ただ練習問題が載っているサイトに模範解答がないため
申し訳ないのですが改めて添削と、出来れば模範解答を見せてもらえると助かります

それから>>157の書き方だと a[3,3] になってしまう理由が分からず、また同じミスをしてしまいそうです
自分としては15行目で a[m,n] に代入した数値を
最大値と最小値の部分で再利用するように意図したのですが、何故うまくいかなかったのでしょうか?
0165デフォルトの名無しさん (ワッチョイ cf06-jsM4)2017/04/03(月) 21:40:38.33ID:fjOMNCR40
>>164
自分で何やっているか理解して書けば添削なんか必要ない
a[3,3]になるのは上のforループでmとnを使った後そのままにしているから
デバッグでブレークポイントおいてみて変数がどうなっているか確認してみろ
0166デフォルトの名無しさん (ワッチョイ cfc8-jsM4)2017/04/03(月) 22:05:46.95ID:fwtSEQPv0
あー、なるほど!
ようやく腑に落ちました
本当にありがとうございました
0167デフォルトの名無しさん (ワッチョイ cf5c-Fkbu)2017/04/04(火) 19:24:02.62ID:zD0h5G/E0
ASP.NETですが、
@inject Microsoft.ApplicationInsights.AspNetCore.JavaScriptSnippet JavaScriptSnippet
と
@Html.Raw(JavaScriptSnippet.FullScript)
って一体何をしているんですか?どなたか解説をお願いします
0168デフォルトの名無しさん (ワッチョイ b39d-zSEO)2017/04/05(水) 10:28:41.13ID:NwdqtUlv0
>>167
それぞれの部分でぐぐってから出直しで頼む!
@inject
@Html.Raw
JavaScriptSnippet.FullScript
0169デフォルトの名無しさん (ワッチョイ cf5c-Fkbu)2017/04/05(水) 20:01:04.16ID:NrNlv3LZ0
JavaScriptSnippet.FullScript
これはなんですか?ググってもわかりませんので解説お願いします
0170デフォルトの名無しさん (ワッチョイ d337-DKfj)2017/04/05(水) 21:48:06.10ID:fUwjSFIc0
MonoDevelopでpythonを扱う方法を教えて下さい

調べたのですが、macで扱う方法はでてきますが
linuxで扱う方法が探せませんでした
0171デフォルトの名無しさん (ワッチョイ bf72-FAdf)2017/04/05(水) 22:09:27.32ID:rD18eXTl0
ここC#スレな
0172デフォルトの名無しさん (ワッチョイ d337-DKfj)2017/04/05(水) 22:20:12.97ID:fUwjSFIc0
C#と共用したいのですが、ライブラリ?などを設定する方法など
教えて頂きたいです

それとも、
やはり、pythonスレで聞いた方が良いでしょうか?

質問の仕方が悪かったです
MonoDevelopでC#とpythonを共用する方法です
0173デフォルトの名無しさん (ワントンキン MM5f-kVPK)2017/04/05(水) 23:23:42.56ID:3zaWlHFLM
そういうのはだいたいhttpで何とかなる
0174デフォルトの名無しさん (ワッチョイ 0737-1T7R)2017/04/06(木) 07:23:48.68ID:Vo7yh6lO0
つまり、組み込みではなく別々で起動するのが、
もっとも良いと言うことでしょうか?

(質問ばかりで申し訳ないです)
0175デフォルトの名無しさん (ワッチョイ dba3-synR)2017/04/06(木) 08:22:02.64ID:xS+XrFlQ0
スレチだっつってんのにわからんの?
0176デフォルトの名無しさん (スフッ Sd92-vveU)2017/04/06(木) 09:37:29.28ID:aSRxys6sd
いや、続けてくれ
0177デフォルトの名無しさん (ササクッテロラ Sp57-83Q9)2017/04/06(木) 11:35:04.10ID:W0x66Brep
すみません
1分毎にスイッチのオンオフを確認してメールで通知する様にしたいのですが、既にオン(オフ)の状態だと通知は要らないのに1分毎にメールが来てしまいます。
オン→オン(オフ→オフ)の状態が続いている間はメールを来ない様にするにはどう言う感じにフラグを作れば良いのでしょうか?
よろしくお願いします
0178デフォルトの名無しさん (JP 0Ha7-8Vmj)2017/04/06(木) 11:37:15.76ID:GMxRhNDdH
前野状態を覚えておく
0179デフォルトの名無しさん (アウアウウー Sa93-tAEN)2017/04/06(木) 11:40:01.63ID:xvblshfNa
前野って誰だよ
0180デフォルトの名無しさん (ワッチョイ dbd4-nHIh)2017/04/06(木) 11:51:36.49ID:uCfnv9P20
>>177
ZabbixとかAWS CloudWatchとかに投げたらいいと思うよ
そういうのを自分で作るのはお勧めしない
0181デフォルトの名無しさん (ササクッテロラ Sp57-83Q9)2017/04/06(木) 11:58:47.02ID:W0x66Brep
すみません
スイッチ = フラグです。
前の状態といいますと配列にオンなら1と入れておいてIFで判定?
0182デフォルトの名無しさん (アウアウウー Sa93-tAEN)2017/04/06(木) 12:13:00.82ID:xvblshfNa
正直、>>177が何が分からないのかがむしろ分からないw
そんな難しい話かこれ
0183デフォルトの名無しさん (ワッチョイ 0737-1T7R)2017/04/06(木) 14:15:28.01ID:Vo7yh6lO0
C#でオススメのゲームライブラリは無いでしょうか?
古いですがxnaを使ってます

ゆにてぃ?に以降するコストなど教えて下さい
おねがいします
0184デフォルトの名無しさん (スフッ Sd92-8GAO)2017/04/06(木) 14:16:54.78ID:tCFZKcv9d
そりゃコードちょっと書ける人ならすぐ解決するだろうよ、自分の初心者時代を思い出せ
0185デフォルトの名無しさん (フォォーッ MMaf-D6lx)2017/04/06(木) 16:41:19.87ID:YodOc25tM
個人で使う分でのコストは0だよ
アセットを買えばその分コストは上がるが手間は減るしアセットを使わなくてもゲームは作れるからあなた次第よ
0186169 (ワッチョイ f65c-Tsvi)2017/04/06(木) 16:49:45.02ID:GA2CcXVL0
どなたか分かりませんか?
0187デフォルトの名無しさん (ワキゲー MM4a-1k/n)2017/04/06(木) 18:00:59.56ID:KgEVkQKQM
jsはわからない
0188デフォルトの名無しさん (アウアウウー Sa93-tAEN)2017/04/06(木) 19:09:39.82ID:Y9HBkUfpa
ごめん今不純なことを考えた。
そういう趣味は一切ないんだけど
0189デフォルトの名無しさん (ワッチョイ 2299-nK7d)2017/04/06(木) 20:00:06.68ID:4Gqz0zQa0
>>183
UnityはC#が出来るならコーディング自体は問題ないかな
Unity自体はいろいろあるから覚えるのは
大変だけど慣れれば楽かなー
0190デフォルトの名無しさん (ワッチョイ 323c-ntn2)2017/04/06(木) 21:29:26.47ID:FGV9lFi+0
>>186
ググったの?
https://github.com/Microsoft/ApplicationInsights-aspnetcore/wiki/Getting-Started
0191デフォルトの名無しさん (スフッ Sd92-vveU)2017/04/06(木) 22:49:35.20ID:5Ey79jsVd
>>190
bingでググったんですけどねえ
0192デフォルトの名無しさん (ワッチョイ 7272-8GAO)2017/04/06(木) 22:50:49.88ID:sOUw0TpV0
ググり力
0193デフォルトの名無しさん (ワッチョイ f65c-Tsvi)2017/04/06(木) 23:06:02.12ID:GA2CcXVL0
>>190
そこは見ましたが具体的な役割がわからないので解説してください
0194デフォルトの名無しさん (ワッチョイ fe1e-8Vmj)2017/04/06(木) 23:18:56.80ID:vMnkUwf/0
C#で個人的なWEB画像を検索ダウンロードするツールを作りたいんだけど
GUIは何で作るのが主流ですか?
0195デフォルトの名無しさん (ワッチョイ 7272-8GAO)2017/04/06(木) 23:32:04.55ID:sOUw0TpV0
>>194
C#ならWPFがかなり使いやすい
0196デフォルトの名無しさん (ワッチョイ 323c-ntn2)2017/04/06(木) 23:37:21.53ID:FGV9lFi+0
>>193
190みて分からないならもう諦めろ
君が使うべきツールでもなければ理解する意味もない
0197デフォルトの名無しさん (ワッチョイ 36a3-D6lx)2017/04/06(木) 23:41:07.58ID:mLV6fF5t0
C#でoauth2を扱う際使えるLibraryとかありますか?
0198デフォルトの名無しさん (ワッチョイ f73c-Eqj+)2017/04/06(木) 23:43:15.35ID:5EqFXT4Q0
>bingでググる
ちょっと待て
0199デフォルトの名無しさん (ワッチョイ f65c-Tsvi)2017/04/06(木) 23:46:27.68ID:GA2CcXVL0
>>196
どうして解説してくれないんですか?
わからないのですか?
0200デフォルトの名無しさん (ワッチョイ 7272-8GAO)2017/04/06(木) 23:46:52.26ID:sOUw0TpV0
>>197
http://neue.cc/2013/02/27_398.html
こんなのでよろしい?
0201デフォルトの名無しさん (ワッチョイ 323c-ntn2)2017/04/07(金) 00:13:50.79ID:E9+XPTIr0
>>199
お前の知りたいことがまんま書いてるのに
それをきちんと読もうとも理解しようともしないからだよ
自分が何を理解してないのかを理解した上でそれを調べる努力をしてから出直せ
0202デフォルトの名無しさん (ワッチョイ beff-vveU)2017/04/07(金) 00:14:20.78ID:DhQiiTUn0
>>201
釣られすぎ
0203デフォルトの名無しさん (アウアウウー Sa93-tAEN)2017/04/07(金) 00:21:14.24ID:eVwFyd9Wa
ろくに自分で調べない、考えない奴も問題だけど、スレの趣旨を無視する奴が
でかい顔するのもどうかと思うんだけどw
0204デフォルトの名無しさん (アウアウウー Sa93-tAEN)2017/04/07(金) 00:21:52.99ID:eVwFyd9Wa
まあ、っていうかだから意味ないんだよねこんなスレw
0205169 (ワッチョイ f65c-Tsvi)2017/04/07(金) 00:47:08.73ID:D5DVm0ZT0
わかりませんか?
0206169 (ワッチョイ f65c-Tsvi)2017/04/07(金) 00:49:00.29ID:D5DVm0ZT0
>>201
解説できませんか?無理ならあなたに聞くのは辞めます
0207デフォルトの名無しさん (ワッチョイ 7272-8GAO)2017/04/07(金) 01:01:43.77ID:UfhtC59c0
解説できないし仮にできてもあなた相手にはしたくないですね
190見たら大体どういうもんかは理解できたが
0208デフォルトの名無しさん (ワッチョイ 36e2-8Vmj)2017/04/07(金) 02:21:39.02ID:9b43VxzD0
こんなん草生えますよほんと??
0209デフォルトの名無しさん (ワッチョイ 03cd-D6lx)2017/04/07(金) 02:28:57.29ID:NxjIIa+W0
DirectShowの.netライブラリで保存中の動画やWEBカメラの保存されていっているファイルを追っかけて
再生するプログラムを作りたいと思っているのですが、

普通に動画を再生するときのようにファイルパスを渡すと渡した時点までしか再生できないと思うのですが、
動的ファイルを再生するいい方法はないものでしょうか?
0210デフォルトの名無しさん (ワッチョイ 361f-02AM)2017/04/07(金) 05:42:41.06ID:nNHce1jX0
Win7Pro、VS2015Proで

終わりの中括弧を書かずに書いてると「動作を停止しました」って出るのはなんでなの?
先に{ } と書いておくと落ちない。

this.BackColor = Color.Black; の =を押してスペースを押した瞬間に動作が停止しましたというダイアログが出る

問題の署名で下記の2つが出てる。

Microsoft.CodeAnalysis.Workspaces
System.InvalidOperationException

よかったら教えてもらえると助かります。
0211デフォルトの名無しさん (ワッチョイ fe1e-8Vmj)2017/04/07(金) 06:36:00.44ID:GTos3/1l0
>>195
データバインドやMVVMなどの高度な技術を使わないなら
デザイン的にも自由度が高く作りやすそうですね
WPFを使っていこうと思います。ありがとうございました
0212デフォルトの名無しさん (ワッチョイ 524f-H1JN)2017/04/07(金) 08:59:00.24ID:ojYp0kwe0
>>210
Intellisenseの不具合かな?
0213デフォルトの名無しさん (ワッチョイ beff-vveU)2017/04/07(金) 10:12:58.51ID:DhQiiTUn0
>>210
以前はよくあったけど最近はないな
VS2015を最新版に更新してないんじゃないの?
0214デフォルトの名無しさん (ワッチョイ 361f-02AM)2017/04/07(金) 10:37:08.04ID:nNHce1jX0
一応Update3です
0215デフォルトの名無しさん (ワッチョイ 524f-H1JN)2017/04/08(土) 08:29:04.77ID:zhIs8vxQ0
プロジェクトのバックアップとって、*.sdfを削除して開きなおしてもダメかなぁ


https://msdn.microsoft.com/ja-jp/library/ms241272.aspx
Visual Studio 2015のログ出力モードでトレースして、

Visual Studio 2015 Part8©2ch.netスレで問い合わせてみ
https://echo.2ch.net/test/read.cgi/tech/1484855822/l50



まー再インスコかもね
0216デフォルトの名無しさん (ワッチョイ ef49-kqC+)2017/04/08(土) 10:12:53.25ID:QxEDYKWV0
再インストールの前に、まずは修復を試したら。
0217デフォルトの名無しさん (ワッチョイ 361f-02AM)2017/04/08(土) 14:12:53.11ID:gZfLH0Di0
再インスコも修復も全部試してもダメだった
0218デフォルトの名無しさん (ワッチョイ 524f-H1JN)2017/04/08(土) 14:52:18.91ID:zhIs8vxQ0
ダメ元で、
1.VS2015を起動
2.プロジェクトを開いて、上部メニューよりビルドー>ソリューションのクリーン。
3.プロジェクトを閉じ、VS2015を終了。
4.プロジェクトの*.suoファイルを削除。
5.C:\Users\(ユーザ名)\AppData\Local\Tempの中身を削除。
6.プロジェクトを再度開いてみる。
0219デフォルトの名無しさん (ワッチョイ 361f-02AM)2017/04/08(土) 15:47:25.35ID:gZfLH0Di0
>>218
ありがとう
うーん、でもダメですね。

問題の署名のこの2つ
Microsoft.CodeAnalysis.Workspaces
System.InvalidOperationException

散々ggったけど解決策は見つからなかった。

ちなみに、
this.BackColor = Color.Black;
当たり前だけど =を入れたあとエラー一覧には「式が必要です」と出て
スペースボタン押すと動作が停止しましたと出る。

もう素直に{}を先に入れるしかないかなぁ
0220169 (ワッチョイ 13a6-Tsvi)2017/04/08(土) 16:56:32.52ID:1uV00wpS0
誰もわかりませんか?
0221デフォルトの名無しさん (ワッチョイ 7f8c-7E04)2017/04/08(土) 17:16:52.06ID:bfo0YVHI0
>>210
拡張機能をたくさん入れてるんじゃないか?
0222デフォルトの名無しさん (ワッチョイ 727d-3+1Y)2017/04/08(土) 17:58:58.67ID:jafvALsi0
スニペットにゴミでも入っているのかね?
一度スニペットを全部移動させて起動してみたらどうだろう
0223デフォルトの名無しさん (アウアウウー Sa93-tAEN)2017/04/08(土) 18:28:06.48ID:DC9adnhYa
ググって関係あるようなないような情報はこのぐらいか
https://github.com/dotnet/roslyn/issues/12317
https://msdn.microsoft.com/en-us/library/mt752379.aspx

後者に出てくる「ネストしたジェネリック型」っていうのは
前者の回答に出てくる再現コードみたいなことを言ってるのかな

まあ、たぶんこれじゃないよね
0224デフォルトの名無しさん (ワッチョイ 361f-02AM)2017/04/08(土) 18:51:09.90ID:gZfLH0Di0
拡張機能は一つしか入れてないですねぇ
ていうかその一つを使ってプラグインを作るためにVS2015 Proを使ってるから。

いろんな意見ありがとう。

一応「やさしいC# 第2版」っていう書籍の内容で、もちろん質問文を送ってはいるけど回答はない。

ソースを貼っておくので暇なとき見てみてください。

https://www.axfc.net/u/3795487.txt
0225デフォルトの名無しさん (ワッチョイ ef49-kqC+)2017/04/08(土) 19:09:38.38ID:QxEDYKWV0
>>224
どんなのかは知らないけど、まずはその拡張機能を入れない状態で試すべきでは。
0226デフォルトの名無しさん (オッペケ Sr57-Wvqz)2017/04/08(土) 20:51:10.03ID:qtFJhZDjr
WebBrowserコントロールを利用し、デスクトップ通知を取得する方法はありませんでしょうか?
そのものではありませんが、tridentエンジンを使いつつSlackのデスクトップ通知のような機能を使いたいのです
0227デフォルトの名無しさん (ワッチョイ dbd4-nHIh)2017/04/08(土) 20:55:51.03ID:OIXPYkBr0
>>226
ActiveX
ウィルス呼ばわりされるのは覚悟して使え
0228>>209 (ワッチョイ 03cd-D6lx)2017/04/08(土) 23:32:07.62ID:SsR4ZfrE0
DirectShowにこだわりはないので
ファイル容量が増えていっている動画ファイルを再生する方法って何か無いですかね?
0229デフォルトの名無しさん (ワッチョイ 07af-UDlz)2017/04/11(火) 20:09:57.59ID:lsd25x/y0
SendKeys.SendWaitで複数のキー入力操作プログラムを作りましたが
まれに途中でずっと止まったまま動いてくれないときがあるのですが
原因は分かりませんか?ウィンドウはアクティブです。

止まった個所がSendKeys.SendWait("^C")だとしたら、手動でCtrl+Cを押すと
以降の操作が再開するので、ずっと入力待ち状態が続いてると思うのですが
解消する方法などありませんでしょうか
0230デフォルトの名無しさん (ワッチョイ 07af-UDlz)2017/04/11(火) 23:02:36.23ID:lsd25x/y0
解決しました
0231デフォルトの名無しさん (ワッチョイ 7ec8-L9Vk)2017/04/12(水) 03:58:09.32ID:6kj8zw9g0
よく思うんだがどんな言語でもSendkeysのようなものは廃止すべきなんじゃないか?

分かってて使うならいいんだけどScript系で1度だけhogeるような場合を除いて百害あって一利なしだろ。
0232デフォルトの名無しさん (ワッチョイ beff-vveU)2017/04/12(水) 04:07:11.43ID:MVo/6ke10
分かってて使うときに必要だから廃止しなくていい
0233デフォルトの名無しさん (ドコグロ MMca-GUhT)2017/04/12(水) 07:19:50.82ID:uWep8obcM
>>231
お前がそう思うなら使わなきゃいいだけの話
0234デフォルトの名無しさん (ワッチョイ af3c-U27M)2017/04/12(水) 07:53:51.74ID:WpnhcGWI0
>>231
ソフトウェアキーボード作れなくなるじゃん
0235デフォルトの名無しさん (ワッチョイ dbd4-nHIh)2017/04/12(水) 08:05:56.77ID:A6XRqe5e0
>>231
Windows開発者にはなんでもフォームのイベントハンドラを起点にしてモノを考えたがる奴が沢山いる。
にわかには信じがたいかもしれないが、そういう連中にとって、〜の条件のときは〜のキーを押したときと同じ処理をする、という仕様のとき
SendKeysを使うことはごく自然な発想らしい。驚くべきことに。
0236デフォルトの名無しさん (ワッチョイ f6c8-hBCq)2017/04/12(水) 09:22:16.95ID:KoOpf//70
一切プログラミングしたことない人向けのC#の入門書ってないの?
0237デフォルトの名無しさん (スププ Sd92-H1JN)2017/04/12(水) 10:12:30.85ID:Qb2GRSIvd
俺は若い、ニューヨークのスラム街でビッグファザーに出会い、そこでC#を教わった。
0238デフォルトの名無しさん (スププ Sd92-H1JN)2017/04/12(水) 10:15:41.43ID:Qb2GRSIvd
ごめん、若い頃だった
0239デフォルトの名無しさん (アウアウウー Sa93-tAEN)2017/04/12(水) 10:31:57.43ID:7YKbJJVca
>>235
さすがにそれは違うと思うよ
っていうか、SendKeysって何するか分かってる?w
0240デフォルトの名無しさん (アウアウオー Saca-30C2)2017/04/12(水) 18:19:59.89ID:706vvBQma
>>236
やさしいC#とか猫でもできるC#とか割とある。
0241デフォルトの名無しさん (ワッチョイ 0706-fmtp)2017/04/12(水) 21:31:16.91ID:iwBeq9GX0
List配列で一つの要素256byteほどのを50万件ほど持ちたいです(将来的には100万件程度)
計算すると244〜500MBくらいになるけど大丈夫ですか?
まだ作っていないし、自分しか使わないですがあまりにも重過ぎるのはちょっと・・・
こういう場合何を使えばいいんでしょうか?
0242デフォルトの名無しさん (ドコグロ MM83-GUhT)2017/04/12(水) 21:53:20.72ID:u533e0uwM
何をしたいのかわからんが扱うだけなら今時1GB程度は余裕だろ
まあ検索とか色々面倒なことをいいそうだから俺なら普通に適当なDBに丸投げするけど
0243>>209 (ワッチョイ 1bcd-HE/W)2017/04/13(木) 06:44:30.43ID:bpN7pOOo0
レスが付きそうにないので他の掲示板などで聞いてくるので取り下げます。
0244デフォルトの名無しさん (ラクッペ MM6f-k/R3)2017/04/13(木) 07:13:46.45ID:FYxnOP1RM
ASP.netでUserクラスを作ったら
HttpContext.User と被ったようで
使っていたUser.Identityが無いと
エラーが出始めました

自作Userクラスは消したのですが
どうやったらUser.Identityが使えるよう
なるでしょうか
0245デフォルトの名無しさん (ワッチョイ 3b19-E7YM)2017/04/13(木) 09:48:26.67ID:H/bfS0Hx0
this.Userとか書けば
0246デフォルトの名無しさん (ワッチョイ 6b50-QcA+)2017/04/13(木) 20:34:01.37ID:LRsbcZvS0
2.6GBのファイルをWindows7(64bit)上で「送る>圧縮(zip形式)フォルダー」で
圧縮して出来た400MBのファイルなんですが、C#(.NET 4.5)上でZipArchiveクラスで
展開出来ませんでした
対応していない形式と言われてしまいます

試しに7zipで圧縮して同じことをやったら正常に展開出来ました

これは
・.NETのZipArchiveのフォーマット対応範囲が狭い(ZIP64とかDeflate64に対応してないとか?)
・Windows7標準のZIP圧縮がおかしい
・7zipが変態
のどれなんでしょうか?
0247246 (ワッチョイ 6b50-QcA+)2017/04/13(木) 20:35:06.21ID:LRsbcZvS0
↑
>「C#(.NET 4.5)上でZipArchiveクラスで展開出来ませんでした」

試しにエクスプローラ上で解凍したら問題なく解凍出来ました
0248デフォルトの名無しさん (ワッチョイ 0f06-V7Gz)2017/04/13(木) 20:52:37.58ID:tVR8uc0p0
>>246
Windows10(64bit)上で「送る>圧縮(zip形式)フォルダー」で作ったZIPファイルは普通にDeflateで圧縮されているけど
OutOfMemoryとかになっているんじゃね
ZIP64とかDeflate64は普通は使わないし.NETはクラスで扱うサイズが大きくなるとアホみたいにメモリ食うから
0249デフォルトの名無しさん (ワッチョイ efc8-I0H5)2017/04/14(金) 13:57:48.99ID:o6bRdGeN0
>>234
???
作れるだろ。

Sendkeysは制御出来ないから使うべきじゃ無いけど制御できる方法使えば良いだろ。
0250デフォルトの名無しさん (ワッチョイ 2bb2-3MbB)2017/04/14(金) 17:05:53.19ID:/GrBsAxL0
Windows10 / VS2017
FileStreamで書き込んだファイルが全く見えない時があるんだけど、なんでだろう・・?
ファイルはただのテキストファイル「aaa.txt」

ファイルパスを直接打ち込めば開けるから、実態はあるみたい。
フォルダを作り直してから実行して、フォルダのプロパティを見るとファイル数が増えてる。
WinRARとかWinMergeの画面上では見えてるのに、エクスプローラーでだけ見えない。
隠しファイルにはなっていなかった。

実害は無いし、無視しても良いんだけど怖いよ・・
0251デフォルトの名無しさん (スフッ Sd3f-8FBL)2017/04/14(金) 17:10:54.03ID:L6pjXrcId
>>250
システムファイル扱いにはなってないでしょうね?
0252デフォルトの名無しさん (スプッッ Sd3f-98fT)2017/04/14(金) 17:13:03.26ID:GZOcBhsrd
ひょっとしてこれじゃない?
https://answers.microsoft.com/ja-jp/windows/forum/windows_10-files/windos10%e3%81%ae%e3%82%a8%e3%82%af%e3%82%b9/7b4fc1ea-3eb5-417b-8c1b-5e854b3f4d82?tab=AllReplies#tabs
0253デフォルトの名無しさん (スフッ Sd3f-8FBL)2017/04/14(金) 17:42:09.49ID:L6pjXrcId
え〜っ
まさかのF5押してないオチ?
0254デフォルトの名無しさん (ワッチョイ 2bb2-3MbB)2017/04/15(土) 00:18:35.01ID:EObu8/BA0
>>252
返事が遅くなりました。
もちろんF5更新も試しています。
上記の通りフォルダ作成、フォルダ名変更、削除、移動、隠しファイル、システムファイルON、OFFを繰り返し試しているので、単に更新されていないだけ、ということはないと思います。

発生する条件がイマイチ謎で、同じプログラムなのに発生する時は削除、更新を繰り返しても表示されず、
無視して作業しているといつの間にか治っていたり、再発したり・・・となることがわかりました。

というわけでC#よりWindowsとか常駐ソフトを疑って、もうしばらく調べてみます・・・
0255デフォルトの名無しさん (アウアウウー Saaf-baq7)2017/04/15(土) 00:40:50.97ID:j/r1HCCDa
>>254
VS2017って書いてるからないとはおもうけど、UAC非対応のアプリで
UACのファイルの仮想化が作動しちゃうようなフォルダにファイル作ったりしてない?
0256デフォルトの名無しさん (ワッチョイ ef7d-RZRQ)2017/04/15(土) 00:50:22.63ID:iCdjVYwG0
>>254
ファイルの挙動が可怪しくて、プログラムを疑って色々やったが解決せず
やがてHDDさんがお亡くなりになったことがありました
もし、おかしいドライブが固定ならHDDの不調も疑っても良いかもしれませんね
余裕があればバックアップ取っておいたほうが良いかもしれません
0257デフォルトの名無しさん (アウアウウー Saaf-baq7)2017/04/15(土) 01:18:52.07ID:j/r1HCCDa
老婆心でこれもないと思うけど一応書くけど、VS2017使ってても
VS2005とかのプロジェクトを変換したものなら、確認してないけど何もしないとたぶんUAC非対応になる。
0258デフォルトの名無しさん (ワッチョイ 2bb2-3MbB)2017/04/15(土) 09:58:49.72ID:EObu8/BA0
>>256
なるほど!HDDか!と思いつつ、買ったばかりのNVMeSSDなので大丈夫だと信じたいのですが、他のドライブへの切り替えも検討に含めたいと思います。
>>257
確かにVS2010で開発したプロジェクトの変換です。
フォルダはデフォルトのユーザー\ドキュメント\Visual Studio....配下です。USCの対象かどうかは・・・よくわからない。
ちなみにそれは、アプリを「管理者として実行」していなくても発生するのでしょうか。
0259デフォルトの名無しさん (ワッチョイ ebd4-SpsU)2017/04/15(土) 11:14:41.76ID:q0yaBO0O0
>>264
デフリ64で圧縮されたからでしょ
WIN7に限らずWIN10でもデフリ64で圧縮されるからC#からじゃ
解凍出来ないよ。
.NET4.5のZIP−ARCHIVEクラスはデフリ64に対応してない
残念ながらICONIAもデフリ64には対応してない

どうしてもC#で解凍したいのならファイルシステムオブジェクトクラス使えば
解凍できるよ
0260デフォルトの名無しさん (ワッチョイ 6b49-BtJQ)2017/04/15(土) 11:32:38.66ID:aGMB9daN0
>>259
すげー詰まんない突っ込みするけど、せっかくの有益な情報なんだから、
名称はカタカナや略称使わず正しく書いた方が良いと思うんだ。
0261デフォルトの名無しさん (ワッチョイ 2b38-F8Ow)2017/04/15(土) 11:45:52.06ID:P11oDSMM0
明らかに読みはデフレートだが略すとデフリなのかとかどうでもいいこと気にしてごめんなさい
0262デフォルトの名無しさん (ワッチョイ 1f72-+fOQ)2017/04/15(土) 11:54:28.62ID:Qrk7RrYy0
どうでもいいけど全角英数気持ち悪い
0263デフォルトの名無しさん (ワッチョイ 4b3c-/BFt)2017/04/15(土) 16:14:36.10ID:nXYdKgHp0
>>259
キモいと思ったら全角か
0264デフォルトの名無しさん (スフッ Sd3f-8FBL)2017/04/15(土) 16:40:10.12ID:5qk5bIV1d
UTF8が主流になってから全角英数とか気にしないようになってきた
0265デフォルトの名無しさん (ワッチョイ bbd4-vuBj)2017/04/15(土) 16:47:54.16ID:5VFPMUgC0
結局は開発者の意識次第だから、大きく状況が改善したとは思わないなあ
メリケンのASCII脳は百年経っても治らない
0266デフォルトの名無しさん (ワッチョイ 0b75-kiL8)2017/04/15(土) 17:49:33.20ID:wPXe6N1y0
そうは言っても俺もRtLな言語のことなんかいちいち考えないし
0267デフォルトの名無しさん (アウアウウー Saaf-baq7)2017/04/15(土) 20:33:21.34ID:OxStzCooa
>>264
>>262-263は単純に視覚的に読みづらいって言ってるだけだと思うよ

しかし、NECかJISか知らんけど、何で全角英数なんてけったいな文字を定義したのかね。
半角文字が使えない端末でも想定したのかな
0268デフォルトの名無しさん (ワッチョイ bbd4-vuBj)2017/04/15(土) 21:10:02.07ID:5VFPMUgC0
>>267
汎用機では、全角文字列の前後にシフトインとシフトアウトと呼ばれる文字を挿入することで
全角半角を区別する文字コードがよく使われていた(余裕で現役だが)
これを画面や帳票に出力するとき、SIやSOを詰めるのではなく半角の空白として表示してしまう糞のような処理系が多い
だから全角英数字がないと日本語と英数字の混在する文字列がガタガタになってしまう
0269デフォルトの名無しさん (ワントンキン MM3f-omUO)2017/04/15(土) 21:15:24.96ID:zAFUfj6bM
要するに負の遺産だろ
老害はろくなことしねえな
0270デフォルトの名無しさん (ワッチョイ bbd4-vuBj)2017/04/15(土) 21:27:16.63ID:5VFPMUgC0
>>269
でもそれだけじゃなく、日本人の習性に起因する問題でもあると思うよ
日本人は方眼紙が大好きだから、等幅フォントで全て全角でキチッと揃えたいという美的感覚を持つ人は珍しくない
0271デフォルトの名無しさん (アウアウウー Saaf-baq7)2017/04/15(土) 21:50:28.43ID:OxStzCooa
存在理由としては>>270かね
>>268はどっちかっていうと、問題回避のためのバッドノウハウとして利用されたって感じ?
0272デフォルトの名無しさん (ワッチョイ 0bfc-RZRQ)2017/04/15(土) 21:53:31.25ID:jssTx07C0
>>270
そういやメールで頑なに全角使う人いたわ
あれはレイアウトが崩れるのが嫌だったのか
0273あ (スププ Sd3f-iKQz)2017/04/15(土) 21:57:19.42ID:4VXj2s/ud
>>269
組版的には全角基準で、全角文字として詰めるいわゆる原稿用紙を全角取りと言う。
二分送り、三分送りなんてのもあって、半文字開けるとか、1/3文字あけると言う意味。
その為に、文字にも半角、縦倍角、横倍角、4倍角、四分角と言うくくりがある。
さらに、RPDLとかベージ言語には未だにある。
欧文にもエム/エンという概念があるので、実は負の遺産でもなく、業種によっては未だに必要な概念かと。
なんでも知らない物を不要なものだと切り捨てるのはいかんよ。

ジャーナルプリンタで物理的なログ残す必要があるような施設だったらだいたい言われるイメージ。
0274あ (スププ Sd3f-iKQz)2017/04/15(土) 22:03:19.73ID:4VXj2s/ud
揃えたい、ならば話は簡単なんだけど、
「揃っていなくてはいけない、n文字に収まっていなくてはいけない」を満たす必要がある時に、プロポーショナルなフォントが流行りだすと視認性が悪かったからかと。
メールとか76文字改行みたいなことしてたしね。
0275デフォルトの名無しさん (ワッチョイ 6b7b-HE/W)2017/04/15(土) 22:03:40.02ID:9YbSLxnA0
>>267
日本語のために2byteコードを作ったわけだが、本来1byteコードと混在して使うことは
想定していなかった。UTF-16のように。
なぜ全角なのかと言えば、英数字も漢字も同じ1コードポイントなんだから同じ「1文字」の
サイズだというだけ。

ところがASCIIテキストと互換性がなかったりサイズが倍になるのを嫌う意見が
多かったからShiftJISやISO2022-JPのように混在して使うのが定着してしまった。
本来、AとAはどちらか一方を使うようにしろって規定もあったはずだけどね。
そのへんうるさかったのはmohtaだっけ?
0276あ (スププ Sd3f-iKQz)2017/04/15(土) 22:11:36.02ID:4VXj2s/ud
>>275
日下部もうるさかった気がする。
あいつは印刷用語とコンピュータ用語をわざと混同したり、必殺「ということにしたいのですね」で遊んでた感じだけど。
0277デフォルトの名無しさん (ワントンキン MM3f-omUO)2017/04/15(土) 22:35:48.43ID:zAFUfj6bM
くそったれジャップどもめ
敗戦した時についでに日本語文化を滅ぼして英語にすりゃよかったんだ
0278 ◆QZaw55cn4c (ワッチョイ efff-LgMU)2017/04/16(日) 07:16:28.59ID:3PeEvH/A0
>>276
リコー太田さんはどうでしたかね
0279デフォルトの名無しさん (ワッチョイ 2b6c-hLbF)2017/04/16(日) 09:18:06.29ID:uS8rD07o0
>>277
敗戦から復興のあと、
UNIXをはじめて日本で納品するときに、
神主が来てコンピュータを拝む、
この変な文字は何だ、

と色々興味を持ったデニスリッチーだった。
0280デフォルトの名無しさん (ワッチョイ 1fa6-l5Yj)2017/04/18(火) 12:35:54.25ID:1y8g5yit0
asp.net core 1.1でデータベースへの接続のテストを作りたいのですが、
テストメソッドからアプリ側のDbContextを参照するにはどうすればいいですか?
参考コードで教えてもらえると助かります
0281デフォルトの名無しさん (ワッチョイ 9f90-V7Gz)2017/04/18(火) 20:39:29.03ID:6MIG6S7R0
C# でIEを操作しています。

通常の リンクのクリックなどをする事は出来るのですが

yuiで立ち上がったダイアログ上の「開く」とかのボタンをどうしてもクリックする事が出来ません。

mshtml_ec = ie.Document.getElementsByTagName("INPUT");   ← System.DBNull になります。
foreach (mshtml.IHTMLElement i_ele in mshtml_ec)
0282デフォルトの名無しさん (アウアウカー Saef-I0H5)2017/04/18(火) 22:37:57.81ID:F/AGHme5a
>>281
本当にINPUTタグが有るのかい?
0283デフォルトの名無しさん (ワッチョイ 9f90-V7Gz)2017/04/19(水) 00:10:37.66ID:UtHVnlCb0
はい。あります。

Cromeで見ると INPUT で ieで見ると input です。
具体的には、ヤフオクで再出品ボタンをおした時に出る
知的財産権の確認ダイアログです。

毎度再出品が面倒なので自動化ツールを作っています。
0284デフォルトの名無しさん (ワッチョイ 0b75-kiL8)2017/04/19(水) 03:19:41.93ID:zfm1mmD/0
どんなページか知らんけどiframeとか使われてたりとかで
ie.Documentがそのドキュメント指してないとか?
Documentのbody.innerHTMLはどうなってんの?
0285デフォルトの名無しさん (ワッチョイ 9f90-V7Gz)2017/04/19(水) 03:23:05.68ID:UtHVnlCb0
>>284
ねばってましたが、iFrameが使われまくってます、、、

Debugして確認します。
0286デフォルトの名無しさん (ワッチョイ 9f90-V7Gz)2017/04/19(水) 03:30:46.66ID:UtHVnlCb0
>>284
前のページから遷移してきているのですが

(ie.Document.body).innerText

を試してみたところ、ダイアログの表示になっていました、、、
背景にあるHTMLコンテンツではありませんでした。。。
0287デフォルトの名無しさん (ワッチョイ 9f4f-hLbF)2017/04/19(水) 10:23:18.36ID:bD84cmPv0
すいません。
C#でアトムテーブルを扱うクラスとかあります?

なければAPIでしょうかね。
0288デフォルトの名無しさん (ワッチョイ 3b19-E7YM)2017/04/19(水) 11:30:53.65ID:xeUha8Sd0
さすがに今更アトムとかはちょっとね
0289デフォルトの名無しさん (ワッチョイ 9f4f-hLbF)2017/04/19(水) 12:10:07.37ID:bD84cmPv0
ですよねー。

外部モジュール担当に伝え、別の方法にしてもらいます
0290デフォルトの名無しさん (ワッチョイ 9f90-V7Gz)2017/04/19(水) 14:40:51.34ID:UtHVnlCb0
IEの自動操縦についての質問です。

画面遷移したページが複数のiFrameを使っている場合に
その中の特定のiFrame内のボタンをC#でクリックするにはどうした良いでしょうか?
0291デフォルトの名無しさん (ワッチョイ 3b19-E7YM)2017/04/19(水) 14:53:55.70ID:xeUha8Sd0
Document.framesでフレーム列挙して
それぞれの.contentWindowとか.contentDocumentとか使って目的のドキュメント特定する
0292デフォルトの名無しさん (ワッチョイ 4b3c-V7Gz)2017/04/19(水) 15:02:28.38ID:nLI0/SDo0
>>290
http://surferonwww.info/BlogEngine/post/2012/08/10/how-to-get-htmlelements-in-iframe-shown-in-webbrowser.aspx
この記事は?
0293デフォルトの名無しさん (ワッチョイ 0f75-Mjzt)2017/04/19(水) 17:00:03.74ID:MhXks+QF0
ブラウザでは、親のHTMLと、iframeのHTMLは、
クロスドメインになるから、アクセス出来ないだろ

CORS (Cross-Origin Resource Sharing)制限
0294デフォルトの名無しさん (ワッチョイ 2bb2-3MbB)2017/04/19(水) 18:15:14.11ID:O6r4qc//0
mdbと接続してるフォームをデザイナで開くと
「ファイル 'C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\TestDB.mdb' が見つかりませんでした。 」
とエラーになるのですが、どうやって直したら良いのでしょうか。
mdbファイルはプロジェクトに追加して「コンテンツ」「常にコピーする」設定にしています。
コンパイル、実行は問題ありません。

PropertiesのConnectionStringをsdfを使ったアプリはこんなエラー出なかったので何か設定が必要なのでしょうか・・。
0295デフォルトの名無しさん (ワッチョイ 9f90-V7Gz)2017/04/19(水) 18:29:36.88ID:UtHVnlCb0
>>292
ieの自動操縦でWebBrowser は使っていません。


>>291
試してみます。

>>293
取っ払う方法もないのでしょうか?
0296デフォルトの名無しさん (ドコグロ MMbf-7AK3)2017/04/19(水) 19:38:29.72ID:XuQTPPrhM
uwscと同じことやっちゃえ的な
0297デフォルトの名無しさん (アウアウカー Saef-RBaH)2017/04/19(水) 20:09:51.43ID:S4V1Ib7ea
質問失礼します
イントラネット上の2台のPC(それぞれのPCをA,Bとする)で、やり取りを行いたいのですが、AからBのアプリを起動させBのアプリが取得した情報をAに渡すにはどういった処理をする必要があるでしょうか
0298デフォルトの名無しさん (ワッチョイ bbd4-vuBj)2017/04/19(水) 20:26:59.06ID:Fw9wzeAw0
簡単なのはPowerShellでリモートログインしてコマンドでアプリ実行して結果を標準出力で受け取る
0299デフォルトの名無しさん (ドコグロ MMbf-7AK3)2017/04/19(水) 20:28:01.89ID:XuQTPPrhM
>>297
通信処理(TCPIP)とかファイル共有とか
他にもあるけどよく使うのがこの2つ
0300デフォルトの名無しさん (アウアウカー Saef-RBaH)2017/04/19(水) 22:01:05.49ID:9JUzXdFUa
>>298>>299
ありがとうございます
自分の環境から今のところTCPIPで通信してやりとりを行うのが定石なのかなと思ったのですが、Bのアプリの起動はスタートアップのサービスで立ち上げるほうが簡単だったりするでしょうか
0301デフォルトの名無しさん (ワッチョイ 1f3c-RLAq)2017/04/19(水) 22:05:50.99ID:6oL1FQUa0
>>297
やり方が一杯ありすぎてなんとも言えん
もっと具体的にどういうことしたいのかを書かないと
0302デフォルトの名無しさん (ワッチョイ 0f75-Mjzt)2017/04/19(水) 22:10:58.49ID:MhXks+QF0
>>295
VBScriptについて必死に話し合うスレ
http://echo.2ch.net/test/read.cgi/tech/1416826139/832-

このスレの832以後で、ブラウザで2chにアクセスして、
HTMLを取得するプログラムを作っていたけど、

結局、877 で、ピラフはPowerShellで、ツールを作った

漏れは、924 に書いてあるように、
ブラウザからのクロスドメインは出来なかったから、
JavaScriptのjQueryから直接、YQL (Yahoo! Query Language)のサービスを使って、
2chのHTMLを取得できた

ブラウザでは、ユーザーの安全性を重視して、
直接クロスドメインにはアクセスできないようにしてある

ブラウザ → サーバー(プロキシ) → クロスドメイン
のように間にサーバーか、YQLのようなサービスなどを入れないと出来ない
0303デフォルトの名無しさん (ワッチョイ 1f72-+fOQ)2017/04/19(水) 22:11:16.52ID:j6KP6NRK0
JSON投げればええやろ(適当)
0304デフォルトの名無しさん (アウアウカー Saef-RBaH)2017/04/19(水) 22:29:24.54ID:9JUzXdFUa
>>301
ありがとうございます
そうなんですね。。もう少し調べてみるとします
気がむいらたらそのいろんなやり方教えて頂けると助かります
0305デフォルトの名無しさん (ワッチョイ 2b4c-hLbF)2017/04/19(水) 23:19:54.48ID:fP+kkcTH0
>>300
そこでサービスですよ
0306デフォルトの名無しさん (ワッチョイ 73b7-KE1f)2017/04/20(木) 00:21:50.08ID:dREVYN9c0
>>302
クロスドメインはScriptからだとアクセスできないけど外部からCOMを使っているなら迂回して別ドメインのフレームにアクセスできるよ。
0307デフォルトの名無しさん (アウアウウー Sacf-wX6N)2017/04/20(木) 01:51:07.74ID:c+wQgqefa
webのこと全然知らんけど、普通に考えたらそうでなきゃおかしいよねw
0308デフォルトの名無しさん (ワッチョイ a306-9aAf)2017/04/20(木) 06:58:23.09ID:OQmE4Pqw0
ListViewクラスでVBAのCellsメソッドみたいに指定できるものってないんですか?
探してもないので自分で作ろうと思っているのですが・・・うまくいきません

if (x == 0)
return (ListViewItem.ListViewSubItem)listView.Items[y];

else if (y == 0)
return listView.Items[y].SubItems[x];

ListViewItemクラスとListViewSubItemクラスの違いでうまくいきません
0309デフォルトの名無しさん (ワッチョイ a306-9aAf)2017/04/20(木) 07:03:35.59ID:OQmE4Pqw0
すいません自己解決しました
0310デフォルトの名無しさん (ワッチョイ 0aa6-xXvB)2017/04/20(木) 11:50:42.86ID:z9Nv/R7t0
自己解決した
このスレほんと役に立たねーな
0311デフォルトの名無しさん (ワキゲー MM42-LF4z)2017/04/20(木) 11:59:23.21ID:x1mUV01bM
>>310
質問せずに自己解決ってのはおまえのレベルが上がってるだけなんですばらしいことだよ
0312デフォルトの名無しさん (ワッチョイ ea4f-VP69)2017/04/20(木) 13:03:22.45ID:/VSY9RzM0
今回は残念だけど、z9Nv/R7t0のように裏でスタンバってる輩も多いってことは頼もしいな。
z9Nv/R7t0や他の輩、ありがとう
0313デフォルトの名無しさん (ワッチョイ 1e1f-iqNT)2017/04/20(木) 13:58:09.81ID:Yk6Kr9P50
いや、自己解決したならどう解決したのか書けよってことでしょ
0314デフォルトの名無しさん (ワントンキン MMfa-5GSV)2017/04/20(木) 16:13:27.37ID:PFUdlV3CM
確認させてください。
静的クラスライブラリの静的なメンバ変数がある場合、このdllを同時に複数のプロセスで走らせても、
メンバ変数は別々である認識で正しいですか?

試してみたら問題なさそうでしたが。
dll自体、callされるプロセス毎に個別の領域に展開され、
static変数も、そこにプロセス終了まで保持されるで合っていますか?
0315デフォルトの名無しさん (ワッチョイ 7b8c-aXJd)2017/04/20(木) 17:06:57.76ID:aVoeZuXS0
>>314
プロセスが別ならそりゃあそうなると思う
0316デフォルトの名無しさん (アウアウウー Sacf-wX6N)2017/04/20(木) 17:12:26.70ID:rx8HixhVa
>>314
変数はプロセスごとに別に決まってるけど、dllに限らずバイナリが同一(ファイルのパスが同じ)
であればコード自体は共有されるはず
0317デフォルトの名無しさん (ドコグロ MMc2-MUXz)2017/04/20(木) 17:51:42.22ID:JH3XDWGNM
プロセスAからインクリメント
プロセスBからインクリメント
ってやって動作確認してからのが良さげ
思ったとおりの値が足されているならいいけど
呼んでる自分だけの責任にならないなら動作チェックはするべき
0318デフォルトの名無しさん (ササクッテロリ Sp23-L9YA)2017/04/20(木) 19:28:01.84ID:Gsot4V6Op
いやいや別々だよ共有させる方が難しい
0319デフォルトの名無しさん (ワッチョイ ea4f-VP69)2017/04/20(木) 19:39:52.15ID:/VSY9RzM0
DLLの中身は仮想アドレス空間にロードされますよ。
0320デフォルトの名無しさん (アウアウウー Sacf-wX6N)2017/04/20(木) 20:05:02.91ID:YIiL8Ucqa
ひょっとしてパスが同じでなくてもUIDが同じなら同一とみなされたかも
0321デフォルトの名無しさん (ドコグロ MMc2-MUXz)2017/04/20(木) 20:20:04.60ID:JH3XDWGNM
>>318
DLL次第じゃない?
レジストリやDBに保存なんて内部でやってたら別々なんてならないんだよ
絶対動作確認はするべき
0322デフォルトの名無しさん (アウアウウー Sacf-wX6N)2017/04/20(木) 20:32:26.40ID:YIiL8Ucqa
>>321
何らかの手段で永続化されてるかどうか(staticな変数を永続化なんて普通ありえんけど)と
変数が複数のプロセスで共有されるかどうかは別問題。

共有なんてありえない
0323デフォルトの名無しさん (ドコグロ MMc2-MUXz)2017/04/20(木) 20:36:38.46ID:JH3XDWGNM
>>322
だからぁ
値をDBやレジストリに保存してたらそうはしたくなくともそうなっちゃうでしょ
って一例の話よ
外からは中の都合なんてわからないんだからさ
確定させるには思い込みでそんなことはないはずだじゃなくて
そうであることをちゃんと動作検証することが大事じゃないのかな?
と
0324デフォルトの名無しさん (アウアウウー Sacf-wX6N)2017/04/20(木) 20:41:00.50ID:YIiL8Ucqa
>>323
それならそもそもフィールドである必然性がない。
メソッドか、本当は正しくないがプロパティであるべき。
そんな設計ありえんよ
0325デフォルトの名無しさん (ワッチョイ bb80-l1o2)2017/04/20(木) 20:48:15.44ID:2/7K/LqZ0
314の書き込みをまずよく読んだ方がよいのではないか
0326デフォルトの名無しさん (ドコグロ MMc2-MUXz)2017/04/20(木) 20:48:23.40ID:JH3XDWGNM
>>324
だってDLLだもん
作ったように動いちゃうよ
ってだけの話でマイクロソフトの都合でその辺AだったりBだったりするときもあるんじゃないの?
って思うけどね
俺はその辺DLLの仕様で動作を推測すべきでないと思うけどね
Windows Update前と後で結果変わりそうなとこあんじゃん
0327デフォルトの名無しさん (ドコグロ MMc2-MUXz)2017/04/20(木) 20:49:23.30ID:JH3XDWGNM
>>325
情報が少なすぎてよくわからないというネタ
0328デフォルトの名無しさん (ワッチョイ bb80-l1o2)2017/04/20(木) 20:52:35.64ID:2/7K/LqZ0
頭が悪すぎるだけでしたか
指摘は野暮でした
申し訳ない
0329デフォルトの名無しさん (ドコグロ MMc2-MUXz)2017/04/20(木) 21:01:15.46ID:JH3XDWGNM
クラスのDLLの振る舞いなんてマイクロソフトの気分次第じゃねーかな?
と俺は思うけどね
そこの動作を把握してるからってそう見込んで作成されるとあとから触る人間とか困りそうだなと
0330デフォルトの名無しさん (ワッチョイ 7b8c-aXJd)2017/04/20(木) 21:11:04.99ID:aVoeZuXS0
>>322
共有メモリがあるやん
0331デフォルトの名無しさん (アウアウウー Sacf-wX6N)2017/04/20(木) 21:19:22.99ID:YIiL8Ucqa
>>330
何の話をしてるか分かってる?
共有させる手段の有無の話をしてるんじゃないよ。
0332デフォルトの名無しさん (ワッチョイ 467d-m8Mb)2017/04/20(木) 21:22:25.93ID:vr5PV20u0
プロセスってウインドウメッセージとかIPCとかWCFとか、特別に設計しないと通信できないわけで
スタティックにするだけでデータが共有されるなんてありえない話でしょうに
0333デフォルトの名無しさん (ドコグロ MMc2-MUXz)2017/04/20(木) 21:51:59.30ID:JH3XDWGNM
でもぶっちゃけ使われ方次第だよね
確定とするためには該当するDLLのソースをすべて読まないと駄目
0334デフォルトの名無しさん (ワッチョイ 6b3c-L9YA)2017/04/20(木) 22:09:27.62ID:wBzdg4T90
いやちゃんと読み直してごらんよ
0335デフォルトの名無しさん (ワッチョイ 7ff3-X6Nf)2017/04/20(木) 23:14:37.36ID:/yP5HSbG0
無駄すぎる
0336デフォルトの名無しさん (アウアウカー Saeb-8JZB)2017/04/20(木) 23:25:34.47ID:6SJveq07a
最近C#でWindowsFormアプリの勉強を始めたものです
単純な場合ですと通常Form1というものが起動してそこにコントロールを配置してアプリケーションを作成するのかと思いますが、Formが複数起動してそれぞれのFormが別々のイベントで走り、時には連携するといったようなものって難しいですか?
0337デフォルトの名無しさん (ワッチョイ 4613-HDOw)2017/04/20(木) 23:34:57.34ID:zbrlZyFU0
簡単すぎて屁が出ます
0338デフォルトの名無しさん (ワッチョイ a337-nHiB)2017/04/21(金) 00:49:42.37ID:mEI7DfZD0
Visual Basic 2005以降は「既定のインスタンス」と呼ばれる機能があり、
これを使えばサブ・フォームの明示的なインスタンス化(Newの実行)や、
メイン・フォームへの参照の受け渡しは不要

メイン・フォーム上に配置されているコントロールへのアクセス方法

サブ・フォームからのアクセス用に、メイン・フォームのクラスに
コントロール値設定用のプロパティを追加するという方法もよく利用される

メイン・フォームでの具体的な実装もカプセル化できるが、若干手間がかかる
0339デフォルトの名無しさん (ワッチョイ a337-nHiB)2017/04/21(金) 00:54:39.31ID:mEI7DfZD0
>>336 が何したいのか分からないけど
取り敢えず貼っときます
https://www.ipentec.com/document/document.aspx?page=csharp-multi-form
0340デフォルトの名無しさん (ワッチョイ bb92-HtIA)2017/04/21(金) 01:05:14.55ID:2LNxga8T0
コントロール間のデータの受け渡しが分からんとかそういうこと?
0341デフォルトの名無しさん (ワッチョイ a337-4A5T)2017/04/21(金) 01:16:14.27ID:mEI7DfZD0
勉強はじめだからフォームを2つ作る所だと思ってる

通常なら(適当だけど)、フォームが複数有っても、処理の流れ的には1つ
別々の処理をしたい=並列処理 コアごとに振り分けるとかなら、ちょっと難しい

コピペ(URL)ばかりで悪いが知りたい事 書いてると思う
http://ufcpp.net/study/csharp/AsyncVariation.html

夜中だから、もぅ寝てるかな……
0342デフォルトの名無しさん (ワッチョイ a337-4A5T)2017/04/21(金) 01:32:09.79ID:mEI7DfZD0
余計なお世話だとココとかココ
https://social.msdn.microsoft.com/Forums/ja-JP/c3ad7905-5c88-4e4d-98fd-e08a6edb34e6?forum=csharpgeneralja

http://ufcpp.net/study/csharp/misc_task.html


バージョンが古いなら
https://msdn.microsoft.com/ja-jp/library/y2xxdce3(v=vs.110).aspx


検索も覚束無い状況を改善するには
接続語を外すと良いよ

今回の場合は

C# Form 追加

とか

C# 並列処理
C# 高速化

詳しく知りたいときは
C# xxx 高速化
C# xxx 並列処理
xxxは自身のバージョン
2005,2008,2010.2013,2015,2017
2005は古すぎるからお勧めはしないよ
0343デフォルトの名無しさん (JP 0H93-Lh4d)2017/04/21(金) 01:55:13.16ID:ijq3aYJYH
無駄な改行多すぎ
質問者はもっと初歩的なレベルの話をしてると思うし、いきなりあれこれ情報出しすぎると
混乱させる元だぞ
0344デフォルトの名無しさん (ワッチョイ a337-4A5T)2017/04/21(金) 02:39:06.28ID:mEI7DfZD0
情報が多すぎるのは確かに混乱させる元だと思ったが、
質問内容が大まか、だから、仕方ない

改行については気にする必要はないだろう?

本人も、作っている僕の目的がお金を取ることなら,コントロールする必要があるんですけど,
中の人が満足しているなら別にかまわないというポジションを取っている
と発言してるし……馴れ合いが好きなタイプだから何とも言えぬぅ!!

そんな事言い出すと、効率的に情報を教えあう掲示板を自分で作れば?とか、
ヤフの知恵袋使えとかgooで聞けとかになるし 改行ぐらい別にええやろ

ええやろ?
0345デフォルトの名無しさん (ワッチョイ ca79-l1o2)2017/04/21(金) 03:54:53.57ID:MrVdCYaN0
(無言の腹パン)
0346デフォルトの名無しさん (ワッチョイ 46ff-cgsn)2017/04/21(金) 04:09:50.43ID:U/HiA+yg0
ウダウダうるせーよ
0347デフォルトの名無しさん (ドコグロ MMc2-MUXz)2017/04/21(金) 04:46:30.50ID:rPWpf+kQM
>>336
具体的に参考にしたいアプリを出すべき

例
Q:Visual StudioってWindowsFormで作れますか?
A:無理です

とかね
0348デフォルトの名無しさん (ワッチョイ 87a3-XKVh)2017/04/21(金) 05:23:27.87ID:vq22u+1l0
先輩から頂いた名言

正しい答えを知る為には
正しい質問をする必要がある
0349デフォルトの名無しさん (ワッチョイ a306-9aAf)2017/04/21(金) 05:47:15.49ID:72ajwGuR0
.NET4で開発しており、Threadクラスで非同期処理を行っているのですがThreadStartに渡すメソッドに引数を渡したいです
あと最高で10個ほどのスレッドで同時に処理を行いたいんですが、どう実装するのがいいでしょうか?
0350デフォルトの名無しさん (アウアウオー Sac2-Xafy)2017/04/21(金) 05:47:22.44ID:H6APCPmEa
>>336
二つまでしかやった事ないけど、割りかし簡単。
Form1_OnClickの中で

Fotm2.Text1.text = "hello";

みたいにすればおk
0351デフォルトの名無しさん (ドコグロ MMc2-MUXz)2017/04/21(金) 05:57:56.70ID:rPWpf+kQM
>>349
同時に実行したいならスレッド分けんなよ的な
仮に動いてくれたとしてもCPUのコア数に依存
0352デフォルトの名無しさん (ワッチョイ 0b30-v7vL)2017/04/21(金) 06:59:47.66ID:8y7CbVNv0
>>349
スレッドの開始時にパラメータを渡すには?[2.0のみ、C#、VB] − @IT
http://www.atmarkit.co.jp/fdotnet/dotnettips/434paramthread/paramthread.html
0353デフォルトの名無しさん (スップ Sdaa-owiS)2017/04/21(金) 08:20:37.99ID:lbMf26rvd
>>349
なぜ今さら4を使う?
0354デフォルトの名無しさん (ワッチョイ ab49-NDH1)2017/04/21(金) 09:12:49.10ID:k73pGP5K0
>>349
TaskCreationOptions.LongRunningオプション付けてTask作れば良いのに。
このオプションでこのタスク専用のスレッドが作成されて割り当てられるから実質Thread作成するのと同じだし、素のThread扱うより楽。
0355デフォルトの名無しさん (ワッチョイ 46ff-cgsn)2017/04/21(金) 09:15:57.49ID:U/HiA+yg0
>>353
古いプロジェクトのメンテでしょ
0356デフォルトの名無しさん (ワッチョイ 467d-m8Mb)2017/04/21(金) 09:40:27.67ID:Caf7+LKP0
.net4でも、公式の拡張使ってasync await使うのが正義じゃね?
0357デフォルトの名無しさん (スップ Sdaa-owiS)2017/04/21(金) 11:00:40.94ID:lbMf26rvd
>>355
もうとっくにサポート切れてるのにね
0358デフォルトの名無しさん (ワッチョイ fad4-HDOw)2017/04/21(金) 11:12:42.44ID:RSu3z+zM0
4はXPでも使える!
0359デフォルトの名無しさん (ワッチョイ 46ff-cgsn)2017/04/21(金) 11:36:39.97ID:U/HiA+yg0
>>357
サポートよりもフレームワークのバージョン上げて予期しない動作する方が嫌という判断でしょ
0360デフォルトの名無しさん2017/04/21(金) 11:57:23.78ID:tIUIoLThO
そうなの?
0361デフォルトの名無しさん (ワッチョイ bb99-l1o2)2017/04/21(金) 14:19:36.33ID:26anTlCP0
金取るチャンスなのに契約の取り方がヘタクソ
0362デフォルトの名無しさん (スフッ Sdaa-cgsn)2017/04/21(金) 14:23:14.42ID:39ZTh35Vd
まあ客の予算次第だよ
別に無理してバージョン上げなきゃいけないもんでもないし
0363デフォルトの名無しさん (ワッチョイ a306-9aAf)2017/04/21(金) 15:26:51.86ID:72ajwGuR0
>>351
なるほど、ではコア数が4なので4スレッドにします

>>353
VS2010 ExpressEditionだからです

4つのスレッドで処理しながら、新たに処理が追加されたらスレッドが空き次第随時実行してこうと考えています
0364デフォルトの名無しさん (スフッ Sdaa-cgsn)2017/04/21(金) 16:13:32.28ID:39ZTh35Vd
俺ならParallel.Invoke使って最大同時実行数指定するかな
0365デフォルトの名無しさん (スププ Sdaa-VP69)2017/04/21(金) 19:55:51.44ID:xoBKyyKqd
ところで皆、質問だけど
今ご時世、プログラマーって何食ってる?

ハンバーガー?
0366デフォルトの名無しさん (アークセー Sx23-lqRy)2017/04/21(金) 20:05:49.12ID:FJNJL/aCx
>>365
トンカツ
白米
さらしなそば
0367デフォルトの名無しさん (ワッチョイ a306-9aAf)2017/04/21(金) 21:41:22.40ID:72ajwGuR0
>>364
どうやってやるんですか?
今の主流はParallel.InvokeやらForらしいのでとりあえずParallel.InvokeをThreadクラス代わりに使うことにします
0368デフォルトの名無しさん (ワッチョイ 2729-m8Mb)2017/04/21(金) 21:54:42.94ID:ZN5Gwaw10
オムライス
カレーライス
チキンライス
0369デフォルトの名無しさん (ワントンキン MMfa-XsL7)2017/04/21(金) 22:13:14.94ID:XzEZ7f+GM
スパゲティ
スパゲティ
スパゲティ
0370デフォルトの名無しさん (ワッチョイ 8a72-f7dw)2017/04/21(金) 22:20:45.41ID:r76cSHAv0
スパゲティ食ってスパゲティコード出すのか
0371デフォルトの名無しさん (ワッチョイ 8fc8-x/nK)2017/04/22(土) 00:01:48.72ID:8z8xBz5t0
スパゲッティ食べてウンコード出します
0372デフォルトの名無しさん (ワッチョイ bb4c-VP69)2017/04/22(土) 00:12:56.35ID:7MQLYtSw0
あら以外に…
ってかコンビニ飯が多いのですね


自分もコンビニの和風パスタかなぁ
0373デフォルトの名無しさん (ワッチョイ bf8c-amNx)2017/04/22(土) 09:12:28.75ID:5s4elXXS0
アプリ実行中にグローバルホットキーを設定した場合、
アプリを再起動せずにグローバルホットキーを即時反映させることは無理なのでしょうか?
0374デフォルトの名無しさん (ワッチョイ 06c8-AhUp)2017/04/23(日) 21:24:35.55ID:yVkOyJs90
>>373
普通にできたが・・・

デバッガで、ちゃんとRegisterHotKeyが実行されていることは確認したか?
それと、Form.WndProcはちゃんとoverrideしたか?
0375デフォルトの名無しさん (ワッチョイ bf8c-amNx)2017/04/25(火) 11:13:17.19ID:WpKNHpK80
>>374
有難うございます。何とかうまく行きました
0376デフォルトの名無しさん (ワッチョイ fad4-HDOw)2017/04/25(火) 12:28:44.73ID:uJsbVovK0
すみません、private継承とかprotected継承とか、C特有の継承は出来ないんですか?
0377デフォルトの名無しさん (スプッッ Sd33-owiS)2017/04/25(火) 12:42:03.63ID:d/fTF244d
>>376
C使えよ
0378デフォルトの名無しさん (ワッチョイ 46ff-cgsn)2017/04/25(火) 13:32:05.78ID:KV93xfQQ0
>>377
黙れ
0379デフォルトの名無しさん (ブーイモ MMaa-fTbL)2017/04/25(火) 13:54:48.91ID:swVfUf+hM
>>376
protected継承やprivate継承は実装継承というアンチパターンでのみ使われる機能なので闇に葬られた
0380デフォルトの名無しさん (ワントンキン MMfa-XsL7)2017/04/25(火) 19:44:24.14ID:+qXeomZyM
継承はほとんど使わなくなってしまったよね
0381デフォルトの名無しさん (スププ Sdaa-cgsn)2017/04/25(火) 20:12:49.62ID:Vr/MYdwXd
使いますけど
0382デフォルトの名無しさん (ワントンキン MMfa-5GSV)2017/04/26(水) 10:04:42.79ID:VLrkONBlM
Windows Fromアプリで、TopMost=Trueにすると、
Form1_Load内でThis.Close()で終了すると死んでしまいます。
VS2005でデフォルトで作成したものに、上記2点いじっただけです。

どうすれば正常に終了できるでしょうか?
0383デフォルトの名無しさん (ワントンキン MMfa-5GSV)2017/04/26(水) 10:45:58.54ID:VLrkONBlM
とりあえずコード内で this.TopMost = false; で回避はできますね。
0384376 (ワッチョイ fad4-HDOw)2017/04/26(水) 11:07:48.39ID:v1mkLRF90
>>379
そうですか。
C#がVB.NETと比べて
ほとんど方言レベルと言っていいほどの
記述作法の違いしかなくてガッカリしております
0385デフォルトの名無しさん (ワッチョイ bb36-s7ab)2017/04/26(水) 11:58:40.29ID:CdfOVoYF0
VBとC#はCLIのガワなんだから当たり前だろ
そんなことも分からないとはガッカリだよ
0386デフォルトの名無しさん (ラクッペ MM33-L/+B)2017/04/26(水) 12:37:20.42ID:AofAqMEYM
構造体で十分なデータストアをクラスで作るのは一般的にどうなのでしょうか

個人的には全部クラスで良いかなと思うのですが、クラスにする必要の無いデータストアをクラスで作られると迷惑と思われるのであれば構造体も使おうかなと思い
0387デフォルトの名無しさん (アウアウイー Sa63-wX6N)2017/04/26(水) 13:00:34.63ID:tZbC6OgXa
むしろ特に構造体を使う理由がなければクラスでいいでしょ
https://msdn.microsoft.com/ja-jp/library/ms229017(v=vs.100).aspx
0388デフォルトの名無しさん (スププ Sdaa-cgsn)2017/04/26(水) 14:05:15.67ID:soLwGojkd
>>380
使わないと開発不可能
0389デフォルトの名無しさん (ラクッペ MM33-L/+B)2017/04/26(水) 20:27:19.24ID:QnT6svh9M
>>387
ですよね
そんなん構造体で良いじゃんと言われたことがあるのですが、ならクラスでも良いんじゃないかと思ったので
0390デフォルトの名無しさん (ワッチョイ bb6d-s7ab)2017/04/26(水) 20:33:54.55ID:zzsW497A0
言った人はc++erなのでは
0391デフォルトの名無しさん (ワッチョイ 1e06-m8Mb)2017/04/26(水) 21:09:44.17ID:Dl6GoNvb0
C++の方はわからんけどC#だとclassはnullでもOKで構造体はnullにできない、だったっけ
逆に言うと構造体の中身は値が保証されているけどclassは違う
0392デフォルトの名無しさん (ワッチョイ ab50-WDHv)2017/04/26(水) 22:20:52.28ID:c0uFv7CK0
Classはスタックに置けないけど構造体はスタックに置ける
この違いがもっとも大きい
0393デフォルトの名無しさん (ワッチョイ 0fe2-Ahd3)2017/04/27(木) 00:19:02.12ID:vtv8oX9y0
どのくらい大きいのでしょうか
0394デフォルトの名無しさん (アウアウイー Sa1f-GVoY)2017/04/27(木) 01:31:12.54ID:PkjB6FqQa
構造体の配列は型の実体がメモリ上に連続して配置されるので、
シーケンシャルなデータを高速でファイルに読み書きしたい時なんかは構造体使うじゃないかな。

っていうか一般にどうか知らんけど俺は使ってます。
unsafeかCopyMememory使う必要があるのが不満だけど
0395デフォルトの名無しさん (ワッチョイ 0b9c-Ahd3)2017/04/27(木) 02:31:21.23ID:CHpQ8LIJ0
>>393
しらねーよ
0396デフォルトの名無しさん (ワッチョイ bb3c-xKXb)2017/04/27(木) 02:55:25.86ID:NhjwxeLX0
>>393
GC Pressureでググれ
0397デフォルトの名無しさん (ワッチョイ 7bd4-L4LY)2017/04/27(木) 07:08:12.81ID:nosRnrO+0
>>396
Gen0のGCで回収できてる限りはGCへの負荷はほとんど問題にならないよ
中途半端に長生きさせるのが一番良くない
0398デフォルトの名無しさん (ラクッペ MM1f-Dmwd)2017/04/27(木) 07:19:12.94ID:+toFq7jRM
>>394
unsafeとか許す開発は嫌だな
制御なら仕方ないかも知れんけど

でもC#で制御するならC++使うだろうし
やっぱり嫌だな
0399デフォルトの名無しさん (スププ Sd7f-NoUs)2017/04/27(木) 07:20:53.54ID:PXKpGcaKd
>>398
うるさいんだよ
0400デフォルトの名無しさん (ラクッペ MM1f-Dmwd)2017/04/27(木) 07:22:53.37ID:+toFq7jRM
つかunsafe使う開発って
ゲームとか画像処理関係なのかな

業務アプリじゃデータベースとのやり取りのが遥かにボトルネックだろうから、可読性優先で使わんでしょ
0401デフォルトの名無しさん (ブーイモ MM9f-U5OU)2017/04/27(木) 07:48:34.95ID:qRo8G++UM
unsafeのユースケースで多いのはP/InvokeやCOM Interopじゃないかな
業務でRCWを使いまくる開発をしたときにはunsafeが欲しくなったよ
意地張って全部MarshalとIntPtrで実装したけど、素直にunsafe使ってればずっと楽に作れて可読性の高いコードになったと思う
0402デフォルトの名無しさん (スップ Sd7f-xKXb)2017/04/27(木) 08:02:33.66ID:RPZ+fjgvd
>>397
一回の負荷じゃなくて、頻発することによる負荷
0403デフォルトの名無しさん (ワッチョイ 0bae-Ahd3)2017/04/27(木) 08:49:05.79ID:Av2I5InP0
Xenko・・・・いよいいC#の時代が来たな
0404デフォルトの名無しさん (ドコグロ MM7f-4iqD)2017/04/27(木) 09:34:09.26ID:jMKLeXinM
画像処理必要になったら使いまくりだった
SetPixelとGetPixelなんて人間の許容できる速度じゃねーし
0405デフォルトの名無しさん (ワッチョイ 6fff-NoUs)2017/04/27(木) 10:13:10.24ID:I8i1yzOD0
そらそうよ
0406デフォルトの名無しさん (ワッチョイ 0b9c-Ahd3)2017/04/27(木) 10:14:13.27ID:CHpQ8LIJ0
JavaもC#もFortranも速度がいるライブラリは全部C++で書いてんだよ!!! unsafeなんて飾りだよ!!!
0407デフォルトの名無しさん (ブーイモ MM9f-thNO)2017/04/27(木) 10:37:30.81ID:o3gpF0TrM
>C++
プッ クスクス
0408デフォルトの名無しさん (ワッチョイ 0fe2-Ahd3)2017/04/27(木) 10:58:54.58ID:vtv8oX9y0
>>403
変な名前だなぁ
悪意ある人にはXenkoはUnkoとか絶対言われるよ
0409デフォルトの名無しさん (ワッチョイ 0fe2-2CyC)2017/04/27(木) 18:58:12.33ID:LVALH3Km0
この調子で進化し続ければC#覇権ありえる?
0410デフォルトの名無しさん (ブーイモ MM7f-4Pth)2017/04/27(木) 19:58:10.99ID:QueERxZNM
嫌、ウマションを超えるネコションと呼ばれる
0411デフォルトの名無しさん (ワントンキン MM7f-ZmVS)2017/04/27(木) 21:29:53.96ID:9/HGdiVmM
レガシーを除外したランキングならとっくに覇権とってるだろ
0412デフォルトの名無しさん (ワッチョイ 0f1f-XZJj)2017/04/28(金) 11:36:08.69ID:UB16aQrr0
海外のソフトのプラグイン作ってるんだけど
オープンソースでサンプルが豊富なんだけど
よくvar型を使ってるんだけど、実際よく使われるもんなの?

本を3冊読んだけど、どの本も1ページのみの説明で
あまり使わないと書いてたけど
0413デフォルトの名無しさん (ワッチョイ 1b99-D0yh)2017/04/28(金) 11:42:31.64ID:uzs5gD3a0
100年前の古文書みてーなクソ本ばっか読んでんなよ
0414デフォルトの名無しさん (ワッチョイ 7bfc-2CyC)2017/04/28(金) 11:44:19.90ID:B15buEn00
>>412
varは型じゃなくて表記法だから
会社のコーディング規約見たらvar禁止されていて、その理由が可読性が悪くなるからとか何の冗談だよと
0415デフォルトの名無しさん (ドコグロ MM7f-4iqD)2017/04/28(金) 12:35:11.85ID:HP+d21vgM
>>414
foreachをvar使って回すやつだいっ嫌い
死んだらいいのに
0416デフォルトの名無しさん (スフッ Sd7f-g2qj)2017/04/28(金) 12:36:26.45ID:q/cbav89d
foreachこそvarでいいだろ、あそこに型名書く意味がわからん
0417デフォルトの名無しさん (ブーイモ MM7f-U5OU)2017/04/28(金) 12:37:20.17ID:RAblmaCwM
値の変わらない変数はvarが使えるなら全部varだなあ
たまにCみたいな抽象度の低いコードを書くときはvarだとなんとなく気持ち悪くて型書くけど
0418デフォルトの名無しさん (スフッ Sd7f-2K7k)2017/04/28(金) 12:44:09.01ID:7/PNEgV9d
foreach(KeyValuePair<string, int> item in items)

foreach(var item in items)
0419デフォルトの名無しさん (アウアウイー Sa1f-GVoY)2017/04/28(金) 13:00:00.99ID:acRR5v6Fa
>>416
ジェネリック導入されてから出番少ないけど、foreachには
指定した型名でキャストするなんて機能もあるんで、
まったく意味がないわけでもないと思う
0420デフォルトの名無しさん (ワッチョイ 0f1f-XZJj)2017/04/28(金) 13:14:19.47ID:UB16aQrr0
結局好きなように書けってことだな
0421デフォルトの名無しさん (ワッチョイ 5f7d-XZJj)2017/04/28(金) 13:26:10.91ID:c69u7zZ90
いやCollection系とかでループ変数をvarにするとobjectになるんでね
newには概ね冗長だが、インターフェイス型に納める場合とかあるし
本など鵜呑みにするのではなく機能と用途を理解して適切に使ってくれ
0422デフォルトの名無しさん (ワッチョイ 5f3c-lWNK)2017/04/28(金) 13:51:13.68ID:yOScPVur0
>>421
> いやCollection系とかでループ変数をvarにするとobjectになるんでね
はあ?

> 本など鵜呑みにするのではなく機能と用途を理解して適切に使ってくれ
お前がな
0423デフォルトの名無しさん (ワッチョイ 0f1f-XZJj)2017/04/28(金) 14:03:37.00ID:UB16aQrr0
まぁ俺が知りたいことはもうわかったら
あとのケンカは好きにやってくれ
0424デフォルトの名無しさん (ワッチョイ 5f7d-XZJj)2017/04/28(金) 14:04:32.99ID:c69u7zZ90
>>422
そんなものGetEnumerator()の実装に依るだろと言いたいのかね?
なんでそんなに噛みついてくるんだい?
0425デフォルトの名無しさん (ワッチョイ 5f3c-lWNK)2017/04/28(金) 14:37:46.38ID:yOScPVur0
>>422
単に
> いやCollection系とかでループ変数をvarにするとobjectになるんでね
なんて言う奴はバカだ
ってはっきり言わないとダメなのかい? w
0426デフォルトの名無しさん (ワッチョイ 5f3c-lWNK)2017/04/28(金) 14:38:51.38ID:yOScPVur0
アンカーずれた
0427デフォルトの名無しさん (ワッチョイ 5f7d-XZJj)2017/04/28(金) 14:47:35.36ID:c69u7zZ90
>>425
そうか、先述からの捕捉を端的に書いたつもりで大分言葉足らずになってしまったのは否めないね
それなら不適切な内容をはっきり言ってくれないとレスの意味もないと思うけど、バカですまんな
0428デフォルトの名無しさん (ワッチョイ 9fd4-Ahd3)2017/04/28(金) 14:56:25.86ID:jiUUghWU0
使うなって言われてる古いほうを使ってるんだな
0429デフォルトの名無しさん (ワッチョイ 6b19-zgOH)2017/04/28(金) 14:56:59.31ID:16cUnVZn0
さすがにジェネリック導入して10年以上経ってるんだから
IEnumerableしか持ってないコレクションはもういいだろ
どうしても使わなければならないならCast<T>()でもOfType<T>()でも

IEnumerableなしでGetEnumeratorだけなのがある? 知るか
0430デフォルトの名無しさん (ワッチョイ 0b9c-Ahd3)2017/04/28(金) 15:13:38.64ID:MX+8ky6z0
var は糞。var好きならスクリプト言語でも使えや、低脳カスが。
複数の人が触るソースにvarなんか使うんじゃねー、チンカス。
0431デフォルトの名無しさん (スップ Sd7f-ETyN)2017/04/28(金) 15:26:38.71ID:fjUFhFzRd
foreachのvarは好きだけど
for(var i=0は慣れる気がしない…
古い人間ですまん
0432デフォルトの名無しさん (ワッチョイ 0b9c-Ahd3)2017/04/28(金) 15:31:35.41ID:MX+8ky6z0
varってのは使い捨てのコードに使うものだ。
もし、varが禁止されてないプロジェクトがあれば、そのプロジェクトに入ったPGも使い捨てということだ。
0433デフォルトの名無しさん (ドコグロ MM7f-lWNK)2017/04/28(金) 15:33:44.05ID:aRdBKmzRM
と、捨てられたPG崩れがわめいています
0434デフォルトの名無しさん (ワッチョイ 0b9c-Ahd3)2017/04/28(金) 15:48:10.28ID:MX+8ky6z0
C#はオワコンの負け組みだからこれぐらいにしてやるか。
0435デフォルトの名無しさん (ワッチョイ 7b72-xKXb)2017/04/28(金) 16:34:29.59ID:EChaf8qd0
>>434
それくらいしか書けないのよね
0436デフォルトの名無しさん (ドコグロ MM7f-4iqD)2017/04/28(金) 16:58:58.41ID:HP+d21vgM
>>418
上のがわかりやすいわ
下のは死ねって思うわ

c言語で

void unko(void *kuso)

見たときと同じぐらい絶望するわ
0437デフォルトの名無しさん (ブーイモ MM9f-thNO)2017/04/28(金) 16:59:12.80ID:OQtU/BvGM
var大好き
0438あ (スフッ Sd7f-DTDR)2017/04/28(金) 17:09:52.79ID:Yq+yDoppd
voidと決定的に違うのは、ちゃんと型があるけど書かないだけでは?
推論して欲しくない≒型自体に意味があるとき以外は推論してもらわないとハネるな。
ニュートンもラッセルもオッカムも言ってるレベルの話。
0439デフォルトの名無しさん (ドコグロ MM7f-4iqD)2017/04/28(金) 17:14:59.27ID:HP+d21vgM
>>438
は?
voidだってソースしっかり追えば書き手がなんの型を想定したものかわかるっつーの
0440デフォルトの名無しさん (ワッチョイ 6f92-bQ/p)2017/04/28(金) 17:28:45.14ID:6mA8TAiP0
var hoge;
って書いた時点でコンパイラは俺の思考を読み取って型推論しろよ。
0441デフォルトの名無しさん (ドコグロ MM7f-lWNK)2017/04/28(金) 17:29:50.08ID:MsFREs8RM
レス古事記かよ w
0442デフォルトの名無しさん (アウアウイー Sa1f-GVoY)2017/04/28(金) 17:36:03.32ID:ljeXSiL5a
こういう場合はvar使うなみたいなガイドラインってどこかにあったっけ?

何となく感覚で後で分かりづらいなと思うところは明示的に型指定してるけど
具体的にどういう場合かって言われると答らえれんなあ
0443デフォルトの名無しさん (ワッチョイ 4fd4-Ahd3)2017/04/28(金) 17:36:58.01ID:NdqQrFP/0
visual studio君が、こう書いたほうが簡単だろ?みたいに提案してくるからちょっとイラつく
0444デフォルトの名無しさん (ワッチョイ 4fd4-Ahd3)2017/04/28(金) 17:37:56.25ID:NdqQrFP/0
変数名でわかるから全部varでいいよ
0445デフォルトの名無しさん (ワッチョイ 0b9c-Ahd3)2017/04/28(金) 17:42:54.70ID:MX+8ky6z0
var使ってるおれ最先端みたいな勘違いしてるゆとりよ

アホすぎだろw varなんておまえが生まれる前からあるからw
0446デフォルトの名無しさん (ドコグロ MM7f-4iqD)2017/04/28(金) 17:43:31.50ID:HP+d21vgM
>>442
ふざけんな
何がガイドラインだよ
ソース中探すことになる時点で読みにきーよ
ガイドラインとかいう免罪符で逃げてんじゃねーよ
0447デフォルトの名無しさん (アウアウイー Sa1f-GVoY)2017/04/28(金) 17:45:53.50ID:ljeXSiL5a
春先でもないのに何か変なのが湧いてまんな
0448デフォルトの名無しさん (ワッチョイ df4f-y16Z)2017/04/28(金) 17:51:53.39ID:tEYEmr+N0
けんかはやめて
ふたりをとめて
0449デフォルトの名無しさん (ブーイモ MM7f-thNO)2017/04/28(金) 17:59:24.82ID:WSWQ4NQYM
>>445
こういう老害が顔真っ赤にして怒るのが楽しいのでvarを多用してます
0450あ (スフッ Sd7f-DTDR)2017/04/28(金) 18:03:50.12ID:Yq+yDoppd
>>439
想定してるのと、決定してるのは違うでしょ。
0451デフォルトの名無しさん (ワッチョイ 0b9c-Ahd3)2017/04/28(金) 18:05:50.50ID:MX+8ky6z0
>>449
varは馬鹿発見器と言われてもうかれこれ20年経つな。そんなことも知らないんだろうな。
0452あ (スフッ Sd7f-DTDR)2017/04/28(金) 18:06:33.79ID:Yq+yDoppd
>>442
規定はあったかなぁ。
型をインターフェイスとして、明示的に「現段階の推論より拡張される可能性があるが、確実にこれな」って時かな。
0453デフォルトの名無しさん (ブーイモ MM7f-thNO)2017/04/28(金) 18:06:59.75ID:WSWQ4NQYM
>>451
クスクス
0454デフォルトの名無しさん (ワッチョイ 6b29-2CyC)2017/04/28(金) 18:07:51.73ID:J2ZyDEwK0
varさんとgotoさん
婆さんと後藤さん
0455あ (スフッ Sd7f-DTDR)2017/04/28(金) 18:08:31.55ID:Yq+yDoppd
autoもあったしな。
0456デフォルトの名無しさん (ワッチョイ cb93-Ahd3)2017/04/28(金) 18:13:06.83ID:/0/1YjaC0
>>451
お薬多めに出しておきますねー
0457デフォルトの名無しさん (ワッチョイ 5f3c-lWNK)2017/04/28(金) 18:15:27.23ID:yOScPVur0
>>442
> こういう場合はvar使うなみたいなガイドラインってどこかにあったっけ?
ないんじゃね?
使えるところは全部 var でいいよ
0458デフォルトの名無しさん (ワッチョイ 5f3c-lWNK)2017/04/28(金) 18:20:04.42ID:yOScPVur0
> varは馬鹿発見器
発見しました: ID:MX+8ky6z0, ID:HP+d21vgM
0459デフォルトの名無しさん (ワッチョイ 0b9c-Ahd3)2017/04/28(金) 18:23:48.10ID:MX+8ky6z0
このとおり、varを馬鹿にすると低脳PGは発狂するwww
だってvarは馬鹿のための仕様だからなwww varがないとスラスラコード書けなくなるもんねwww
0460 ◆QZaw55cn4c (ワッチョイ 6fff-jU/V)2017/04/28(金) 18:26:32.89ID:TVEsXY/N0
>>417
それがそれ,同じく抽象度の低い世界の出身の C++11later ではすべて auto に駆逐されてしまったのであった‥
0461デフォルトの名無しさん (ワッチョイ 6f7d-2CyC)2017/04/28(金) 18:32:29.40ID:3wjRPvfj0
>>448
しかし議論はエスカレーション
0462デフォルトの名無しさん (ワッチョイ 0b9c-Ahd3)2017/04/28(金) 18:33:14.48ID:MX+8ky6z0
新参者に使ってもらえない糞言語ほど、
varとかスクリプト寄りの機能を追加してVB厨レベル( ID:yOScPVur0 )の池沼を参入させようとする。

結果、低品質のコードを大量生産させる糞言語として認知されることになる。
0463デフォルトの名無しさん (ワッチョイ 0b9c-Ahd3)2017/04/28(金) 18:36:44.18ID:MX+8ky6z0
つまりC#は昔のVBという立ち位置。

var使ってるおれ最先端、古参技術者よりレベルが高いと思ってるこのスレの住人がそれをよく現している。

var使うのにスキルなんているか? むしろタイピングが糞遅くて、スキルがない馬鹿のための機能だろうwwwwww
0464 ◆QZaw55cn4c (ワッチョイ 6fff-jU/V)2017/04/28(金) 18:38:58.80ID:TVEsXY/N0
var で困ることってなんなの?C++ でも auto が導入されたというのに,var はなぜだめなの
もしかして var って型推論とは無関係なの?
0465デフォルトの名無しさん (ドコグロ MM7f-4iqD)2017/04/28(金) 18:39:09.95ID:HP+d21vgM
>>449
老害関係ない
voidポインタが大好きなやつは昔からいたしね
読みにくいことこの上なし
0466デフォルトの名無しさん (ワッチョイ 6f7d-2CyC)2017/04/28(金) 18:39:52.31ID:3wjRPvfj0
varは、linqと無名クラスのために導入されたんだが
あれがVB上がり向けという感性って一体・・・
0467デフォルトの名無しさん (ドコグロ MM7f-4iqD)2017/04/28(金) 18:40:04.44ID:HP+d21vgM
>>464
ぱっと見、型がわからない
0468デフォルトの名無しさん (ワッチョイ 6f7d-2CyC)2017/04/28(金) 18:44:26.09ID:3wjRPvfj0
varよりある意味凶悪なdynamicを問題にしないのは
使ったことがないからなんだろうか?
0469デフォルトの名無しさん (アークセー Sx1f-L1Lv)2017/04/28(金) 18:45:06.29ID:Xuq4yDdbx
ID:MX+8ky6z0
>>434
0470デフォルトの名無しさん (ワッチョイ cb93-Ahd3)2017/04/28(金) 18:46:46.98ID:/0/1YjaC0
>>467
変数名で型わかるだろ

>>468
このスレでdynamicを見かけないから存在自体を知らない可能性が高い
0471デフォルトの名無しさん (ワッチョイ 0b9c-Ahd3)2017/04/28(金) 18:48:16.58ID:MX+8ky6z0
>>469
アークセー
0472デフォルトの名無しさん (スフッ Sd7f-g2qj)2017/04/28(金) 18:48:59.70ID:e1yZK/c2d
所謂最先端の言語、例えばScalaとかGoとかでも型推論してくれるし寧ろそちらの方が推奨されてるぞ
0473デフォルトの名無しさん (ドコグロ MM7f-4iqD)2017/04/28(金) 18:49:15.59ID:HP+d21vgM
>>470
unkoとかvrって書いてあるわ
0474デフォルトの名無しさん (ワッチョイ 0b9c-Ahd3)2017/04/28(金) 18:52:47.41ID:MX+8ky6z0
>>472
推奨する奴ほどコード書かないただの言語オタク。誰かとは言わないがそういう奴は新しい言語を次から次へと開発してる。
保守とか運用なんてこれっぽっちも考えてないから出来る行為。

書いたコードもその言語自体も使い捨て。
0475デフォルトの名無しさん (スフッ Sd7f-g2qj)2017/04/28(金) 18:59:38.85ID:e1yZK/c2d
適当に言ってるんだろうけど言語オタクってかなりコード書くよ、言語自体もコードの塊なわけだし
0476デフォルトの名無しさん (アークセー Sx1f-L1Lv)2017/04/28(金) 19:05:16.34ID:Xuq4yDdbx
>>471
ワッチョイ
0477デフォルトの名無しさん (ドコグロ MM7f-4iqD)2017/04/28(金) 19:07:57.62ID:HP+d21vgM
>>475
でもモノを完成させたことがない印象
言語の機能もいらんもんばっかり追加してる

プログラマの業務に沿った機能なんて一度も追加したことないんじゃない?
設計書との親和性も悪いし
テストもその結果もEXCELに貼りにくいし
動かすことにしか脳みそがいってない

そろそろ現役のPGに業務にあった言語作って欲しいな
0478デフォルトの名無しさん (ワッチョイ cbc8-hk3e)2017/04/28(金) 19:09:10.95ID:YBZCin7/0
型が明らかな場合にvarを使ってないと、こいつ素人か?って思われるんじゃ?病だと思う
正直型が見てパッとわかればどっちでもいいよね
0479デフォルトの名無しさん (スフッ Sd7f-g2qj)2017/04/28(金) 19:10:38.64ID:e1yZK/c2d
>>477
もうおまえCOBOLでも使ってろ
0480デフォルトの名無しさん (ワッチョイ 0f06-2CyC)2017/04/28(金) 19:11:36.34ID:jaZwsH8r0
ワッチョイ表示されていてもスレの意図無視するとか尊敬するわ
0481デフォルトの名無しさん (ワッチョイ 0fe2-2CyC)2017/04/28(金) 19:12:41.42ID:Owww5DOs0
varはしゃーない
引数にNULLとか返すのが悪い
特にファイル操作系
0482デフォルトの名無しさん (ワッチョイ 0b9c-Ahd3)2017/04/28(金) 19:14:36.05ID:MX+8ky6z0
使い捨ての糞コード書く低脳馬鹿PGはタイピングも楽で脳ミソ使わないからvarは楽だろうが、
読むほうは大変。そもそも糞PGのために一瞬でも脳ミソ使わされるのが苦痛。

他人のコードを大量に読むときは高速スクロール。varでの把握は不可能。

良識のあるPGは他人が読むことも考えるからvarは使わない。このスレ見ればよく分かる。

varにしろと言ってる奴はたいてい低スキルのくせに老害連呼してる。
0483デフォルトの名無しさん (ワッチョイ 0b9c-Ahd3)2017/04/28(金) 19:17:35.86ID:MX+8ky6z0
>>480
全く。まともなPGはみな、初心者にはvarは推奨してないからな。
型が常に何かを確認してコード書くのが上達のコツだし、アホみたいなバグも減る。

var使いたがる奴はクスリプトキディとかだよ。
奴らにとって人を騙すのにvarのほうがいろいろ都合がいいからな。
0484デフォルトの名無しさん (ワッチョイ 0f1f-eF6l)2017/04/28(金) 19:23:00.86ID:KibF/kaB0
型がわからんからだめって…
マウスオーバーすりゃIDEが型表示してくれんじゃん
俺もずっとテキストエディタでコーディングする古いプログラマでvar嫌いだったけどIDEに慣れてきたらvar使わないことが無意味だとわかってきたよ
コンパイラが知っている内容をわざわざプログラマが無駄にタイプする必要はない
タイポするのも長い型名をタイプするのも時間の無駄
0485デフォルトの名無しさん (ワッチョイ 6fc8-GpoV)2017/04/28(金) 19:24:09.81ID:AZuqyiJa0
varが駄目なのは当然なのになんでこんなことで議論になるんだ?

変数名にa、b、c、d、...を使うのと同じことだぞ。
逆に駄目なのを承知で使うもんじゃねーのか。

型が無い言語っのは、そのダメ部分を込みで仕方ないとして使うもんだろ。
型があるのにvar使うのはお手軽だけどダメコ−ドだと認めて使うもんじゃねーのか?
0486デフォルトの名無しさん (ワッチョイ 6fc8-GpoV)2017/04/28(金) 19:25:20.81ID:AZuqyiJa0
変数名がa、b、cでもコンパイラは知ってる。
0487デフォルトの名無しさん (ワッチョイ 6fc8-GpoV)2017/04/28(金) 19:27:15.95ID:AZuqyiJa0
動きゃ良いという人はコードを人に見せないでくれ。
コードを書いたという事実も実績も封印してくれ。
0488デフォルトの名無しさん (ワッチョイ 0f1f-XZJj)2017/04/28(金) 19:29:10.10ID:UB16aQrr0
俺が単純に疑問に思ったvarでこれだけ議論できるって


素敵やん?
0489デフォルトの名無しさん (ワッチョイ 0bf7-UsTR)2017/04/28(金) 19:29:17.82ID:mPeDNIgc0
横だけど
リファクタで var ⇔ 型名 に置換してくれる機能が欲しいね
型名が分かりにくいというのは事実だと思うよ
ただし、書く時には var の方が便利、インテリセンスがあれば書く段階では型名は思考を邪魔する余計な情報だからな。
数ヶ月放置すると型名なんだっけ?となる。
0490デフォルトの名無しさん (ワッチョイ 0f1f-eF6l)2017/04/28(金) 19:30:36.95ID:KibF/kaB0
C#のvarやC++のauto
JSのvarやVBのVariant
これを混同してない?
0491デフォルトの名無しさん (ワッチョイ 6fc8-5f5/)2017/04/28(金) 19:35:14.09ID:e4f1iNQL0
いいかげん他所でやれよ…
0492デフォルトの名無しさん (オッペケ Sr1f-rAlE)2017/04/28(金) 19:41:52.66ID:VHuJzaIUr
>>490
教えて!とくにjsのと違い
0493デフォルトの名無しさん (ドコグロ MM7f-4iqD)2017/04/28(金) 19:42:49.56ID:HP+d21vgM
>>488
varを使ってはならない
いいね
0494デフォルトの名無しさん (ブーイモ MM9f-thNO)2017/04/28(金) 19:55:04.41ID:R3/UdypNM
varの様な便利な機能はどんどん使うべき
いいね
0495デフォルトの名無しさん (ワッチョイ 0b9c-Ahd3)2017/04/28(金) 19:58:06.46ID:MX+8ky6z0
var推奨してる奴は単発が多いのが笑えるw
0496デフォルトの名無しさん (ブーイモ MM7f-U5OU)2017/04/28(金) 19:59:41.89ID:RAblmaCwM
>>485
たかが一文字変数やvar程度で読みづらくなるような長いメソッドを書く奴の方が害悪
0497デフォルトの名無しさん (ワッチョイ eb37-erB8)2017/04/28(金) 20:03:54.25ID:APjk0fui0
でも、お前ら何も作れないじゃん
0498デフォルトの名無しさん (ドコグロ MM7f-4iqD)2017/04/28(金) 20:05:04.33ID:HP+d21vgM
>>497
作らないでほしいね
varなんて使っちゃうやつは
0499デフォルトの名無しさん (ブーイモ MM9f-thNO)2017/04/28(金) 20:05:47.55ID:R3/UdypNM
>>ID:MX+8ky6z0
あんたの執拗な執着ぶりが怖いよ
0500デフォルトの名無しさん (スフッ Sd7f-g2qj)2017/04/28(金) 20:09:46.00ID:e1yZK/c2d
JSのvarはただの変数宣言
C#のvarは型推論
適当な型代入するクソコード書けばすぐわかる
0501デフォルトの名無しさん (ワッチョイ 1b98-D0yh)2017/04/28(金) 20:13:42.57ID:wU9SnruO0
なんで説こうとするかな^^
適当に煽っとけばいいのに
0502デフォルトの名無しさん (ワッチョイ 0b9c-Ahd3)2017/04/28(金) 20:18:58.70ID:MX+8ky6z0
>>499
プププブーイモ www
0503あ (アウアウエー Sa7f-DTDR)2017/04/28(金) 20:26:58.54ID:0gV62uUka
もしかして、varが型がないように見えるのが嫌なのかなぁ。

ある値をfloatからdoubleに変えました、ってときに、ちゃんと最後まで型が推論されて変わるってめちゃくちゃ便利な事だと思うけどな。
intをlongの方がわかりやすいか。
0504デフォルトの名無しさん (ワッチョイ 6fc8-GpoV)2017/04/28(金) 20:27:15.94ID:AZuqyiJa0
>>496
何で長いメソッド?
突き詰めればメソッド名も何もかもがaとかabとかabcって話だぞ。
0505デフォルトの名無しさん (ドコグロ MM7f-4iqD)2017/04/28(金) 20:36:17.71ID:HP+d21vgM
>>503
ぱっと見わかりにくいって言ってるだろ
同じこと何度も言わすな
0506デフォルトの名無しさん (アウアウカー Sa1f-hk3e)2017/04/28(金) 20:59:48.95ID:BIAIGXKia
>>503
こういうのは絶対嫌だわ。こんなん頻発されたら便利の裏に意図しないこと起こる悪寒しかしない
0507デフォルトの名無しさん (ワッチョイ 5f3c-lWNK)2017/04/28(金) 21:00:11.87ID:yOScPVur0
>>467
カーソル当てれば表示される
0508デフォルトの名無しさん (ワキゲー MM7f-6DvX)2017/04/28(金) 21:04:16.79ID:9er803Z2M
やけに盛り上がってるね
似た流れをVBAスレで見たことある
0509デフォルトの名無しさん (ワッチョイ 0b9c-Ahd3)2017/04/28(金) 21:10:29.28ID:MX+8ky6z0
>>507
カーソル当てないと表示されない。他人のコードを保守するときには致命的欠陥仕様。
0510デフォルトの名無しさん (アウアウイー Sa1f-GVoY)2017/04/28(金) 21:13:15.47ID:ljeXSiL5a
荒らしを構う奴も荒らしというか、こんな低レベルな話を相手にする方も十分異常だわ
少なくとも俺は相手にする気になれん。
0511デフォルトの名無しさん (ドコグロ MM7f-4iqD)2017/04/28(金) 21:13:34.31ID:HP+d21vgM
しかも実行中だけちゃうんか?
0512デフォルトの名無しさん (ワキゲー MM7f-6DvX)2017/04/28(金) 21:15:41.08ID:9er803Z2M
>>447
GW前で舞い上がってるヤツだろうよ
0513デフォルトの名無しさん (ワッチョイ 0bf7-UsTR)2017/04/28(金) 21:19:23.83ID:mPeDNIgc0
他人もそうだけど過去のコードにも言えるね
カーソル当てて見るのは開発中はソース汚さないし良いけれども
保守段階に入ると手間がかかるだけの物になってしまう
0514デフォルトの名無しさん (ドコグロ MM7f-4iqD)2017/04/28(金) 21:21:21.64ID:HP+d21vgM
カーソル当てて見れるのって実行中だけじゃねっけ?
0515デフォルトの名無しさん (ワッチョイ 5f79-D0yh)2017/04/28(金) 21:22:10.90ID:kYrTj3aa0
>>514
プークスクス
0516デフォルトの名無しさん (スププ Sd7f-NoUs)2017/04/28(金) 21:22:51.23ID:ZZsp2CXUd
>>514
コーディングしたことないの丸わかり
0517デフォルトの名無しさん (ワッチョイ 6f7d-2CyC)2017/04/28(金) 21:23:33.42ID:3wjRPvfj0
>>514
VS触ったことないのかな?
0518デフォルトの名無しさん (ワッチョイ 0f1f-eF6l)2017/04/28(金) 21:24:24.20ID:KibF/kaB0
varと型名を相互に変換するプラグインでも作れば?
コンパイラにできるんだからたぶんできるでしょ
時代の流れはvarになってるんだから慣れなきゃならんと思って俺は乗り換えた
0519デフォルトの名無しさん (ワッチョイ 5f79-D0yh)2017/04/28(金) 21:24:47.91ID:kYrTj3aa0
ケツ青すぎワロタ
0520デフォルトの名無しさん (スププ Sd7f-NoUs)2017/04/28(金) 21:27:12.09ID:ZZsp2CXUd
>>514
赤くしとこ
0521デフォルトの名無しさん (ワッチョイ 0f1f-eF6l)2017/04/28(金) 21:28:06.30ID:KibF/kaB0
フレームワークやらプラグインやらを大量に組み込むようになってきて、型名をきっちり把握するのが大変になってきた
大変っていうか不可能に近くてそんなのに構ってたら実装が進まない
varに慣れてきたら型名なんてそんな意識しなくてもちゃんと実装できるってわかってきた
VC6とかの頃はIDE嫌いだったけど最近のIDEはすげーなって思う
0522デフォルトの名無しさん (ワッチョイ 5f72-g2qj)2017/04/28(金) 21:28:19.16ID:EaqkL6fR0
これC#(というより.NET)のランタイムのソースでかなりの人数で開発されてるもんなんだけど普通にvar使ってるよ
https://github.com/dotnet/corefx
0523デフォルトの名無しさん (ドコグロ MM7f-4iqD)2017/04/28(金) 21:30:14.87ID:HP+d21vgM
>>522
別にそいつらが優秀だって誰かが保証してくれるわけじゃねーし
俺が読みにくいのが問題なのに関係ない話するなよ
0524デフォルトの名無しさん (ワッチョイ 5f79-D0yh)2017/04/28(金) 21:31:13.89ID:kYrTj3aa0
>>523
ゲラゲラ
0525デフォルトの名無しさん (ドコグロ MM7f-egBu)2017/04/28(金) 21:31:40.19ID:7AxCmHZzM
>>514
0526デフォルトの名無しさん (ワッチョイ 5f79-D0yh)2017/04/28(金) 21:32:16.14ID:kYrTj3aa0
初心者が読みにくいのは当然だろ
半万年かけて精進しろよアホww
0527デフォルトの名無しさん (ワッチョイ 0bf7-UsTR)2017/04/28(金) 21:33:08.88ID:mPeDNIgc0
>varと型名を相互に変換するプラグインでも作れば?
マイクロソフト以外には難しいと思うよ
var が使える場所のルールは複雑だ
あと、using追加で省略可能なネームスペースを除去したり、あるいは全部書いたりするのも欲しいね。
リファクタする時にだいぶ楽になる
0528デフォルトの名無しさん (ドコグロ MM7f-4iqD)2017/04/28(金) 21:33:09.59ID:HP+d21vgM
>>521
それで?
その感想文で何が主張したいの?
0529デフォルトの名無しさん (ドコグロ MM7f-egBu)2017/04/28(金) 21:33:58.53ID:7AxCmHZzM
>>514
0530デフォルトの名無しさん (ワキゲー MM7f-6DvX)2017/04/28(金) 21:37:49.75ID:9er803Z2M
型を定義できるのにしないってのはよくわかんないけど
受け皿として広く構えるのはありだと思うなぁ
0531デフォルトの名無しさん (ドコグロ MM7f-4iqD)2017/04/28(金) 21:38:46.26ID:HP+d21vgM
>>527
いいね
MediaのColorと
DrawingのColorが
Colorだけで記述しまくっちゃったときに混在したとき割りと最悪だからね
0532デフォルトの名無しさん (ドコグロ MM7f-4iqD)2017/04/28(金) 21:41:36.36ID:HP+d21vgM
>>530
それはc言語で全部void*で書けばみんな幸せじゃんって言ってるのと
俺には違いがわからない
実際ゲーム開発なんかだと引数はvoid*以外は許さないって現場あったよ
0533デフォルトの名無しさん (ワッチョイ 6f7d-2CyC)2017/04/28(金) 21:44:15.21ID:3wjRPvfj0
514でも逃げない神経の図太さは凄い
でも、それだけだね
0534デフォルトの名無しさん (スププ Sd7f-NoUs)2017/04/28(金) 21:44:47.06ID:ZZsp2CXUd
>>514
0535デフォルトの名無しさん (ワキゲー MM7f-6DvX)2017/04/28(金) 21:47:04.75ID:9er803Z2M
>>532
それが全てじゃなかろうに
0536デフォルトの名無しさん (ワッチョイ 6b5f-2K7k)2017/04/28(金) 21:49:18.52ID:z7hQni9p0
>>532
void*は元の型が失われている
C#ではobject型がその役割だ

varでは型が失われないのは理解している?
0537デフォルトの名無しさん (ワッチョイ 6f7d-2CyC)2017/04/28(金) 21:49:32.02ID:3wjRPvfj0
var 無しで把握できるのはローカル変数だけで、遠い位置にあるフィールドやプロバティー
あとクラスのメソッド、プロバティーその他

殆どがマウスカーソル当てないと方の判別できないんだから、ローカルだけわかりやすくても効率は大して変わらん
0538デフォルトの名無しさん (ワッチョイ 6b5f-2K7k)2017/04/28(金) 21:52:26.64ID:z7hQni9p0
>>537
ちなみに参考までに教えてほしいんだけど
LINQの戻り値やラムダ式を変数に入れるときはどうやってるの?
0539デフォルトの名無しさん (ドコグロ MM7f-4iqD)2017/04/28(金) 21:52:28.66ID:HP+d21vgM
>>536
ぱっと見、型がわかんねー以上のことねーぞ
void*も追えばわかるのは一緒だしね

そのソースを見て型がわかったほうが読みやすくないですか?

これ以上のことを俺は求めてないよ
0540デフォルトの名無しさん (ワッチョイ 0b9c-Ahd3)2017/04/28(金) 21:53:46.86ID:MX+8ky6z0
>>536
PGの脳みそから失われる。
0541デフォルトの名無しさん (ワッチョイ 5f72-g2qj)2017/04/28(金) 21:54:26.58ID:EaqkL6fR0
Dictionaryみたいなのでも一々型書くの?
面倒臭くない?
0542デフォルトの名無しさん (ドコグロ MM7f-4iqD)2017/04/28(金) 21:57:00.36ID:HP+d21vgM
>>541
書いたてめー以外なおさらわかんねーだろーが
って想像力はないんだね
0543デフォルトの名無しさん (ワッチョイ 0b9c-Ahd3)2017/04/28(金) 21:58:20.79ID:MX+8ky6z0
>>541
なんでも面倒という奴は単体テストも面倒と言って勝手に端折る。

使えないPGの口癖。
0544デフォルトの名無しさん (ワッチョイ 7b72-xKXb)2017/04/28(金) 21:58:31.56ID:EChaf8qd0
>>514
これはwww
0545デフォルトの名無しさん (ワッチョイ 7b72-xKXb)2017/04/28(金) 21:59:17.86ID:EChaf8qd0
>>527
Roslynでできるだろ
0546デフォルトの名無しさん (ワッチョイ 6f7d-2CyC)2017/04/28(金) 21:59:26.45ID:3wjRPvfj0
>>538
俺は普通にvar使うわ
なんか勘違いさせたならゴメンな
0547デフォルトの名無しさん (ワッチョイ 5f72-g2qj)2017/04/28(金) 21:59:59.89ID:EaqkL6fR0
怠惰はプログラマの美徳だってPerlの作者も言ってたぞ
0548デフォルトの名無しさん (ドコグロ MM7f-4iqD)2017/04/28(金) 22:00:15.12ID:HP+d21vgM
読みやすいコードだの
わかりやすい設計だの言ってるけど

他人にそれを確認して自分の能力を伸ばしたわけじゃないんだよねキミたち

つまり書いてみたもののそれが他人にとって読みやすいかどうかなんて確認したことすらない
0549デフォルトの名無しさん (ワッチョイ 6f7d-2CyC)2017/04/28(金) 22:01:51.46ID:3wjRPvfj0
>>548
VSの常識的挙動すら知らなかったのに偉そうだね
0550デフォルトの名無しさん (ワッチョイ 5f72-g2qj)2017/04/28(金) 22:02:29.97ID:EaqkL6fR0
いやだって人のコード参考にするために読みまくってるけど型名のあるなしで読みやすさに違い感じたことないんだもん、変数名とコメントのほうがよっぽど大事だよ
0551デフォルトの名無しさん (ワッチョイ 9fd4-Ahd3)2017/04/28(金) 22:03:00.73ID:tUns7poa0
みんなvarって書いてるから、varって書いたほうがいいよ
みんなと同じように書くことが一番読みやすいのだから
0552デフォルトの名無しさん (ワキゲー MM7f-6DvX)2017/04/28(金) 22:06:29.32ID:9er803Z2M
俺は基本的に型指定した方がいいと思うけど臨機応変って大切だと思う
0553デフォルトの名無しさん (スププ Sd7f-NoUs)2017/04/28(金) 22:13:26.78ID:ZZsp2CXUd
ろくにコーディングしたことない奴に分かりにくいとか言われてもそんな初心者の都合知るかって思うね
0554デフォルトの名無しさん (ワッチョイ 0b9c-Ahd3)2017/04/28(金) 22:19:58.91ID:MX+8ky6z0
>>547
Perl屋がこのスレで暴れてるのか。スクリプトキディめ。
0555デフォルトの名無しさん (ワッチョイ 5f72-g2qj)2017/04/28(金) 22:21:24.48ID:EaqkL6fR0
>>554
すまんな俺Perl嫌いなんで
0556デフォルトの名無しさん (ドコグロ MM7f-4iqD)2017/04/28(金) 22:21:58.34ID:HP+d21vgM
>>550
だからないんでしょ?
他人に「僕のコード読みやすいですか?」って確認したことなんて
いらん情報でレス付けんな
0557デフォルトの名無しさん (ワッチョイ 0bf7-UsTR)2017/04/28(金) 22:52:43.80ID:mPeDNIgc0
昔は、Microsoft系を使う奴は社会人が多かった
すっかり粘着キティの巣になったもんだ

https://social.msdn.microsoft.com/Forums/ja-JP/home
ここもすっかり感じ悪くなっている
精神年齢10代のオッサン、いい加減に大人になれ。
0558デフォルトの名無しさん (ワッチョイ 0bf3-IDEK)2017/04/28(金) 23:03:44.01ID:+Mok1d3o0
double x = 0;
と書いてあるのを自動リファクタリングで
var x = 0;
に置き換えられると意味が変わるんでやめてね
0559デフォルトの名無しさん (アウアウアー Saff-IGB0)2017/04/28(金) 23:05:51.79ID:lOwqfyCFa
シロートや未熟者はきちんと書くべき。
そのうちvarを効果的に使えるようになる。
0560デフォルトの名無しさん (ワッチョイ 6f7d-2CyC)2017/04/28(金) 23:13:30.28ID:3wjRPvfj0
doubleやintをvarにするんじゃなくて、普通はnewとかメソッドの戻り値やlinqで使うものだね
通常型は自分が定義したクラスってのが相場だ
0561デフォルトの名無しさん (ワッチョイ 9fd4-Ahd3)2017/04/28(金) 23:14:37.90ID:tUns7poa0
数値リテラルくらい普通わかる
0562デフォルトの名無しさん (ワッチョイ 0f1f-eF6l)2017/04/28(金) 23:20:18.24ID:KibF/kaB0
>>558
そんな変換するツールは即刻捨てよう
0563デフォルトの名無しさん (ワッチョイ 0bf3-IDEK)2017/04/28(金) 23:38:26.67ID:+Mok1d3o0
>>562
自分は使わないんだけど、ソース共有してる人の中にvar好きがいるらしく
直してもしつこくvarに置き換えられるんで
double x = 0.0;
にしといた
0564デフォルトの名無しさん (ワッチョイ 5f72-g2qj)2017/04/28(金) 23:40:01.34ID:EaqkL6fR0
コメントに嫌味ったらしくvarにすると壊れるとか書いとけ
0565デフォルトの名無しさん (ワッチョイ 5f72-g2qj)2017/04/28(金) 23:41:00.04ID:EaqkL6fR0
というかその人と連絡取れるなら言ってみればええんとちゃうの?
0566デフォルトの名無しさん (ワッチョイ 0bf3-IDEK)2017/04/28(金) 23:48:45.92ID:+Mok1d3o0
別会社の人達だから文句言いにくいw
まぁ、var使うのは全然いいんだけど機械的に置き換えるとバグを仕込むこともあるから気をつけてねってだけの話
0567デフォルトの名無しさん (ワッチョイ 5f3c-lWNK)2017/04/29(土) 06:45:43.52ID:ggsZ+ODY0
>>563
var x = 0.0d;
って書いときゃいいだけだろ
0568デフォルトの名無しさん (ワントンキン MM7f-ZmVS)2017/04/29(土) 07:42:59.65ID:sTWYRsSMM
var使うとわかりにくい派って自分がプログラム下手くそですって言ってるようなものだよ
varを使うと分かりにくくなる状況ってさ
・メソッドが長い
・変数が多い
・再代入が多い
・責務が複数ある
・制御構造が複雑で分岐やネストが多い
・変数名が分かりにくい
・クラスでまとめるべき変数が分離している
・型の選択を間違えてる(文字列型の数値など)
まだまだあるけどこういうバッドプラクティスを積み重ねてる時に限るんだよね
美しいコードを書く人ほどvarに拒否感がなくむしろ好感を持っている
0569デフォルトの名無しさん (ドコグロ MM9f-4iqD)2017/04/29(土) 08:24:33.42ID:zn8MMXu8M
>>568
いや、普通に読み手にメリットねーじゃん
0570デフォルトの名無しさん (ワッチョイ 6f7d-2CyC)2017/04/29(土) 08:27:39.99ID:W9U2bcCd0
HageHageHageHageHageHage hage= new HageHageHageHageHageHage();
より
var hage = new HageHageHageHageHageHage();
のがマシだろ
0571デフォルトの名無しさん (ドコグロ MM9f-4iqD)2017/04/29(土) 08:28:33.16ID:zn8MMXu8M
>>570
何が?
0572デフォルトの名無しさん (ワントンキン MM7f-ZmVS)2017/04/29(土) 08:40:22.27ID:sTWYRsSMM
>>569
君の世界ではそうなのかな?
僕らの住む現実世界では無駄な記述が減って可読性が上がるけどパラレルワールドでどうなるかまではちょっとわからないな
0573デフォルトの名無しさん (ワキゲー MM7f-6DvX)2017/04/29(土) 08:48:53.20ID:eU1WntyZM
経験上ちゃんと設計するとvarの使い所はとても限られる
0574デフォルトの名無しさん (ワッチョイ 5f3c-lWNK)2017/04/29(土) 08:51:40.59ID:ggsZ+ODY0
どんな経験だよ w
プログラムの流れを追うのに型の情報なんて要らんから余計な型を書いてない方が見易いのは当たり前
スクリプト言語とか void* とか言ってる奴は論外
0575デフォルトの名無しさん (ドコグロ MM9f-4iqD)2017/04/29(土) 08:54:18.81ID:zn8MMXu8M
>>574
でもお前の言ってることってvoid*じゃん
サイコーにカオスだよ
0576デフォルトの名無しさん (ワキゲー MM7f-6DvX)2017/04/29(土) 09:00:25.43ID:eU1WntyZM
そもそもね
流れを追うならプログラムより設計書だと思うよ

プログラムからしか追えないとかプロジェクトとして危ない
プログラムから追うとしても考えることが減るので型指定は有用だよ
0577デフォルトの名無しさん (ワッチョイ 6f7d-2CyC)2017/04/29(土) 09:02:31.32ID:W9U2bcCd0
型宣言至上主義だとラムダ使えないんだな
どんだけ型遅れのポンコツなんだよ
0578デフォルトの名無しさん (ワッチョイ 5f3c-lWNK)2017/04/29(土) 09:09:15.10ID:ggsZ+ODY0
>>575
> でもお前の言ってることってvoid*じゃん
> サイコーにカオスだよ
カオスはお前の頭ん中だろ w
0579デフォルトの名無しさん (ワキゲー MM7f-6DvX)2017/04/29(土) 09:09:49.95ID:eU1WntyZM
勘違いしてるみたいだけど使い所は限られるだけであって使わないとは誰も言ってないよ
だいたいジェネリックとかインターフェースで事足りてしまう

俺の担当する業務は単純なことが多いからまだ出会ってないだけかもしれないけどね
0580デフォルトの名無しさん (ワッチョイ 5f3c-lWNK)2017/04/29(土) 09:10:22.47ID:ggsZ+ODY0
>>576
> プログラムから追うとしても考えることが減るので型指定は有用だよ
意味不明、具体的に書いてみ
0581デフォルトの名無しさん (ワキゲー MM7f-6DvX)2017/04/29(土) 09:12:30.17ID:eU1WntyZM
>>580
やだよ
めんどくさい

ちゃんと考えた上で意味不明と言っているのであれば相容れないし
条件反射で言っているのであれば相対するだけ無駄だし
0582デフォルトの名無しさん (ワントンキン MM7f-ZmVS)2017/04/29(土) 09:13:22.64ID:sTWYRsSMM
>>579
ジェネリックもインターフェースも関係ねえよ
君が全くわかってないってことはわかった
0583デフォルトの名無しさん (ワッチョイ 5f3c-lWNK)2017/04/29(土) 09:14:12.43ID:ggsZ+ODY0
>>579
> だいたいジェネリックとかインターフェースで事足りてしまう
...
初心者用のスレとはこれはひどいな
0584デフォルトの名無しさん (ワッチョイ 5f3c-lWNK)2017/04/29(土) 09:15:00.05ID:ggsZ+ODY0
>>581
了解、具体的に書けないことはわかったよ w
0585デフォルトの名無しさん (ワキゲー MM7f-6DvX)2017/04/29(土) 09:16:39.62ID:eU1WntyZM
>>584
あいよ
お前が何も考えていないことはわかったよwww
0586デフォルトの名無しさん (ドコグロ MM9f-4iqD)2017/04/29(土) 09:19:18.94ID:zn8MMXu8M
>>584
var返ってきたなw
0587デフォルトの名無しさん (ワントンキン MM7f-ZmVS)2017/04/29(土) 09:20:27.46ID:sTWYRsSMM
いつだったかvarとdynamicを混同してる無能SEと仕事した時は疲れはてた
varはVBのVariantと同じで型が無くなって危険だからやめましょう、じゃねえよ
var拒否マンは本当に無能が多い
0588デフォルトの名無しさん (アウアウカー Sa1f-hk3e)2017/04/29(土) 09:21:51.66ID:AwLuvhEda
チームで相当嫌いな奴がvar使いまくって揉めたんやろなぁw
var使ったからってそこまで保守しにくいこともないやろ

ただとりあえずvarを使うことのメリットデメリットを語るんじゃなくてvarを使うことの必要性だけを語れば納得すんじゃねーの?楽だからだけじゃ必要性は無いしな
0589デフォルトの名無しさん (ドコグロ MM9f-4iqD)2017/04/29(土) 09:25:16.52ID:zn8MMXu8M
いや、普通に読みにくいじゃん
マジで読み手にメリットあるの?
0590デフォルトの名無しさん (ワッチョイ 5fc8-jhHJ)2017/04/29(土) 09:31:12.46ID:AULxcJQm0
varを使うやつはvaka

Jserなんかにも言える
0591デフォルトの名無しさん (ワッチョイ 5f3c-lWNK)2017/04/29(土) 09:32:16.55ID:ggsZ+ODY0
>>585
ジェネリックガーって言ってるアホに言われてもな w
0592デフォルトの名無しさん (ワッチョイ 0f1f-eF6l)2017/04/29(土) 09:32:32.36ID:GqCriQx30
そもそも型を知る必要がないんだよ
そこからずれてるから話が平行線になる
型を常に把握する必要があるなら書いてある方がいいだろう
でもその情報はコードを読むにあたって余計だと思ってる人が多いってこと
0593デフォルトの名無しさん (スプッッ Sd7f-2K7k)2017/04/29(土) 09:33:04.59ID:a3seqqU/d
varの例えにvoid*を持ち出すのがわからん
Cでvoid*使うのって関数の引数の話じゃないの?
そこではvarは使えないし

引数がvoid*なら元の型を追いかけるのに呼び出し元をたどる必要があるけど
varが使えるのって関数内のローカル変数くらいなんだから可読性にまったく影響しないよ

var list = new List<int>();
右辺見りゃ型わかるやん
0594デフォルトの名無しさん (ワッチョイ 7bd4-L4LY)2017/04/29(土) 09:36:04.45ID:/b3MraXM0
var使う奴の方がプログラマとしての平均スキルが高いのでコードの品質は統計的に見れば高くなる
varに限らず、新しい機能全般に言えること
決してvarを使うと品質が上がるわけではないが、そんなくだらないことよりプログラマの品質の方が遥かに重要だということだ
0595デフォルトの名無しさん (ドコグロ MM9f-4iqD)2017/04/29(土) 09:36:37.95ID:zn8MMXu8M
>>593
var lst = getlst();
わかんねーじゃん
0596デフォルトの名無しさん (ドコグロ MM9f-4iqD)2017/04/29(土) 09:37:02.67ID:zn8MMXu8M
>>594
なんか根拠あるの?
0597デフォルトの名無しさん (ワントンキン MM7f-ZmVS)2017/04/29(土) 09:37:59.59ID:sTWYRsSMM
>>595
それはお前がバカだからだよ
右辺のメソッドの命名が適当すぎる
まともな人間ならそうはならない
0598デフォルトの名無しさん (ドコグロ MM9f-4iqD)2017/04/29(土) 09:38:54.16ID:zn8MMXu8M
>>597
でも書き手によってはなるんだよね?
0599デフォルトの名無しさん (スプッッ Sd7f-2K7k)2017/04/29(土) 09:39:20.47ID:a3seqqU/d
>>595
わからないところは型名書けばいいのでは?
0600デフォルトの名無しさん (ワッチョイ 0f1f-eF6l)2017/04/29(土) 09:39:44.62ID:GqCriQx30
>>595
その反論で行くなら変数宣言時のvarはOKなんだよな?
0601デフォルトの名無しさん (ドコグロ MM9f-4iqD)2017/04/29(土) 09:40:01.75ID:zn8MMXu8M
>>599
全部書いて欲しいんだよね
0602デフォルトの名無しさん (ワッチョイ 7bd4-L4LY)2017/04/29(土) 09:40:12.39ID:/b3MraXM0
>>596
最初の2行はともかく、プログラマの品質が最も重要なファクターであり
それに比べればvarなんか全く無視できる程度の問題であることは
仕事したことあるならさすがに異論はないだろ?
0603デフォルトの名無しさん (ドコグロ MM9f-4iqD)2017/04/29(土) 09:40:32.93ID:zn8MMXu8M
>>600
議論が面倒なので一律で禁止
0604デフォルトの名無しさん (ワントンキン MM7f-ZmVS)2017/04/29(土) 09:41:20.52ID:sTWYRsSMM
>>598
そうだね
どんな道具でも道具の使い方を知らないバカが使えば間違いは起こりうる
しかしそれは道具そのものを否定することにはならないんだ
否定されるのは君には酷だけどバカの方なんだよ
0605デフォルトの名無しさん (ドコグロ MM9f-4iqD)2017/04/29(土) 09:41:24.13ID:zn8MMXu8M
>>602
読み手に気配りが無いってのが一番ムカツク
0606デフォルトの名無しさん (ワッチョイ 0f1f-eF6l)2017/04/29(土) 09:42:23.37ID:GqCriQx30
学習をやめた思考停止君です
でおわりだね
0607デフォルトの名無しさん (ワッチョイ 5f79-D0yh)2017/04/29(土) 09:42:40.23ID:wJpC9qyx0
GW初日からこんなことしてるくらいだから
さぞ有意義な生活をしているのだろう
0608デフォルトの名無しさん (ワントンキン MM7f-ZmVS)2017/04/29(土) 09:44:42.73ID:sTWYRsSMM
>>605
読み手も冗長で無駄な記述を読まされるのは苦痛なんだよ
読み手のことを心配するならvarを使え
0609デフォルトの名無しさん (ワッチョイ 5f3c-lWNK)2017/04/29(土) 09:45:47.08ID:ggsZ+ODY0
>>601
もうお前みたいな老害には var を理解できないのはわかったから他人に強要するなよ
0610デフォルトの名無しさん (ワッチョイ 0f1f-eF6l)2017/04/29(土) 09:49:09.80ID:GqCriQx30
技術が日々進化してるからコードも可読性や汎用性の面でより良くしていこう
って言うような一面からvarとか生まれてきてるのに
自分は気に入らないから議論すらしないって
そんなんで複数人でのプロジェクト回るの?
保守性安定性が重要視されてハードウェアの更新がほぼ起きないような環境で新技術を中々取り入れないって分野はあるけどvarってC#3だよ?
CやCOBOLと比較してこんな新しい技術を使うのに使い手が進化しないままでどうするの
0611デフォルトの名無しさん (ドコグロ MM9f-4iqD)2017/04/29(土) 09:49:53.62ID:zn8MMXu8M
>>608
嫌だよ読みにくい
0612デフォルトの名無しさん (ドコグロ MM9f-4iqD)2017/04/29(土) 09:51:22.38ID:zn8MMXu8M
>>610
いや俺にはvoid*にしか見えんのだけど
0613デフォルトの名無しさん (ワントンキン MM7f-ZmVS)2017/04/29(土) 09:52:57.01ID:sTWYRsSMM
こりゃ時間の無駄だな
0614デフォルトの名無しさん (ワッチョイ 6f7d-2CyC)2017/04/29(土) 09:52:59.43ID:W9U2bcCd0
>>605
varで拾えるのは一部のローカル変数のみで、フィールドやプロバティーを調べるならマウスを当てたほうが早いし
クラスなら当該ファイル開かないと詳細はわからん
var排除より変数名で型が類推移できるようにしたほうが普通に効率的だな
0615デフォルトの名無しさん (ワッチョイ 7bd4-L4LY)2017/04/29(土) 09:54:48.47ID:/b3MraXM0
なぜ禁止するかって? 能力が無い人にとっても「ルールが」分かりやすいからだよ
ソースをvarで検索して見つかったら書いたやつをぶん殴るだけで仕事をした気になれる
適切にメソッドを分割して分かりやすい名前を付けろ、といった、遥かに重要なルールとは違って
守らせる方も守らせられる方も中身を理解する必要がない
中身考えられないくせにドキュメントの体裁にばかり拘る無能と一緒
0616デフォルトの名無しさん (ワッチョイ 0f1f-eF6l)2017/04/29(土) 09:55:57.00ID:GqCriQx30
>>612
俺も昔はCメインでvoid*も必要な箇所があるんでたくさん使ってきたよ
でのvoid*とvarは全然違うもの
var a=new Hoge();
a=new Huga();
はコンパイルエラー
型が厳格なまま
0617デフォルトの名無しさん (スププ Sd7f-y16Z)2017/04/29(土) 09:58:28.61ID:2KwNYibqd
>>461
うまいなw
0618デフォルトの名無しさん (ドコグロ MM9f-4iqD)2017/04/29(土) 10:03:44.73ID:zn8MMXu8M
いや普通に読みにくいじゃん
0619デフォルトの名無しさん (ワッチョイ 0f1f-eF6l)2017/04/29(土) 10:12:40.68ID:GqCriQx30
可読性については人それぞれな部分がどうしてもあるのでメンバーの賛同が得られるならそのプロジェクトではそういうコーディング規約にすればいい

なんで型が厳格である話をすると可読性の話に論点を変えようとするのか?
0620デフォルトの名無しさん (ワキゲー MM7f-6DvX)2017/04/29(土) 10:24:44.78ID:eU1WntyZM
正直スキルのあるやつだけでプロジェクトを組んで要員の流出がなければvar抑止なんかしなくていいと思う
スキルがあれば理解できるし

ただ残念ながらどんなところにも途中参画や驚くようなスキル不足ってやつが居て
そいつにいちいち伝えたり解読に時間かけられるくらいなら型指定した方が幾分楽なんだよ

この観点でちゃんと設計するようにしてたらvarにしなくていいところは結構あった
0621デフォルトの名無しさん (ワッチョイ 6f7d-2CyC)2017/04/29(土) 10:35:46.23ID:W9U2bcCd0
>>514がスキルを自慢してもなw
0622デフォルトの名無しさん (ワッチョイ 6f47-Gif8)2017/04/29(土) 10:38:39.20ID:8xzmlPHh0
あまり便利でもないというか無くてもいいもののように思えてしまう
だからといって禁止するのも変かなと
0623デフォルトの名無しさん (ワッチョイ 7bd4-L4LY)2017/04/29(土) 10:40:58.54ID:/b3MraXM0
>>616
varの再代入の例を出されると、varに抵抗を感じる人の気持ちも分からないでもないな
var response = SendRequest();
例えばこのとき、人間はresponseの型を「SendRequestの戻り値」と認識していて
たとえ実際の型が SomeResponse型であったとしても
後で response = new SomeResponse() みたいに出所の異なる値をいきなり再代入されると
ぼんやり頭の中にあった型を破られたように感じる人は多いと思うんだよ
人間にとって型安全に感じるかどうか、という意味では基本的にvarへの異なるソースからの再代入は避けるべきだと思う
0624デフォルトの名無しさん (ワッチョイ 5f3c-lWNK)2017/04/29(土) 10:46:33.35ID:ggsZ+ODY0
>>620
> スキルがあれば理解できるし
お前が言うか w
0625デフォルトの名無しさん (スフッ Sd7f-xKXb)2017/04/29(土) 10:48:27.62ID:VkB8y77Gd
>>618
素直に自分には読む能力がありませんって言えばいいのに
0626デフォルトの名無しさん (ワントンキン MM7f-ZmVS)2017/04/29(土) 10:56:14.61ID:sTWYRsSMM
>>623
varへのというか基本的に再代入は避けた方がいい
というか今時、再代入なんてループ変数でたまに書くかなぁ?ぐらいのもんでしょ
言語仕様で読み取り専用ローカル変数(と引数)があればいいのにな
0627デフォルトの名無しさん (ドコグロ MM9f-4iqD)2017/04/29(土) 10:56:34.73ID:zn8MMXu8M
>>625
そうかもしれんね
でも書いた方が俺レベルでも読めるってことだよね
0628デフォルトの名無しさん (ワッチョイ fb6e-vhQa)2017/04/29(土) 10:58:21.23ID:L78kMWxI0
varはnewのためってそれだけで良いんじゃないの
0629デフォルトの名無しさん (ドコグロ MM9f-4iqD)2017/04/29(土) 10:59:41.69ID:zn8MMXu8M
>>628
でも始めの話題はforeachからなんよ
0630デフォルトの名無しさん (ワッチョイ 0f1f-eF6l)2017/04/29(土) 10:59:42.69ID:GqCriQx30
>>623
var使うと分かりづらくなるなと思うところでは型書くよ
でも最近ではvar使うと分かりづらくなるってことはそもそもそこの設計があまり良くないんじゃないか?って思って見直すようにしてる
上げてくれた例のような場面もメソッド分けるべきだったり別の変数を用意すべきだったりしたほうが最終的に良いコードになる気がする
もちろん全部がそうってわけじゃないし、どうしてもvar使いたいから設計から変えるなんて意味わかんないしね
0631デフォルトの名無しさん (ワントンキン MM7f-ZmVS)2017/04/29(土) 11:03:14.42ID:sTWYRsSMM
>>630
その通りだよ
>>568にも書いたけどvarを拒否る前に他に見直すべきポイントが幾つもある
逆に言えばvarを書いて分かりにくいならどこかに間違いがあるということ
言い換えればvarはリスク検知にも役立つ
0632デフォルトの名無しさん (ワッチョイ 0f1f-eF6l)2017/04/29(土) 11:07:34.63ID:GqCriQx30
プロジェクトのことを考えてルールを技術レベルの低いメンバーに合わせることはよくあるしそんな間違ってないと思う
でも将来考えて超ド底辺までレベルは下げたりしないだろ?
流石にこれくらいは…って思うところは人によって違うだろうけど多少はあるはず
そんな中でvarに慣れた人はvarの技術レベルが低い部類だと感じるんじゃないかな?
俺も昔はvar嫌いだったけど最近はそう思うようになってきた
継承よりも技術レベルは低いと思うくらい
linqは使うけどvarは技術レベルが要求されるから禁止って言われると、さすがに変な感じする
0633デフォルトの名無しさん (ワッチョイ 7bd4-L4LY)2017/04/29(土) 11:07:52.54ID:/b3MraXM0
>>629
今のC#の仕様ではforeachのループ変数のスコープはループ内
0634デフォルトの名無しさん (ドコグロ MM7f-lWNK)2017/04/29(土) 11:12:18.67ID:lkMDrCJ9M
>>627
> でも書いた方が俺レベルでも読めるってことだよね
そんなレベルならC#とかやめた方がいいだろ
Cでvoid*使ってろよ
0635デフォルトの名無しさん (ドコグロ MM9f-4iqD)2017/04/29(土) 11:19:55.18ID:zn8MMXu8M
>>634
選ばれし者しか使えないって?w
0636デフォルトの名無しさん (ドコグロ MM7f-lWNK)2017/04/29(土) 11:33:12.73ID:lkMDrCJ9M
>>635
最低限の能力が必要ってこと
残念ながら var と Variant や void* の区別がつかない奴の能力は相当低い
0637デフォルトの名無しさん (ワントンキン MM7f-ZmVS)2017/04/29(土) 11:36:57.68ID:VEndKPIfM
>>632
いつも思うんだが低レベルに合わせるってのは良くないよ
低レベルが成長しないし合わせる方もストレス溜まる
思い切って切り捨てて別の仕事を割り当てるべきだ
仲良しこよしのお遊びじゃないんだからさ
0638デフォルトの名無しさん (オッペケ Sr1f-rAlE)2017/04/29(土) 11:40:56.93ID:rm79HtiYr
string val1 = "vaka";
int val2 = 1;
double val3 = 0.5;

よりも

var val1 = "vaka";
var val2 = 1;
var val3 = 0.5d;

のほうが見やすいしわかりやすい
0639デフォルトの名無しさん (ワッチョイ 7bfc-2CyC)2017/04/29(土) 11:43:01.79ID:3eRllr8y0
>>637
そっちが多数なら合わせるしか無いし、溜まったストレスはここで吐き出すんじゃないの
0640デフォルトの名無しさん (ワッチョイ cb93-Ahd3)2017/04/29(土) 11:43:48.60ID:U/pemAaO0
つまり吠えているのは無能ってことか
0641デフォルトの名無しさん (スフッ Sd7f-xKXb)2017/04/29(土) 11:45:01.61ID:VkB8y77Gd
>>627
そんなレベルのやつはいらない
0642デフォルトの名無しさん (ワッチョイ 0f1f-eF6l)2017/04/29(土) 11:46:37.39ID:GqCriQx30
>>637
言う通りなんだけどそうは言ってられない現場があるのも事実
人員の変えは効かず育てりゃいいじゃんと上は言い、当の本人は育つ気がないなんてよくある話
一部を切り捨てても業務が回るなら良いが、回らなくなってしまうなら上が下に合わせるしか手段が無くなってしまう
育てる時間が貰えるならもがけるかもしれないのにそれすら与えられず…
そうしてストレスが溜まった上の人間は最終的に去っていくから更に負の連鎖が始まる
0643あ (スフッ Sd7f-DTDR)2017/04/29(土) 11:46:43.37ID:R/nsoadBd
>>505
パッと見て手をいれるなよ
>>506
意識させないんだから意図してないこともそりゃ起こるだろうが、元の型として必要な所でas xxxxしてなかったらコンパイルエラー起こるから逆にわかりやすいのでは?
floatを引数に取る関数呼んでたりしたら。
0644あ (スフッ Sd7f-DTDR)2017/04/29(土) 11:48:29.18ID:R/nsoadBd
ってか、本気でvarに型がない、実行時だけ型がわかると思ってるのかな…。
IL読んだら良いのに。
0645デフォルトの名無しさん (ワッチョイ 6fc8-dOk6)2017/04/29(土) 11:52:36.32ID:1afJg8H90
>>638
まちたまえ
それはどっちも分かりにくいパターンだ
0646デフォルトの名無しさん (ワッチョイ bb3c-mJV6)2017/04/29(土) 11:57:19.51ID:cYCSYgYh0
インデントが揃ってた方が見易いってのは同意する

変数名云々はまた別の話
0647デフォルトの名無しさん (スププ Sd7f-NoUs)2017/04/29(土) 12:34:48.20ID:b6f0cr3Ad
ドコグロは>>514で恥さらしといてまた帰ってきてるのかw
0648デフォルトの名無しさん (ワッチョイ eb37-erB8)2017/04/29(土) 12:43:45.45ID:+iroiVce0
どっかの記事にMS開発の事を記載されており、
如何にコードが不完全か、吊るしあげられていたが、
完璧で完成しないコードよりも、継ぎ接ぎだらけのコードでも形に成ってる
方が未だ良いと判断された事例が存在するらしい……。
0649デフォルトの名無しさん (ワッチョイ 5f79-D0yh)2017/04/29(土) 12:46:42.91ID:wJpC9qyx0
varを使うべきか?
→あなたが糖質でないなら使ってよい

あなたが糖質の場合
→どちらの症状をマシと考えるかで使用を決めるべし

varを使わない
ID:zn8MMXu8M のような症状がでます

varを使う
ID:GqCriQx30 のような症状がでます
0650デフォルトの名無しさん (ワッチョイ 6fc8-GpoV)2017/04/29(土) 12:49:53.82ID:2iGvQ1xG0
長くなってもプログラミングスタイルを統一させたい気持ちが強いからvarは使わない。
が、どうにも長くなりすぎてこりゃダメだって時だけvarを使う。

そんなもんじゃね?
0651デフォルトの名無しさん (スフッ Sd7f-vhQa)2017/04/29(土) 12:56:42.40ID:YcnkJUild
盛り上がってると思ったらvarだった
varはコンパイル時に型を解決するんじゃなかったか
void*とは全然違う
0652デフォルトの名無しさん (ワッチョイ df4c-Kw07)2017/04/29(土) 12:57:34.81ID:rVTtZryp0
CodeAnalyzerで変換できそう
こういうのがそうかな?
https://marketplace.visualstudio.com/items?itemName=PeterSpa.VarReplacerC

varだとわかりにくいなら他人のコード見るときはこういうので変換かければいい
0653デフォルトの名無しさん (ワッチョイ 0f06-2CyC)2017/04/29(土) 13:04:07.28ID:1n663S410
まだやっているのか
ここ初心者が自分の考え押し付けたりバカ晒すスレじゃなくて質問するスレなんだが
役に立たない議論とか↓でやれ
ふらっと C#,C♯,C#(議論用) [無断転載禁止]©2ch.net
http://echo.2ch.net/test/read.cgi/tech/1469538912/
0654デフォルトの名無しさん (ワッチョイ 4fc8-c2Uf)2017/04/29(土) 13:05:12.27ID:otTN8eCx0
int [] dt2 = new int[]{ 10, 20, 30, 40, 50 };
int [] dt3 = { 10, 20, 30, 40, 50 }
この2つは同じと考えていいんでしょうか?
arrayのnewにどんな意味があるのかよく解かりません
0655デフォルトの名無しさん (ワッチョイ 6f7d-2CyC)2017/04/29(土) 13:06:52.59ID:W9U2bcCd0
>>638
俺はvar使うけど、そのソース見たら説教する
0656デフォルトの名無しさん (ワッチョイ 7bfc-2CyC)2017/04/29(土) 13:12:00.00ID:3eRllr8y0
>>654
表記を省略しているだけで下もnewしているよ

最近Listしか使ってないけど、array使った方がいい場面ってあるのかな?
0657デフォルトの名無しさん (ワッチョイ 6f7d-2CyC)2017/04/29(土) 13:15:40.47ID:W9U2bcCd0
追加削除しちゃいけないものならVSがバグを見つけてくれる
0658デフォルトの名無しさん (ワンミングク MM7f-XZJj)2017/04/29(土) 13:56:44.98ID:twE9m4I1M
無能な上司が自分レベルの無能を重用するから困る
0659デフォルトの名無しさん (アウアウイー Sa1f-GVoY)2017/04/29(土) 13:58:32.33ID:2pmbEz/Ya
>>654
https://msdn.microsoft.com/ja-jp/library/aa664573.aspx

C#3.0からは明示的に型指定せずに配列のインスタンスを作成する
構文が追加されてる
https://msdn.microsoft.com/ja-jp/library/bb308966.aspx#topic16
0660デフォルトの名無しさん (ワッチョイ 4fc8-zonk)2017/04/29(土) 14:11:12.21ID:otTN8eCx0
>>656
ありがとうございます。スッキリしました。
>>657>>659
ありがとうございます。機能としては違いはないんですね
0661デフォルトの名無しさん (ブーイモ MM7f-U5OU)2017/04/29(土) 14:13:52.53ID:gzSp69ZcM
>>660
今は上の書き方のほうがいいよ
下はC伝統の特殊な構文で今のC#の中では一貫性がない
0662デフォルトの名無しさん (ワッチョイ 0f1f-XZJj)2017/04/29(土) 14:34:24.91ID:u8ti/+Pn0
海外の3DCGソフトのソース見たらvar使いまくり
0663デフォルトの名無しさん (スププ Sd7f-y16Z)2017/04/29(土) 14:40:38.71ID:lLnPVA9jd
ライブラリ使ってるとusingディレクティブで、重複するクラス名でさらにプロパティもかぶるのもあるからなー
0664デフォルトの名無しさん (ワッチョイ eb37-erB8)2017/04/29(土) 14:48:43.88ID:+iroiVce0
初心者だから、varに固執するんじゃない?
0665デフォルトの名無しさん (オッペケ Sr1f-rAlE)2017/04/29(土) 14:50:04.03ID:rm79HtiYr
>>645
>>655
すまんけど何がいけないんだ?
0666デフォルトの名無しさん (ワッチョイ 1b7f-VhBr)2017/04/29(土) 14:51:36.81ID:vAmMeRQT0
var result=My.Calc(arg);
0667デフォルトの名無しさん (オッペケ Sr1f-rAlE)2017/04/29(土) 14:54:10.88ID:rm79HtiYr
>>662
海外3DCGソフトMaya使ってるけどソフトのソース見れるの?
そもそもC++で作ってるんだけど
じゃなくてAPIのことかね?
0668デフォルトの名無しさん (ワッチョイ 6f7d-2CyC)2017/04/29(土) 15:24:34.48ID:W9U2bcCd0
>>665
最初からintの変数を使うつもりなら、そのまま宣言したほうが簡単だろ
varはメソッドなどの戻り値や、new するときに二度も同じことを書くのを省略するとき等に使ったほうがいいよ
0669デフォルトの名無しさん (ワッチョイ 5f3c-0aF+)2017/04/29(土) 16:02:47.93ID:dML5Gn+W0
型推論にまかせて問題ないならそれでいいじゃん
メソッドの戻り値だろうがリテラルだろうが同じ
個人的にはvar使うほうが思考ノイズが減ってうれしい
0670デフォルトの名無しさん (ワッチョイ 5f3c-lWNK)2017/04/29(土) 16:21:55.12ID:ggsZ+ODY0
>>668
> 最初からintの変数を使うつもりなら、そのまま宣言したほうが簡単だろ
同じでしょ

> varはメソッドなどの戻り値や、new するときに二度も同じことを書くのを省略するとき等に使ったほうがいいよ
お前の感想にすぎないよね
0671デフォルトの名無しさん (ワッチョイ 0b9c-Ahd3)2017/04/29(土) 17:38:00.86ID:GjNd5+5F0
>>669
コンパイラが行った型推論とおまえがこうなるだろうと推論した結果が同じとは限らない。
それがもし同じなら、おまえの書いたコードは常におまえが考えたとおりに動くのでこの世にバグなんてものは存在しなくなる。

おまえが端折った思考はいくつかはバグとして顕在化する。つまりおまえは典型的な使えないPG。
0672デフォルトの名無しさん (アークセー Sx1f-XZJj)2017/04/29(土) 17:41:24.59ID:wkH4Hjggx
最初はvarを嫌ってたけどもう慣れた
ちゃんと理解があればint宣言を使う意味もない
それが問題で困ったことはまったくない
メソッドの戻り値もそう
varを嫌う理由なんてなかった

全員var使えとは言わないけど毎日コード書いてたら自然とそうなると思う
個人的見解だけど
0673デフォルトの名無しさん (アークセー Sx1f-XZJj)2017/04/29(土) 17:45:56.92ID:wkH4Hjggx
逆に言えばちゃんとした理解がなければint宣言やメソッドの戻り値で
問題を出すことがあるだろう
でもそれって基礎レベルなんだよな

それこそ基本を理解したコード書くために必要な過程だと思う
0674デフォルトの名無しさん (ワッチョイ 0b9c-Ahd3)2017/04/29(土) 17:49:45.81ID:GjNd5+5F0
varで書くほうが楽だなんてわかりきったこと。使い捨てスクリプロト言語でよく使われるのもそれが理由。
だが他の人が読むことも考えられないようなPGはプロジェクトで使えない。

ここは初心者スレだから、余計にvarは推奨されない。
常に型は明示して、常に型を意識して書くのが望ましい。バグも減り、上達も早い。
0675デフォルトの名無しさん (ワントンキン MM7f-ZmVS)2017/04/29(土) 17:52:27.71ID:VEndKPIfM
型を意識する無駄な労力が頭を疲弊させて理解を鈍らせるんだよ
0676デフォルトの名無しさん (アークセー Sx1f-XZJj)2017/04/29(土) 17:52:46.78ID:wkH4Hjggx
わかりやすく書くとvarで尻込みしたりバグ出すレベルじゃつかえねーっていうこと
0677デフォルトの名無しさん (ワッチョイ 0b9c-Ahd3)2017/04/29(土) 17:54:07.93ID:GjNd5+5F0
>>675
言ってる意味がよく分からない。キミは変数の型を意識しないでコードを書いてるのか。

おまえの書いたコードはいつか人を殺す。
0678デフォルトの名無しさん (アークセー Sx1f-XZJj)2017/04/29(土) 17:56:39.75ID:wkH4Hjggx
>>677
いやいや
コード書いてるなら普通は理解できると思うけどね
意味が分からないってことはコード書いてないね君
0679デフォルトの名無しさん (アークセー Sx1f-XZJj)2017/04/29(土) 18:01:42.83ID:wkH4Hjggx
メソッドの戻り値が複雑な階層を持ってる場合それに対応した宣言を
わざわざ最初にタイプするなんて馬鹿のすること

varで受けろよ
0680デフォルトの名無しさん (オッペケ Sr1f-rAlE)2017/04/29(土) 18:02:21.51ID:rm79HtiYr
プログラマってこんな細かいことまでいちいち気にさわって文句垂れるんだな
モノが完成して金になるならどっちでもいいじゃんって思う
0681デフォルトの名無しさん (ワッチョイ 0f1f-XZJj)2017/04/29(土) 18:02:57.54ID:u8ti/+Pn0
>>667
お前がMayaしか使ってないだけだろ
0682デフォルトの名無しさん (ワッチョイ 5f3c-lWNK)2017/04/29(土) 18:14:14.84ID:ggsZ+ODY0
>>674
> 使い捨てスクリプロト言語でよく使われるのもそれが理由。
初心者以下が偉そうに w
0683デフォルトの名無しさん (ワッチョイ 1b4c-y16Z)2017/04/29(土) 18:17:57.83ID:3pEkTuri0
同世代の嫁がintやvoid*で、ギャルの風俗嬢がvar。

これでええやん
0684デフォルトの名無しさん (ワッチョイ 5f3c-0aF+)2017/04/29(土) 18:31:51.96ID:dML5Gn+W0
>>671
思考ノイズが理解できないレベルなら型宣言しとけばいいよ
プログラマーのことをPGと呼んでるような人たちとは交わることないから
0685デフォルトの名無しさん (スププ Sd7f-NoUs)2017/04/29(土) 18:38:18.69ID:osTBRPg/d
いまだにvarがバリアント型みたいなもんだと思って毛嫌いしてる奴がいるんだな
0686デフォルトの名無しさん (ワッチョイ 0b9c-Ahd3)2017/04/29(土) 18:40:40.11ID:GjNd5+5F0
>>682
ID:ggsZ+ODY0 おまえのレスは煽りしかないな。議論に入るのはまだ早すぎるのではないだろうか。
0687デフォルトの名無しさん (スフッ Sd7f-g2qj)2017/04/29(土) 18:43:38.63ID:feiIYyw5d
ID:ggsZ+ODY0みたいな上から目線で人を馬鹿にするやつは自分のご自慢のコードを晒してからにしてほしい
0688デフォルトの名無しさん (ワッチョイ 6fff-NoUs)2017/04/29(土) 18:46:32.64ID:ml7j79pz0
genericsとかラムダ式とか使ってたらvar使わないとやってられないと思うんだがな
いまだにC#2.0のスタイルでコーディングしてそう
0689デフォルトの名無しさん (ドコグロ MM7f-lWNK)2017/04/29(土) 18:46:55.45ID:eolVj2/nM
なんでも受け入れるvoid*がギャルの風俗嬢で
決められたものしか受け入れないお嬢様がintで
状況によって賢く対応する良妻賢母がvarだろ

まともなプログラマーなら誰を選択すべきかは自明だよね
0690デフォルトの名無しさん (ワッチョイ bb3c-mJV6)2017/04/29(土) 18:47:43.03ID:cYCSYgYh0
簡単に股を開いてくれる女がいいです
0691デフォルトの名無しさん (アウアウイー Sa1f-GVoY)2017/04/29(土) 18:48:14.04ID:TMtqjHjha
>>686
言っちゃ悪いけど、煽られて当然の間抜けなレスをしてるんだから当然だ。

var使うななんて真剣に言ってるのならプログラマ不適格。
ネタで言ってるのなら少なくともお前さん自身が批判してる相手と同類だ。

何でもいいけど、誰の利益にもならんあまりに低レベルなこの話題もういい加減にしてほしい
0692デフォルトの名無しさん (ワッチョイ 5f3c-lWNK)2017/04/29(土) 18:49:56.22ID:ggsZ+ODY0
>>686-687
ひょっとして何をバカにされてるのかもわかってないのか? w
バカにしてるのは俺だけじゃなくてすぐ上の >>685 とかもそうだから
0693デフォルトの名無しさん (アークセー Sx1f-XZJj)2017/04/29(土) 18:50:13.92ID:wkH4Hjggx
ちなみにMSのc#のコーディング規約ではこう書かれている
だからどうだって言われたら何もない

暗黙的に型指定されるローカル変数
変数の型が代入の右側から明らかである場合、または厳密な型が重要でない場合は、ローカル変数の暗黙の型指定を使用します。

// When the type of a variable is clear from the context, use var
// in the declaration.
var var1 = "This is clearly a string.";
var var2 = 27;
var var3 = Convert.ToInt32(Console.ReadLine());

https://msdn.microsoft.com/ja-jp/library/ff926074.aspx
0694デフォルトの名無しさん (ドコグロ MM7f-lWNK)2017/04/29(土) 18:52:34.18ID:wMF91aa5M
>>690
老害のC/C++プログラマーでそう言う理由でvoid*使う人がいるよな
早くくたばればいいのに
0695デフォルトの名無しさん (ワッチョイ 6fff-NoUs)2017/04/29(土) 18:53:11.02ID:ml7j79pz0
金がない奴もVisual Studio Communityとか使ってみたらいいのにな
いかにvar使うと型が分からないとかいう意見が的外れなのかがよく分かると思うね
0696デフォルトの名無しさん (ドコグロ MM1f-4iqD)2017/04/29(土) 18:53:32.79ID:lEb5CCj9M
>>691
いや普通に読みにくいじゃん
型を明示的に書いてよ
0697デフォルトの名無しさん (ワッチョイ 7bfc-2CyC)2017/04/29(土) 18:56:49.46ID:3eRllr8y0
>>688
未だに2.0が罷り通っている俺社環の悪口は止めてくれ
0698デフォルトの名無しさん (スフッ Sd7f-xKXb)2017/04/29(土) 18:59:42.36ID:FbB0xd8Xd
>>696
なぜ?
0699デフォルトの名無しさん (ドコグロ MM7f-lWNK)2017/04/29(土) 19:03:09.99ID:wMF91aa5M
型を明示的に書けって言ってる奴は匿名型って言うものも理解できないんだろうな
マジで技術についていけない低能としか思えない
0700デフォルトの名無しさん (アウアウカー Sa1f-hk3e)2017/04/29(土) 19:03:15.27ID:AwLuvhEda
まだやってたのかw
僕まだ経験少ないんでvar使ってあると読みにくいで終わる話だろ
0701デフォルトの名無しさん (ワッチョイ 4be6-VhBr)2017/04/29(土) 19:04:44.13ID:XViO2iB/0
varって書くぐらいならきちんと型を書くべきかと思っていたけど、
varを扱えるところはローカル変数ってきまってるし、
3文字打てばいいだけなので今では周りも普通に使ってるな
周りのプログラマーからも型がないからわかりづらいなんてことは聞かないし

生産性の悪いプログラマーがconstとかreadonlyとかの変数を使わず、
あっちこっちで直値を使うコードを作っていたのでなんでか聞いてみたら、
「私がコードを読み直すとき、const変数とかにしていたらその値が何なのか
 ぱっとわからず明示的じゃないから」
と言っていたから、皆で馬鹿にされていたw
0702デフォルトの名無しさん (ワッチョイ 0b9c-Ahd3)2017/04/29(土) 19:06:18.50ID:GjNd5+5F0
>>700
それ。つまりキミは相手のことを理解する気がない。自分以外の人が読むことを前提にコードを書いてない。
おれは問題ないからok、相手が困るなら相手が悪いという主張。

つまりキミは組織で協調性を持って仕事できないかわいそうな人なの。
0703デフォルトの名無しさん (スフッ Sd7f-g2qj)2017/04/29(土) 19:07:35.00ID:feiIYyw5d
流石に初心者が読むのを想定してコード書けとかないわ
0704デフォルトの名無しさん (ワッチョイ 9fd4-Ahd3)2017/04/29(土) 19:13:02.72ID:wpSloA/B0
初心者だってみんなvar使ってるわ
0705デフォルトの名無しさん (ワッチョイ 0b9c-Ahd3)2017/04/29(土) 19:13:05.40ID:GjNd5+5F0
>>703
仕事なら書くしかない。書かない奴はプロジェクトで信用されない。カトラーならブチぎれる。
そこそこのPG集めてデスマーチなるのはたいていこのパターン。
おれさえ理解できればokの保守不能コードを書く奴が一人いる。
0706デフォルトの名無しさん (アウアウカー Sa1f-hk3e)2017/04/29(土) 19:16:42.12ID:AwLuvhEda
>>702
すまんな。努力しようとする気がない奴にレベル合わせるなんてまっぴらごめんなんだわ
varが読みにくいって、小学3年レベルの漢字でもふりがな全部ふってない本は俺読めねーからやめろって言ってるレベルだぞ
0707デフォルトの名無しさん (ワッチョイ 6f7d-2CyC)2017/04/29(土) 19:17:33.30ID:W9U2bcCd0
>>701
自分の意見を押し付けるだけで、相手に反論すら用意しないあんたがそれ言っても説得力無いわ
0708デフォルトの名無しさん (スフッ Sd7f-g2qj)2017/04/29(土) 19:17:50.65ID:feiIYyw5d
>>705
そんな低レベルな職場にいる時点で同じ穴の狢だと思うけどな俺は
0709デフォルトの名無しさん (ワッチョイ bb3c-mJV6)2017/04/29(土) 19:18:36.03ID:cYCSYgYh0
まー程度問題だよね

誰が読んでも眉を顰める様な、クソみたいに難解なコードを書こうとする奴はお断りだが
言語の標準機能として用意されてる型推論くらいは慣れろよ
0710デフォルトの名無しさん (ドコグロ MM1f-4iqD)2017/04/29(土) 19:22:46.20ID:lEb5CCj9M
var vr = getUnkoDic();
マジでこれの型を調べるのすっげー手間なときあるのでやめて
0711デフォルトの名無しさん (ワッチョイ 4be6-VhBr)2017/04/29(土) 19:23:25.92ID:XViO2iB/0
>>707
そうだな、自分の意見を押し付けるやつが言っても、まったく説得力ないな
0712デフォルトの名無しさん (ワッチョイ 6f7d-2CyC)2017/04/29(土) 19:29:44.29ID:W9U2bcCd0
>>711
ゴメンな、レス番一つずれてたわw
0713デフォルトの名無しさん (アークセー Sx1f-XZJj)2017/04/29(土) 19:33:11.37ID:wkH4Hjggx
>>705
カトラー多分var使えって言うぞw
0714デフォルトの名無しさん (ワッチョイ 0b9c-Ahd3)2017/04/29(土) 19:33:12.88ID:GjNd5+5F0
>>708
キミみたいのが作ったのが保守不能になったMeでカトラーが作ったのがNTなんだよ。
品質の差は明らかだね。
0715デフォルトの名無しさん (ワッチョイ 1b4c-y16Z)2017/04/29(土) 19:35:49.99ID:3pEkTuri0
>>703
一応、このスレはだな
0716デフォルトの名無しさん (ワッチョイ bb3c-mJV6)2017/04/29(土) 19:36:08.70ID:cYCSYgYh0
>>710
目視での推論が不可能な状況でvar使う駄目な例を持ち出せば、そりゃな
>>693参照
0717デフォルトの名無しさん (スフッ Sd7f-g2qj)2017/04/29(土) 19:36:42.04ID:feiIYyw5d
>>715
せやったな、すまん
0718デフォルトの名無しさん (アークセー Sx1f-XZJj)2017/04/29(土) 19:37:01.00ID:wkH4Hjggx
初心者はまるで一生補助輪つけて自転車乗れみたいなスレだな
0719デフォルトの名無しさん (ワッチョイ 0b9c-Ahd3)2017/04/29(土) 19:38:17.17ID:GjNd5+5F0
カトラーみたいになりたいか、ヘジみたいになりたいかってことだ。

ここはヘジのスレだったな。
0720デフォルトの名無しさん (ワッチョイ 7b72-xKXb)2017/04/29(土) 19:38:33.55ID:G9B2lePY0
>>710
メソッド小文字で始めるのやめろよ
0721デフォルトの名無しさん (スフッ Sd7f-xKXb)2017/04/29(土) 19:39:24.54ID:FbB0xd8Xd
>>720
Java脳なんだろ
0722デフォルトの名無しさん (ワントンキン MM7f-ZmVS)2017/04/29(土) 19:42:27.69ID:VEndKPIfM
var否定派

掛け算のできない僕のために全部足し算で書いてくれ
それができないやつは協調性のないバカバカバ〜カうんち!


var肯定派

は?めんどくせえわ掛け算の方が楽だしわかりやすいだろカス死ね
0723デフォルトの名無しさん (アークセー Sx1f-XZJj)2017/04/29(土) 19:43:24.10ID:wkH4Hjggx
MS自身のコーディング規約がvar使用しろ!
なのにカトラーが無視するわけがない
0724デフォルトの名無しさん (スフッ Sd7f-g2qj)2017/04/29(土) 19:45:14.08ID:feiIYyw5d
.NET自身のソースでも最近作られた部分にはvar使ってるんだよね、そういうのも分かりにくいって言うのかな
0725デフォルトの名無しさん (ドコグロ MM1f-4iqD)2017/04/29(土) 19:49:40.22ID:lEb5CCj9M
いや、やっぱマウス当てても型出て来ないよ

foreach(var nd in list)

って書くとndにマウス当ててもobjectとしか出ない
listはXmlNodeListな
0726デフォルトの名無しさん (ワッチョイ 0bf7-UsTR)2017/04/29(土) 19:54:53.54ID:y5Z4rOFf0
>>0701
これも、粘着系のリーダーがやり始めると
int a = ConstParam.ZERO;
みたいな事になって、笑える話になる。
何事も程度ってものがあってだな。
var ごときにガチガチになるのは良くないんだよ、どちらにせよ全ての場所にvarが使えるわけではない。
var は型名が暗黙的に決定できる場合にしか使えない。
コーディングルールは最小限が基本です。

プログラミングで一番最悪なのは意見を変えない粘着キチガイの類、それだけは間違いない。
0727デフォルトの名無しさん (ドコグロ MM7f-lWNK)2017/04/29(土) 19:55:27.49ID:wMF91aa5M
>>710
まずIDEの使い方覚えろよ w
メソッド右クリックして定義へ移動って操作が一つ増えるだけだぞ
0728デフォルトの名無しさん (ワッチョイ 0b9c-Ahd3)2017/04/29(土) 19:55:31.67ID:GjNd5+5F0
>>722
おれの書いたことを真逆に捏造してる時点でおまえは脳内で負けを認めてるのさ。

> 掛け算のできない僕のために全部足し算で書いてくれ
0729デフォルトの名無しさん (ワッチョイ 7b72-xKXb)2017/04/29(土) 19:57:51.04ID:G9B2lePY0
>>728
>>434
0730デフォルトの名無しさん (ドコグロ MM1f-4iqD)2017/04/29(土) 19:59:30.05ID:lEb5CCj9M
>>727
つか、どこを右クリック?
0731sate (ワッチョイ 0bf7-UsTR)2017/04/29(土) 20:02:03.88ID:y5Z4rOFf0
>>0730
var の上にマウスカーソルおけば形名が表示されて、さらに右クリックで色々な操作ができるメニューが出る。
IDEの基本的な使い方なんで憶えておくとよい。
0732デフォルトの名無しさん (ワッチョイ 0b9c-Ahd3)2017/04/29(土) 20:04:30.89ID:GjNd5+5F0
>>729
varで頭使うの嫌がるくせに、チラシの裏の落書きレベルのログは全部目を通すとか、
言ってることとやってることが真逆じゃないのか。
0733デフォルトの名無しさん (ドコグロ MM1f-4iqD)2017/04/29(土) 20:06:56.39ID:lEb5CCj9M
>>731
出ない出ない

class System.Object

って出てきて定義へとんでもObjectクラス飛ぶだけだよ
0734デフォルトの名無しさん (ワッチョイ 7b72-xKXb)2017/04/29(土) 20:08:05.46ID:G9B2lePY0
>>732
varで頭使うの嫌がる?何か勘違いしてるぞカス
0735デフォルトの名無しさん (ワッチョイ 0bf7-UsTR)2017/04/29(土) 20:09:04.10ID:y5Z4rOFf0
いずれにしても保守の段階まで考えたら、var は使わないのが吉。
var は書き捨て向き、それだけは確かだ。
逆にコード中は var を使いたいね。
0736デフォルトの名無しさん (ワッチョイ 0bf7-UsTR)2017/04/29(土) 20:11:07.65ID:y5Z4rOFf0
>>0733
つまりガチガチになったらしまいって事だよ。
何が何でもvar使うヤツはキチガイな訳よ。その反対もキチガイの類。
状況によりけり臨機応変に対応することが肝心って事だ。
0737デフォルトの名無しさん (ワッチョイ 7b72-xKXb)2017/04/29(土) 20:12:33.94ID:G9B2lePY0
>>736
うん、varは保守では使わないとガチガチに決めつけるのもキチガイな
0738デフォルトの名無しさん (ワッチョイ 0b9c-Ahd3)2017/04/29(土) 20:12:52.73ID:GjNd5+5F0
>>734
煽るためだけにカスのレスを全部読むおまえって・・・思ったより頑張り屋さんなんだな。
0739デフォルトの名無しさん (ワッチョイ 4be6-VhBr)2017/04/29(土) 20:15:17.13ID:XViO2iB/0
>>726
1000行ぐらいあるメソッドでvarを使われたら少し困るが、
30行ぐらいのメソッドでvarを使う分には対して困らない

>プログラミングで一番最悪なのは意見を変えない粘着キチガイの類、それだけは間違いない。
全くだ
0740デフォルトの名無しさん (ワッチョイ 0bf7-UsTR)2017/04/29(土) 20:15:41.90ID:y5Z4rOFf0
>>737
煽っているだけのキチガイだろうが一応マジレスしとく
型が連動して、一か所変えればすべて修正が効き、型名の変更の可能性が高い場合はvarを使えば保守性が上がる。
まさに臨機応変が肝心だ。
0741デフォルトの名無しさん (ドコグロ MM1f-4iqD)2017/04/29(土) 20:17:11.31ID:lEb5CCj9M
>>740
いや普通にXmlNodeListのXmlNodeがvarでIDEで型出て来ないから
0742デフォルトの名無しさん (スップ Sd7f-eF6l)2017/04/29(土) 20:22:35.63ID:lsLkJQCJd
>>725
こんなん僕は言語仕様を正しく理解していません
て宣言してるだけやん
0743デフォルトの名無しさん (ワッチョイ 0bf7-UsTR)2017/04/29(土) 20:23:54.08ID:y5Z4rOFf0
>>742
言語使用の問題ではない、単純に保守しやすいかどうかという話に過ぎない。
書き捨てコードで、実際に捨てる予定ならvarだけでやればよい。
それだけの話だ。
0744デフォルトの名無しさん (ワッチョイ 0bf7-UsTR)2017/04/29(土) 20:25:27.45ID:y5Z4rOFf0
ん?
この掲示板レス版がずれていくのか・・・
>>743 は却下で
0745デフォルトの名無しさん (ワッチョイ 9fd4-Ahd3)2017/04/29(土) 20:28:46.22ID:wpSloA/B0
キャストとvarを一緒にするなよ
0746デフォルトの名無しさん (ワッチョイ 0b9c-Ahd3)2017/04/29(土) 20:32:05.67ID:GjNd5+5F0
C#は負けが確定的でオワコンだしこれぐらいにしてやるか。

Delphiといいヘジの作るものは信者だけが素晴らしい連呼してていつも市場で負けるよな。
0747デフォルトの名無しさん (ドコグロ MM1f-4iqD)2017/04/29(土) 20:32:58.77ID:lEb5CCj9M
>>742
ガチでわかんねー
なんでこれ駄目なの?
0748デフォルトの名無しさん (ワッチョイ eb37-erB8)2017/04/29(土) 20:35:46.40ID:+iroiVce0
仕様書はどうやって書いてる?

全体
 要求仕様
 見積
 設計方式
 基本設計
 詳細設計書
 コーディング規約
 テスト仕様書
 ユーザマニュアル
 管理関連
 支援ツール
0749デフォルトの名無しさん (ワッチョイ 0bf7-UsTR)2017/04/29(土) 20:40:45.09ID:y5Z4rOFf0
>>563
>自分は使わないんだけど、ソース共有してる人の中にvar好きがいるらしく
>直してもしつこくvarに置き換えられるんで
>double x = 0.0;
>にしといた

こういのうが一番最悪なんだよな、チームの空気を悪くする。
話し合えよ、そのコードを主にその彼が構築しているのなら、彼のやり方を尊重してやれ。
チーム全員が等しくそのコードを保守しているのなら、型名を書いた方が保守しやすいと合意を作れ。
0750デフォルトの名無しさん (ワッチョイ 0b9c-Ahd3)2017/04/29(土) 20:43:35.57ID:GjNd5+5F0
var支持してる奴の傾向が読めた。レスも短い。
つまりキーボード打つのが遅いのだろう。おそらくローマ字打ち。
こういう奴はコメントも端折る。マジ最悪。カトラーぶちぎれるよ。
0751デフォルトの名無しさん (ワッチョイ 6fff-jU/V)2017/04/29(土) 20:47:14.58ID:LYEaVvWJ0
>>750
>おそらくローマ字打ち
もしかしてお前カナ打ちかい?えらく珍しい人種だねえ
0752デフォルトの名無しさん (ワッチョイ 5f72-WXDK)2017/04/29(土) 20:48:24.63ID:KaxFAc7+0
>>739
var なんかよりも 1000 行もあるメソッド書く方がよっぽどたちが悪いような。
自分も var 使うけど。

>>プログラミングで一番最悪なのは意見を変えない粘着キチガイの類、それだけは間違いない。
>全くだ
本当に完璧に同感。
0753デフォルトの名無しさん (ワッチョイ 0b9c-Ahd3)2017/04/29(土) 20:55:13.87ID:GjNd5+5F0
かな打ちは日本人の誇り。
日本でパソコン買えばキーボードにかなが書いてある。当たり前だが日本人用だからな。
0754デフォルトの名無しさん (スフッ Sd7f-g2qj)2017/04/29(土) 20:56:32.46ID:feiIYyw5d
フリック入力なんですがそれは
0755デフォルトの名無しさん (ワッチョイ bb3c-mJV6)2017/04/29(土) 21:08:06.13ID:cYCSYgYh0
キジルシに一々構ってスレを無駄に消費するのやめようぜ
ざっと読めば、相手する価値無い奴だってわかるっしょ
0756デフォルトの名無しさん (アウアウイー Sa1f-GVoY)2017/04/29(土) 21:15:13.84ID:TMtqjHjha
>>747
.NET1..0の時からあるクラスでIEnumerable<T>を実装してないから。
このレベルの人がvar使うなって言ってるのかな。

っていうか、荒らす意図がないならもうvarの話はいい加減にしてよ。
稀にvar使うと分かりづらくなるケースもあるのは確かだが、逆にいうとそんなケースは稀にしかない。
「varガー」なんて言ってる人は本質的に頭が悪いのでなければ何か勘違いしてるだけ。
検索してみりゃ分かるけど、アンチvarな意見なんてほとんど見つからない。
0757デフォルトの名無しさん (ワッチョイ 0bf7-UsTR)2017/04/29(土) 21:17:25.01ID:y5Z4rOFf0
>ケースは稀にしかない。
そうかなぁ、大半はvarの方が保守しにくくなるし見にくい、とくに共同詐欺用では致命的だ。
var が有利な方が例外だと思うよ。
0758デフォルトの名無しさん (ワッチョイ 0bf7-UsTR)2017/04/29(土) 21:19:16.38ID:y5Z4rOFf0
>>757 修正
>そうかなぁ、大半はvarの方が保守しにくくなるし見にくい、とくに共同詐欺用では致命的だ。
そうかなぁ、大半はvarの方が保守しにくくなるし見にくい、とくに共同作業用では致命的だ。
0759デフォルトの名無しさん (ワッチョイ 6bf2-/g/V)2017/04/29(土) 21:20:02.89ID:toW9T+ru0
だれだよvarで200以上スレ消費してんのはw
varスレ立てろよ
0760デフォルトの名無しさん (アウアウカー Sa1f-hk3e)2017/04/29(土) 21:24:38.99ID:sacR0Zowa
とりあえずここまできたら
その醜いvarのソースをさらせ
イエスかノーか判定してやるから
0761デフォルトの名無しさん (ワントンキン MM7f-ZmVS)2017/04/29(土) 21:34:31.60ID:VEndKPIfM
キチガイの釣りに引っかかって休日1日失ったんだな
GWだし多分こいつ毎日くるぞ
0762デフォルトの名無しさん (ドコグロ MM1f-4iqD)2017/04/29(土) 21:53:21.45ID:lEb5CCj9M
>>756
えー、じゃ割りとたくさん駄目なケースあるじゃん
var用に対応しないと動かないんでしょ?
0763デフォルトの名無しさん (ワッチョイ eb37-erB8)2017/04/29(土) 21:54:31.38ID:+iroiVce0
ナムコGet!!(var とか、)
https://blog.recyclebin.jp/nemerle/appendix/comparison-with-csharp-and-fsharp
0764デフォルトの名無しさん (オッペケ Sr1f-rAlE)2017/04/29(土) 21:56:06.02ID:rm79HtiYr
>>681
他もいろいろ使ってるけどソース見れるのか?
0765デフォルトの名無しさん (アウアウイー Sa1f-GVoY)2017/04/29(土) 21:58:45.55ID:OPoCVZtMa
>>762
何が駄目なのか意味が分からないけど...
0766デフォルトの名無しさん (ドコグロ MM1f-4iqD)2017/04/29(土) 22:02:38.22ID:lEb5CCj9M
>>765
var使えないじゃん
0767デフォルトの名無しさん (ワッチョイ 1b4c-y16Z)2017/04/29(土) 22:03:25.80ID:3pEkTuri0
>>750
仕事も順調でお金もウハウハ、バカンス先から女の乳もみながらカキコんでたりしてな。

しかも、はたちそこらでwww
0768デフォルトの名無しさん (アウアウイー Sa1f-GVoY)2017/04/29(土) 22:06:03.02ID:OPoCVZtMa
>>766
だから意味がわからんよ。
0769デフォルトの名無しさん (ドコグロ MM1f-4iqD)2017/04/29(土) 22:07:40.44ID:lEb5CCj9M
>>768
対応しないとvar動かないってことは実装ミスったらバグるってことでしょ?
0770デフォルトの名無しさん (アウアウイー Sa1f-GVoY)2017/04/29(土) 22:11:37.43ID:OPoCVZtMa
>>769
何を言ってるのかさっぱり分からない。
varの是非と何の関係があるの?
0771デフォルトの名無しさん (ワッチョイ 6f7d-2CyC)2017/04/29(土) 22:18:28.55ID:W9U2bcCd0
極稀な例を持ち出す詭弁術ってあったような・・・
0772デフォルトの名無しさん (ワッチョイ eb37-erB8)2017/04/29(土) 22:26:23.88ID:+iroiVce0
var 使わない派です┌(_Д_┌ )┐
0773デフォルトの名無しさん (ワッチョイ 5b3c-wxRr)2017/04/29(土) 22:28:14.16ID:E9D80q6f0
varでスレ埋めるつもりかよ
0774デフォルトの名無しさん (ワッチョイ 0b9c-Ahd3)2017/04/29(土) 22:30:10.91ID:GjNd5+5F0
つまりデシダルネイティブはフリックはネイティブだけどキーボードはネイティブじゃないのか。
だからキーボードが苦痛。インテリセンスないとコード書けない、打鍵数少ないvar最高ってわけですな。
そりゃレスも煽りばかりで内容がないわけですな。句読点まで端折ってるくせして、
おれが20秒で4行打つ間に1行レスすら打てないのだろう。
0775デフォルトの名無しさん (ワッチョイ 5f3c-lWNK)2017/04/29(土) 22:45:50.66ID:ggsZ+ODY0
>>766
別にそれに限らず
string a = null;
みたいに var 使えないケースはあるから、その時は普通に型を指定すれはいいでしょ
var 使えるところは var 使うべきって思うけどなにがなんでも var 使えなんて言ってる奴はいないと思うぞ
0776デフォルトの名無しさん (ワッチョイ 0b9c-Ahd3)2017/04/29(土) 23:16:33.11ID:GjNd5+5F0
日本語として小学校低学年みたいな文章構成なのはやはり入力が苦手なんだろうな。
0777デフォルトの名無しさん (アウアウエー Sa7f-PXQB)2017/04/29(土) 23:23:21.36ID:nyANDfpKa
まだvar問題続いてるんかw
コンパイラが文脈から推論出来るんだから、人間も文脈から推論出来るだろ。
出来なくてもVSなら変数の上にカーソル持って来れば型がポップアップ表示されるだろ。
下らん。
どっちでもええわ。
0778デフォルトの名無しさん (ワッチョイ eb37-erB8)2017/04/29(土) 23:43:02.20ID:+iroiVce0
C#でゲーム作成について
xna か  Altseed
どちらを選ぶか迷ってます

C# 2008 xp
0779デフォルトの名無しさん (ワッチョイ 5f79-D0yh)2017/04/29(土) 23:56:10.23ID:wJpC9qyx0
>>778
路頭に迷いたまえ
0780デフォルトの名無しさん (ワッチョイ 7bd4-L4LY)2017/04/29(土) 23:56:51.37ID:/b3MraXM0
>>778
コールドスリープでもしてたの?
今はC#でゲームならUnity一択
0781デフォルトの名無しさん (ワッチョイ 5f79-D0yh)2017/04/29(土) 23:57:59.79ID:wJpC9qyx0
var使わない派じゃなくてvar(存在しなかったので)使えない派でしたね
0782デフォルトの名無しさん (ワッチョイ eb37-erB8)2017/04/30(日) 00:11:14.22ID:XFWVJI5r0
>>781
どうなん?(2008でも使えた思ったけど……?)
(varの明確な使い道が有るなら、2015に変えたら良いだけの話だが……)

技術が付くまでボロいPCで良いだろ?とか言ってら、もぅずっとボロイPCですはwww
0783デフォルトの名無しさん (スププ Sd7f-NoUs)2017/04/30(日) 00:15:27.82ID:gVDu+hK9d
>>710は>>514のドコグロ
0784デフォルトの名無しさん (アウーイモ MM9f-IGB0)2017/04/30(日) 00:22:25.27ID:BxxkE9FvM
varなんてMicrosoftが「ほら、便利だろ、使っていいぞ」
とかって言って提供したんだから、ありがたく使うのが筋。
もちろん無闇矢鱈と使えば分かりにくい。
巧みに使うべし。べし。

因みにvar反対派ってラムダ式とかも理解できないタイプ?
0785デフォルトの名無しさん (ワッチョイ 5f79-D0yh)2017/04/30(日) 00:25:31.52ID:dbwFyenH0
>>782
いや使わなくていいと思うよ
脳もボロボロなんでしょ?
使ったら死ぬよ
0786デフォルトの名無しさん (ワッチョイ eb37-erB8)2017/04/30(日) 00:44:05.03ID:XFWVJI5r0
ワッチョイ 5f79-D0yh は上から目線&一言多いから信用できない
(もしかして、荒らしナノ?)┌(_Д_┌ )┐
0787デフォルトの名無しさん (ワッチョイ 7bc3-VhBr)2017/04/30(日) 02:04:47.78ID:+IouNbj20
ここにいる人はpython扱えないだろうな
0788デフォルトの名無しさん (ワキゲー MM7f-6DvX)2017/04/30(日) 03:15:02.67ID:1g3jhPGOM
>>773
VBAスレはこれで埋まったよ
とても非生産的だった

たまに論理的に話そうとする奴も出てくるけど全部否定されるところがスタートなので理屈が通じないと居なくなる
結果としてお互いに自分が正義で他はダメって罵り合うだけ
0789デフォルトの名無しさん (ワッチョイ 0b9c-Ahd3)2017/04/30(日) 03:31:49.21ID:LNPaLibY0
>>788
俯瞰的に見れるおれかっこいいみたいな

なんとも非生産的なレスの見本。一番はずかしいと思う。
0790デフォルトの名無しさん (ワキゲー MM7f-6DvX)2017/04/30(日) 03:34:28.07ID:vslMPJYfM
おまえは事実を述べる=恥ずかしいと感じるやつなんだね
0791デフォルトの名無しさん (ワッチョイ 0b9c-Ahd3)2017/04/30(日) 03:46:36.34ID:LNPaLibY0
> 非生産的
> 論理的
> 正義
> 事実

あなた低学歴文系ですね。術語ぐらい正しく使いましょう。
0792デフォルトの名無しさん (ワッチョイ cb93-Ahd3)2017/04/30(日) 03:46:46.85ID:lFCS9pYh0
ドコグロってバカしかいないの?
0793デフォルトの名無しさん (アウアウエー Sa7f-PXQB)2017/04/30(日) 04:06:29.86ID:SbBDypWIa
>>791が>>788の言いたい事を正しい述語で書き直してくれるそうです。
0794デフォルトの名無しさん (ドコグロ MM1f-4iqD)2017/04/30(日) 04:25:02.93ID:P6f+Ed89M
つまりvarを使うためにはそれなりの実装が必要ってことでおk?
0795デフォルトの名無しさん (アウアウエー Sa7f-PXQB)2017/04/30(日) 04:39:59.23ID:SbBDypWIa
んな難しい話じゃない。
List<String> a = new List<String>;
var a = new List<String>;
型推論は右辺の戻り値と同じ型を左辺に設定するだけなんだから、メソッドでも何でも使う以上は戻り値意識するんだし、var使ったら判らないとか無いから。

逆にvar使ったら判らないとか言ってる奴に関数やメソッドの戻り値知らないで使ってるのか聞きたいわ。
0796デフォルトの名無しさん (ドコグロ MM1f-4iqD)2017/04/30(日) 04:43:09.78ID:P6f+Ed89M
XmlNodeListが動かないのはvar対応できてないからなんでしょ?
0797デフォルトの名無しさん (ワッチョイ 0bf7-UsTR)2017/04/30(日) 04:44:05.25ID:Z23jtlKR0
>>795
>逆にvar使ったら判らないとか言ってる奴に関数やメソッドの戻り値知らないで使ってるのか聞きたいわ。
書いてからしばらくすると、何が入っているかどころか構造を見えなくなってるよ。
もちろん他人が見るならまったく分からないところからのスタートだ。
改めて読み直すときに情報がそこにあれば、マウスカーソルを当てて片っ端から何かなんなのか調べて
そこから考えるなんて事になったりはしない。
varの中身が分かっているのか書いている最中だけ。
0798デフォルトの名無しさん (ワッチョイ 0bf7-UsTR)2017/04/30(日) 04:45:44.55ID:Z23jtlKR0
訂正
>varの中身が分かっているのか書いている最中だけ。
varの中身が分かっているのは書いている最中だけ。
0799デフォルトの名無しさん (ワッチョイ 0bf7-UsTR)2017/04/30(日) 04:51:34.07ID:Z23jtlKR0
型名の本質的な意味はデータに対するコメントだね、それも拘束力がある物だ。
var は拘束力はあるが、その意味をプログラマに知らせてくれない。
コードを読むときの情報が一つ減ってしまう。
それを補うために // でコメントを書くと、これは糞コードの始まりである。
0800デフォルトの名無しさん (アウアウエー Sa7f-PXQB)2017/04/30(日) 04:51:57.23ID:SbBDypWIa
結局コードの意図を読み取るのに右辺読むんだから一緒でそ。
意図も汲み取らずに型だけ読んで進められても困るよ。
0801デフォルトの名無しさん (ワッチョイ 0bf7-UsTR)2017/04/30(日) 04:53:43.03ID:Z23jtlKR0
>>800
意味が分かるような型名や変数名になるように気を配ってコードしろって事だ。
0802デフォルトの名無しさん (ワッチョイ 0bf7-UsTR)2017/04/30(日) 04:57:06.69ID:Z23jtlKR0
ここに居る、何が何でも var の方が良い派は、アマチュアレベル
何が何でも型名派はプロだが時代遅れの物知らず

そう断言しとくわ
0803デフォルトの名無しさん (アウアウエー Sa7f-PXQB)2017/04/30(日) 04:57:53.96ID:SbBDypWIa
その通りで、型名や変数名は大事な情報。
んで、書くのも読むのも右辺で型が脳内で決定してるんだから、わざわざ左辺に書くのは時間の無駄だよね?ってのがvarと解釈してる。
0804デフォルトの名無しさん (ワッチョイ 0bf7-UsTR)2017/04/30(日) 05:00:00.64ID:Z23jtlKR0
>>803
初見のコードは右辺を見ても何をするものなのか何を返すものなのかも分からん。
これをよしとするのはド素人なんだよ。
0805デフォルトの名無しさん (ドコグロ MM1f-4iqD)2017/04/30(日) 05:03:00.13ID:P6f+Ed89M
var vr = getUnko();
じゃ、getUnkoが何を返しているかわからないよね
0806デフォルトの名無しさん (アウアウエー Sa7f-PXQB)2017/04/30(日) 05:04:56.04ID:SbBDypWIa
型があれば分からないまま進む気か?
それこそプログラマーの質が問われるな。
そう言う奴を排除する為に意図的にvarにするのは効果的かも知れん。
0807デフォルトの名無しさん (ワッチョイ 0bf7-UsTR)2017/04/30(日) 05:07:37.77ID:Z23jtlKR0
>>806
ヒントの少なすぎるコードは読んでも分からん、意図的以前の問題だな。
そういうのは保守性のないコードだ。
やるなとは言わないが、そうしてできたものは書き捨て専用にしかならん。
0808デフォルトの名無しさん (ワッチョイ 0fe2-2CyC)2017/04/30(日) 05:10:44.53ID:4Q8qZxsi0
まだやってんのか
0809デフォルトの名無しさん (アウーイモ MM9f-IGB0)2017/04/30(日) 05:11:34.11ID:BxxkE9FvM
要するに、何が返ってくるか分からないが
そんなことはどうでもいい時に使うんだよ。
どうでもいいかどうか判断できない、または
全部必要な情報って思ってるなら
経験不足だね。
0810デフォルトの名無しさん (アウアウエー Sa7f-PXQB)2017/04/30(日) 05:11:58.47ID:SbBDypWIa
ん、だから右辺に全部書いてるだろ?
上のgeuUnko();も、うんこをゲットする。
うんこを表現したクラスなり何らかの型がコードにある筈で、プロジェクトに関わってるなら知ってるか、これから知らないといけない。
0811デフォルトの名無しさん (ワッチョイ 0bf7-UsTR)2017/04/30(日) 05:17:01.01ID:Z23jtlKR0
>0489デフォルトの名無しさん (ワッチョイ 0bf7-UsTR)2017/04/28(金) 19:29:17.82 ID:mPeDNIgc0
>横だけど
>リファクタで var ⇔ 型名 に置換してくれる機能が欲しいね
>型名が分かりにくいというのは事実だと思うよ
>ただし、書く時には var の方が便利、インテリセンスがあれば書く段階では型名は思考を邪魔する余計な情報だからな。
>数ヶ月放置すると型名なんだっけ?となる。

これがあれば、実の所大体の問題は解決するんだけどな
書くときはvarでガンガン書いて行って、古くなったら型名に置換して長期保存へ移行させる。
再編集時は、コードを理解して再編集できるようになった段階でvarに戻して効率よくコードする。
MSでリファクタリング機能に加えてほしい。
0812デフォルトの名無しさん (ドコグロ MM1f-4iqD)2017/04/30(日) 05:17:35.91ID:P6f+Ed89M
>>810
ところがそいつはChinkoを返すんだよ
0813デフォルトの名無しさん (アウアウエー Sa7f-PXQB)2017/04/30(日) 05:18:46.98ID:SbBDypWIa
>>807
ん、だから右辺に書いてるだろ。
getUnko();も何か型持ってるし、Unkoを表現する定義もコード上にあるだろ。
そのUnkoが何者か知ってれば左辺に型を書くのは時間の無駄。
一行だけ見せてドヤ顔されても結局getUnko調べるのは変わらん。
0814デフォルトの名無しさん (ワッチョイ 0bf7-UsTR)2017/04/30(日) 05:20:46.55ID:Z23jtlKR0
調べないと分からないような getUnko が糞なんだよ。
0815デフォルトの名無しさん (ワッチョイ 0bf7-UsTR)2017/04/30(日) 05:21:59.84ID:Z23jtlKR0
型名とメソッドみたら、あとはインテリセンスだけで編集可能なレベルのコードを常日頃から心がけろ
この糞コード書きども
0816デフォルトの名無しさん (アウアウエー Sa7f-PXQB)2017/04/30(日) 05:25:20.72ID:SbBDypWIa
知ってれば型を書くのは時間の無駄。
知らなければ型を書こうが書くまいが、getUnko調べるのは変わらん。
0817デフォルトの名無しさん (ドコグロ MM1f-4iqD)2017/04/30(日) 05:25:24.32ID:P6f+Ed89M
普通にvarじゃなくて型を明示する方が楽じゃん
わかりやすいわかりにくいなんて個人の努力目標でしかないんだし

それはそうと古いVersionで書いたクラスがvarに対応して無いってことはvarに対応するためにはコードを記述する必要があるんかな?

usingみたいな感じでこいつ使ったら必ずオッケーってわけじゃなくて組み手の努力目標な感じ?
0818デフォルトの名無しさん (ドコグロ MM1f-4iqD)2017/04/30(日) 05:26:02.33ID:P6f+Ed89M
>>816
それは読み手のことを考えた発言なのかな?
0819デフォルトの名無しさん (アウアウエー Sa7f-PXQB)2017/04/30(日) 05:38:32.47ID:SbBDypWIa
読み手がgetUnkoの戻り値だけ知ってどうするよ。
動きを理解してないなら結局調べるんじゃ、かえって戻り値の型だけ分かってるのは迷わせる情報だ。

逆にメソッドの引数にvarとかは行き過ぎだとも思うが。
0820デフォルトの名無しさん (ドコグロ MM1f-4iqD)2017/04/30(日) 05:40:52.33ID:P6f+Ed89M
>>819
え?意味わかんない
getUnkoの中身まで読まないとダメだって言ってるの?
読めないメソッドでもこういう書き方はできると思うけど
0821デフォルトの名無しさん (アウアウエー Sa7f-PXQB)2017/04/30(日) 05:43:22.66ID:SbBDypWIa
意図さえ分かればコードじゃなくても良い。
一行だけだから意図が見えないだけで、普通はコードの流れやメソッド名から意図は汲み取れる。
0822デフォルトの名無しさん (ワッチョイ 0fe2-Ahd3)2017/04/30(日) 06:01:54.86ID:4oIwaGJ60
鬱陶しいので相談室の方でやってもらえませんかね
あっち向きでしょこういうの
0823デフォルトの名無しさん (スププ Sd7f-g2qj)2017/04/30(日) 06:26:31.38ID:aqf1nr0Ld
昨日フリック入力だがと書き込んだ者だがTypeWellでMachineクラス取れるくらいは打てるぞ、遅いからvar使うとかそういう問題じゃないんだよ
0824デフォルトの名無しさん (ワッチョイ 6fff-jU/V)2017/04/30(日) 07:38:16.64ID:hePjQ2k/0
>>753
遅そうだねえ
0825デフォルトの名無しさん (スフッ Sd7f-2K7k)2017/04/30(日) 08:11:59.20ID:4pk3VtJcd
>>817
> それはそうと古いVersionで書いたクラスがvarに対応して無いってことはvarに対応するためにはコードを記述する必要があるんかな?

こんなこと言ってるレベルなんだからvarでいいよ派と会話にならんのでは?
0826デフォルトの名無しさん (ワッチョイ cbc8-oDzn)2017/04/30(日) 08:15:17.17ID:j3Drsa+b0
var 完全否定してる奴が JS ( 動的型 ) や F# ( 引数やグローバル変数まで型推論してくれる ) 見たら発狂しそう
0827デフォルトの名無しさん (ワッチョイ 0bf7-UsTR)2017/04/30(日) 08:54:49.98ID:Z23jtlKR0
var を完全否定している誰かよりは var 無条件肯定のヤツの方がキティ入っているから俺は嫌い
コイツが居たらプロジェクト崩壊間違いなしって感じだし。
0828デフォルトの名無しさん (ワッチョイ eb37-erB8)2017/04/30(日) 08:56:52.77ID:XFWVJI5r0
結局何が言いたいのか解らない
perl5の my local ourぐらいの違い程度?
0829デフォルトの名無しさん (ワキゲー MM7f-6DvX)2017/04/30(日) 08:57:24.28ID:vslMPJYfM
なんでありかなしかの二択なんだよ
臨機応変でいいのに
0830デフォルトの名無しさん (ワッチョイ eb37-erB8)2017/04/30(日) 09:11:51.51ID:XFWVJI5r0
>>787で何となく記載
Python Tools for Visual Studioのセットアップ (1/2)
http://www.atmarkit.co.jp/ait/articles/1609/09/news047.html
0831デフォルトの名無しさん (ワンミングク MM7f-ZmVS)2017/04/30(日) 09:12:02.28ID:Umb/aOfDM
まだやってんのか
アンチvarキチガイに付き合ってGW潰すとか哀れだな
アンチvarキチガイは論理じゃなく感情でvarを否定して譲る気が全くない
永遠に平行線だぞこの茶番
というかアンチvarキチガイを装った炎上暇つぶしの釣り師だろうなおそらく
実務ではvar使いまくってるタイプと見た
0832デフォルトの名無しさん (ワッチョイ 1bc3-D0yh)2017/04/30(日) 09:53:28.11ID:Ruw9HVsz0
だから言ったじゃん
どっちも糖質だって
0833デフォルトの名無しさん (ワッチョイ 1bc3-D0yh)2017/04/30(日) 09:54:42.21ID:Ruw9HVsz0
哀れぶってるふりしながら
邪魔だからどこか行ってくださいお願いしますと頭下げにくるプレイ
0834デフォルトの名無しさん (ワッチョイ 5f3c-lWNK)2017/04/30(日) 09:59:57.86ID:Rh9C8HGt0
>>796, >>817
>>756 すら理解できないレベルなら議論に加わらない方が身のためだと思うよ
0835デフォルトの名無しさん (ワッチョイ 1b4c-y16Z)2017/04/30(日) 10:24:48.48ID:G7fNzRD30
むしろvar議論はやめたほうが身のためだと思うよ
0836デフォルトの名無しさん (ワッチョイ 7bfc-2CyC)2017/04/30(日) 10:27:14.63ID:jd7JXIcb0
varでこの様ならusing staticとかgetの=>表記とか論外なんだろうな
下手すりゃ三項演算子ですらNGにしてそう
0837デフォルトの名無しさん (ワッチョイ 1b9d-L4LY)2017/04/30(日) 10:34:49.32ID:1IK4eO4V0
メソッドの戻り値とかで型がわかりにくいとかは百歩譲るとしても

List<String> a = new List<String>;
var a = new List<String>;

これも認めないなら完全にvarが生理的に嫌いなだけのおじちゃんでしょうよ
0838あ (スフッ Sd7f-DTDR)2017/04/30(日) 10:36:53.98ID:k7CW/Ymyd
なるほど、読んでてわかったが、var否定派は、
floatの変数の初期値にしゃあしゃあと0とか1書いてた連中だな。一番カスい。
0.0fと1.0fだろ。
ポインタ変数に0代入するようなもんだよ。
0839デフォルトの名無しさん (ドコグロ MM7f-lWNK)2017/04/30(日) 10:38:04.42ID:CJ1bT41aM
>>835
?
なにかレスしないといけない病にでもかかってるのか? w
0840デフォルトの名無しさん (オッペケ Sr1f-rAlE)2017/04/30(日) 10:59:44.10ID:cbxJXeM9r
ここの人って動的型付け言語も使ってるんだよね?
そっちの文句はでないの?

コンパイル実行時に推論するのとプログラム実行時に検証する時点でそもそも静的か動的かで違うけど
C#のvarはそれの中間みたいなもんじゃん
0841デフォルトの名無しさん (ドコグロ MM7f-lWNK)2017/04/30(日) 11:07:01.96ID:CJ1bT41aM
定期的に var と動的型付を混同してる奴が出てくるのは発作なのか? w
0842デフォルトの名無しさん (ワッチョイ 5b3c-wxRr)2017/04/30(日) 11:17:28.38ID:4qf421H+0
今から参戦するから誰かここまでの議論をまとめてくれ
0843デフォルトの名無しさん (ワッチョイ 9fd4-Ahd3)2017/04/30(日) 11:34:25.80ID:Yjf3oY9z0
これまでの所、var嫌いな人はジェネリックとノンジェネリックの区別もできないと判明している
0844デフォルトの名無しさん (アウアウカー Sa1f-hk3e)2017/04/30(日) 11:40:25.95ID:kw99aJ3/a
おまんら自作クラスのメソッド全部にドキュメンテーション打つ?
0845デフォルトの名無しさん (ワッチョイ 0bf7-UsTR)2017/04/30(日) 11:41:08.55ID:Z23jtlKR0
>>840
var は完全に静的だよ、中間なんかじゃない。
0846デフォルトの名無しさん (ワッチョイ 0bf7-UsTR)2017/04/30(日) 11:43:21.25ID:Z23jtlKR0
>>838
そういうのは重箱の隅をつつくって言って、そもそもvar a = 1.0 とか書くのは愚かだ。
シンプルに double = 1.0 と書かない奴は糞。
それは、どう見てもバグの元。
0847デフォルトの名無しさん (ワッチョイ 7bfc-2CyC)2017/04/30(日) 11:44:56.57ID:jd7JXIcb0
>>844
他人がメンテする可能性あるなら付けるよ
普通のコメントじゃカーソル当てても表示されないし
0848デフォルトの名無しさん (ワッチョイ 9fd4-Ahd3)2017/04/30(日) 11:45:17.52ID:Yjf3oY9z0
数値リテラルも書けないやつこそがバグの元
0849デフォルトの名無しさん (ワンミングク MM7f-oOLX)2017/04/30(日) 11:48:49.49ID:1csBYc4vM
varを肯定する奴はJavaScriptから入ってきたキッズ供だろ?
0850デフォルトの名無しさん (ワッチョイ 0bf7-UsTR)2017/04/30(日) 11:51:31.62ID:Z23jtlKR0
>>849
Haskell等の強い静的型付け言語から入ったのかもしれんぞ
var は、もともとそっち方面の概念だ、動的な物とは対極の存在。
0851デフォルトの名無しさん (アウアウカー Sa1f-hk3e)2017/04/30(日) 12:01:04.92ID:kw99aJ3/a
>>847
サンクス。だよな?
>>805とかもカーソルあてりゃいいじゃんって思ったんだけどあかんのか?
0852デフォルトの名無しさん (ワッチョイ 0bf7-UsTR)2017/04/30(日) 12:04:08.23ID:Z23jtlKR0
>>851
大量にあるvarにいちいちカーソル当てて、一個一個確認するとかやってられんだろ。
他人から見たソースはそういう事態になる、お前ひとりで組んでるならそれで十分だがな。
共同作業らしい事をしたことのないド素人の発想だ。
0853デフォルトの名無しさん (ワッチョイ 1b4c-y16Z)2017/04/30(日) 12:04:35.21ID:G7fNzRD30
>>839
暇なGW2日目なのよ
0854デフォルトの名無しさん (アウアウカー Sa1f-hk3e)2017/04/30(日) 12:06:40.99ID:kw99aJ3/a
>>852
大量にあるvarのほとんどはパッと見で型わかるだろ
全部が全部なわけない
0855デフォルトの名無しさん (ワッチョイ 0bf7-UsTR)2017/04/30(日) 12:08:43.67ID:Z23jtlKR0
>>854
そいつは、まさに一人で組んでいる奴の発想だな、自分の事しか見えていない。
0856デフォルトの名無しさん (ワッチョイ 9fd4-Ahd3)2017/04/30(日) 12:15:42.29ID:Yjf3oY9z0
自分のことしか見えてないから、自分が馬鹿なことに気付け無いだろうけど、
みんなvar使ってることから推論して、自分がおかしいことに頑張って気付いて!
0857俺もなー w (ワッチョイ 5f3c-lWNK)2017/04/30(日) 12:16:03.80ID:Rh9C8HGt0
>>853
暇なのはわかったけどあのレスつまらんからやめた方が身のためだと思うぞ
0858デフォルトの名無しさん (ワッチョイ 0bf7-UsTR)2017/04/30(日) 12:17:30.01ID:Z23jtlKR0
分かりやすいコードというのは、ある程度の冗長性を必要とする。
極限まで切り詰めたコードは他人には読めない。
その典型がHaskellなんだ。

Haskellは凄い言語だ、わずかな記述で大規模で複雑なプログラムが可能。
開発は迅速である。しかし保守は極めて困難。また書き方次第ではデバッグの困難もある。
近年の言語はHaskellの概念を取り込むことが多い、C#も同様色々な物を取り込んでいる。
これらは使い方次第では強力だが、保守性に困難を持ち込む。
そこは押さえておかないといけない。
0859デフォルトの名無しさん (ワッチョイ 6f7d-2CyC)2017/04/30(日) 12:34:34.01ID:DSpwTnxh0
>>846
それ、エディターに書いた瞬間にエラーになるだろ
0860デフォルトの名無しさん (ワッチョイ 1b4c-y16Z)2017/04/30(日) 12:35:11.00ID:G7fNzRD30
>>857
うまくまとめたなw
0861デフォルトの名無しさん (ワッチョイ 6f7d-2CyC)2017/04/30(日) 12:35:47.79ID:DSpwTnxh0
>>852
ローカル変数大量に使うなよ
大量ならメソッドの切り分けに問題があるな
0862デフォルトの名無しさん (ワッチョイ 0bf7-UsTR)2017/04/30(日) 12:41:12.62ID:Z23jtlKR0
>>861
お前が共同でコードするプログラムはメソッド一個かよ、独りぼっちコードは楽ちんで言いなw
アホか
0863デフォルトの名無しさん (ワッチョイ 6f7d-2CyC)2017/04/30(日) 12:44:06.42ID:DSpwTnxh0
>>862
メソッドの数が少ないほど、一つあたりのローカル変数が多くなるだろ
何を馬鹿なこと言ってるんだよ
0864あ (スフッ Sd7f-DTDR)2017/04/30(日) 13:00:21.86ID:k7CW/Ymyd
>>846
愚か!?どこが?
0865デフォルトの名無しさん (アウアウエー Sa7f-PXQB)2017/04/30(日) 13:03:37.79ID:eW5YwfF4a
>>858
Haskellだって関数のトップレベルは型宣言するのが慣習だぞ?
ここに書き込む程度なら、型宣言するまでも無い単純な関数だから書かないだけ。
0866デフォルトの名無しさん (ワッチョイ 0f1f-XZJj)2017/04/30(日) 13:22:18.80ID:3op76M3a0
ケンカすれvar
0867あ (スフッ Sd7f-DTDR)2017/04/30(日) 13:25:38.59ID:k7CW/Ymyd
double s=1.0
なんか、2回も型出てきてて無為味
0868デフォルトの名無しさん (ワッチョイ 0bf7-UsTR)2017/04/30(日) 13:29:52.50ID:Z23jtlKR0
>>865
Haskellの場合は慣習うんぬんよりも、真の意味は厳格さから出現するバグが最初から発生しにくいコードにあると思うんだよ。
C#の場合、適当に入り混じっているからこの恩恵を得ることは困難だが。

距離(m) = 速度(m/s) * 時間(s)

みたいな感じで、型名が何を書けばよいか示唆してくれるのも凄い所。
考えなくても書くべきコードが構造から限定されたり、勝手に決まってしまう。
そういう話の次元を超えているね。
0869デフォルトの名無しさん (アウアウエー Sa7f-PXQB)2017/04/30(日) 14:05:43.32ID:eW5YwfF4a
Haskell褒めてくれるのは嬉しいが、Haskellを神格化し過ぎ。
参照透明性から来るバグの入りにくさや型推論のしやすさはそうだけど、型名で意図を伝えるのにHaskellが特別伝えやすいとは感じない。
むしろ変数名を数学っぽく書くのが好まれるので、GUIの時にボタンをb一文字で表現したりとかは逆に悪習だと思う。

上でも書いたが、変数の宣言に型を書くのは時間の無駄だと思うけど、関数の定義には(少なくとも引数と戻り値は)型を明示した方がいい。

個人的にはC#よりHaskellのが関数をよくHoogleでホグる。
開発環境大事。
0870デフォルトの名無しさん (ワッチョイ 0bf7-UsTR)2017/04/30(日) 14:14:31.34ID:Z23jtlKR0
>>869
神格化などはしていないよ >>858 に指摘した通り、Haskellは、面倒ごとが沢山ある。
特にチームを組んでの開発などは悪夢になる。
ただ、ものすごく迅速にコードできる言語である事は確か。
他に比肩する言語はHaskellのパクリ以外は見当たらないくらいには。
0871デフォルトの名無しさん (アウアウエー Sa7f-PXQB)2017/04/30(日) 14:22:31.33ID:eW5YwfF4a
関数の型を明示する規則作れば問題無いように思うが、そもそもHaskellでチーム開発って日本で何人居るんだろ。
50人も居れば感動ものだね。
0872デフォルトの名無しさん (ワッチョイ 0bf7-UsTR)2017/04/30(日) 14:25:35.91ID:Z23jtlKR0
C#では、一度入れた変数を変更できたりするし、それっぽいvarを入れたところで完全な何かは期待できない。
結局、リファクタで var ⇔ 型名 変換できるようにして、良いとこどりをするのがベストなのではと思う。
保守は型名を明示したまま行うべきだ、開発中は var のほうが良い、と思う。
0873デフォルトの名無しさん (アウアウアー Saff-IGB0)2017/04/30(日) 15:25:26.37ID:3TcYedTFa
>>809でいいじゃん
0874デフォルトの名無しさん (オッペケ Sr1f-rAlE)2017/04/30(日) 15:30:36.75ID:cbxJXeM9r
>>841
だからそう書いてるだろヴォケがぁぁあ
0875デフォルトの名無しさん (ワッチョイ 5f3c-lWNK)2017/04/30(日) 16:04:19.43ID:Rh9C8HGt0
>>874
>>845
0876デフォルトの名無しさん (ワッチョイ 5f79-D0yh)2017/04/30(日) 16:06:32.19ID:dbwFyenH0
ふえー疲れた
まあなんでもいいけどC#書いてからおいで
514くらいだっけ草草
0877デフォルトの名無しさん (アウアウエー Sa7f-PXQB)2017/04/30(日) 16:18:24.60ID:eW5YwfF4a
varは静的な型を型推論させる宣言。
LLやDBと連携等で動的な型が欲しかったらdynamic型を使う。
0878デフォルトの名無しさん (ワッチョイ 4f4a-b9Hp)2017/04/30(日) 16:19:54.89ID:K4WoYLhw0
Haskell早いとか言う割にドトネト環境とか肝心なものが何も出てこないし
実は何も早く作れねーんじゃと毎回思う
0879デフォルトの名無しさん (ワッチョイ 0fe2-2CyC)2017/04/30(日) 16:27:52.61ID:4Q8qZxsi0
お前らフォント何使ってるの?
0880デフォルトの名無しさん (スフッ Sd7f-g2qj)2017/04/30(日) 16:41:54.67ID:Uok3gQyed
>>879
Ricty Diminished
0881デフォルトの名無しさん (スフッ Sd7f-g2qj)2017/04/30(日) 16:42:26.38ID:Uok3gQyed
後気分でM+のビットマップフォントやな
0882デフォルトの名無しさん (ワンミングク MM7f-ZmVS)2017/04/30(日) 16:48:21.46ID:Umb/aOfDM
メイリオ
0883デフォルトの名無しさん (ワッチョイ 0fe2-2CyC)2017/04/30(日) 16:53:27.29ID:4Q8qZxsi0
>>880
人気だなあ
入れてみたがサイズ12が完璧
0884デフォルトの名無しさん (ワッチョイ 7bfc-2CyC)2017/04/30(日) 16:53:28.10ID:jd7JXIcb0
>>879
Consolasとメイリオ使っているけど飽きてきた
0885デフォルトの名無しさん (ワッチョイ 6fff-NoUs)2017/04/30(日) 17:01:37.64ID:P6pum/sM0
>>879
MS 明朝
0886デフォルトの名無しさん (ワッチョイ 5f3c-0aF+)2017/04/30(日) 17:04:24.43ID:4+fEEvuN0
>>805
var unko = GetUnko();って書けばいいだけ

まともな命名がされてれば
コードリーティング時に型を正確に把握必要があるケースは
型把握が不要なケースに比べるとものすごく少ない
まともなコードをたくさん読めばそれぞれのメリット・デメリットが理解できるようになる

読んでる時に強制的に型を意識させられる
Unko vr = GetUnko();
Chinko vr = GetUnko();
Chinko chinko = GetUnko();

変数名に意識が向く(型を常に意識する必要がない)
var unko = GetUnko();
var chinko = GetChinko();
var chinko = (IChinko)GetUnko();
0887デフォルトの名無しさん (ワッチョイ df4c-ymwg)2017/04/30(日) 17:04:31.07ID:1axbjART0
まず、XmlDocument類は古いAPIで、現在はXDocument系を使う方が良い。

また、foreachで型を明示した場合、実行時キャストになる。
foreach( string x in xmlnodelist){〜}
でもコンパイルが通ってしまうのでむしろ危険。
Enumrable<T>を実装していればforeach( var x in list)で型が間違っていないことが確定できる。
(.NET Framwork1のジェネリック非対応時代に書かれたものでもない限りIEnumrable<T>をまず確実に実装している)

上でも書いてる人がいるが、varが有意義なのは長い型名や、意識する価値が無い状況
var studentQuery3 =
from student in students
group student by student.LastName;
こういう戻り値の型を厳密に書かれると、むしろわかりにくくなる
0888デフォルトの名無しさん (ワッチョイ eb37-erB8)2017/04/30(日) 17:12:16.75ID:B3nfkY7d0
Ubuntuフォント
ふとした瞬間にヒュムノス 使おうとする(勿論、使えない)
0889デフォルトの名無しさん (ワッチョイ 0f1f-XZJj)2017/04/30(日) 17:53:54.84ID:3op76M3a0
フォントはVSデフォルトだな
大きさは12
0890デフォルトの名無しさん (ワッチョイ 7b75-SA7I)2017/04/30(日) 18:43:09.84ID:q3YVbxN20
MeiryoKe_Gothic
0891デフォルトの名無しさん (オッペケ Sr1f-rAlE)2017/04/30(日) 18:49:09.90ID:cbxJXeM9r
>>890
同じやん!
0892デフォルトの名無しさん (ワッチョイ 0b9c-Ahd3)2017/04/30(日) 18:58:56.68ID:LNPaLibY0
>>887
長い型名をvarにしたらなぜ有意義なのか。完全に型名が失われるではないか。
インスタンス名を短めの分かりやすいものにすればいいだけではないか。
単に打つのが楽だからというアホな理由はいいかげんにしてもらいたい。

そして、意識する価値が無い状況としても、それはそいつ個人の視点でしかない。
既に型が見えないソースで他の人がそれが本当に意識する価値があるかないかの判断できない。
そういうコードを保守性がないという。コメントがないソースと同じだ。
0893デフォルトの名無しさん (ワッチョイ 5f3c-lWNK)2017/04/30(日) 19:12:42.49ID:Rh9C8HGt0
>>892
> それはそいつ個人の視点でしかない。
お前もなー w
0894デフォルトの名無しさん (ワンミングク MM7f-ZmVS)2017/04/30(日) 19:23:23.94ID:Umb/aOfDM
いい加減別スレ行け
なんか議論スレみたいなのあっただろ
0895デフォルトの名無しさん (ワッチョイ 7bde-2K7k)2017/04/30(日) 19:25:13.07ID:AXtQjTjL0
ふらっと C#,C♯,C#(議論用) [無断転載禁止]©2ch.net
http://echo.2ch.net/test/read.cgi/tech/1469538912/
0896デフォルトの名無しさん (ワッチョイ df4c-ymwg)2017/04/30(日) 19:50:43.78ID:1axbjART0
>>897
Roslynとかでも採用して特に問題は生じてない。右辺値から明らかに推測できる場合は特に不要。
どうしても読む時にvarだと不便ならCodeAnalyzerで機械的に変換すれば解決する

var fixMap = ImmutableDictionary.Create<LanguageKind, Lazy<ImmutableDictionary<DiagnosticId, ImmutableArray<CodeFixProvider>>>>();
ImmutableDictionary<LanguageKind, Lazy<ImmutableDictionary<DiagnosticId, ImmutableArray<CodeFixProvider>>>> fixMap
= ImmutableDictionary.Create<LanguageKind, Lazy<ImmutableDictionary<DiagnosticId, ImmutableArray<CodeFixProvider>>>>();
のどっちが見やすい?

var _createProjectCodeFixProvider = new ConditionalWeakTable<AnalyzerReference, ProjectCodeFixProvider>.CreateValueCallback(r => new ProjectCodeFixProvider(r));
ConditionalWeakTable<AnalyzerReference, ProjectCodeFixProvider>.CreateValueCallback _createProjectCodeFixProvider
= new ConditionalWeakTable<AnalyzerReference, ProjectCodeFixProvider>.CreateValueCallback(r => new ProjectCodeFixProvider(r));
のどっちが見やすい?
0897デフォルトの名無しさん (ワッチョイ 0f1f-XZJj)2017/04/30(日) 19:59:25.56ID:3op76M3a0
様々な現場で使われるNURBSモデリング3DCADソフト、Rhinocerosのあるサンプルコード
varいっぱい

https://github.com/mcneel/rhinocommon/blob/master/examples/cs/ex_renameblock.cs
0898デフォルトの名無しさん (ワッチョイ 0b9c-Ahd3)2017/04/30(日) 20:13:28.53ID:LNPaLibY0
>>893
ほんと論理弱いな。十分条件、必要条件ぐらい理解してよ。
0899デフォルトの名無しさん (ワッチョイ 5f3c-lWNK)2017/04/30(日) 20:19:11.49ID:Rh9C8HGt0
>>898
はあ?
根拠なんてなくて全部お前の勝手な視点だろ
ってはっきり書かんとわからんのかよ w
0900デフォルトの名無しさん (オッペケ Sr1f-rAlE)2017/04/30(日) 20:31:24.06ID:cbxJXeM9r
>>897
RhinoCommonってプラグイン開発なんだけど?
どこにRhinoceros自体のソースあるんだよ?
はよくれ!
0901デフォルトの名無しさん (ワッチョイ 0b9c-Ahd3)2017/04/30(日) 20:32:25.38ID:LNPaLibY0
>>899
視点の問題てはなく、論理がおかしいと言っている。
P→QはQ→Pではないのだ。これは真理。中学で習うレベルに根拠など要求するなよ。恥ずかしい。
0902デフォルトの名無しさん (アウアウイー Sa1f-GVoY)2017/04/30(日) 20:37:39.80ID:6QZ13pbna
>>901
何のこっちゃ
0903デフォルトの名無しさん (ワッチョイ 5f3c-lWNK)2017/04/30(日) 20:37:52.84ID:Rh9C8HGt0
>>901
はあ?
どこにも論理なんてないだろ
って言ってるんだが w
ちなみにどれを P, Q って言ってるんだ?
0904デフォルトの名無しさん (ワッチョイ 0b9c-Ahd3)2017/04/30(日) 20:47:17.80ID:LNPaLibY0
まじか。これがゆとりと言われる若い世代か。話が通じないはずだわ。
0905デフォルトの名無しさん (アウアウイー Sa1f-GVoY)2017/04/30(日) 20:49:53.52ID:6QZ13pbna
池乃めだかかw
0906デフォルトの名無しさん (ワッチョイ 0bf7-UsTR)2017/04/30(日) 20:51:25.05ID:Z23jtlKR0
>>896
C++の悪夢再びって感じのコードやな
愚かなり
0907デフォルトの名無しさん (ワッチョイ 0b9c-Ahd3)2017/04/30(日) 21:10:53.60ID:LNPaLibY0
一般にC++屋は熟練者の集まりであることが多く、プロジェクトはどれも保守性重視で、
プロジェクトごとににあれ禁止、これ禁止という決まりが多い。別にそれで炎上しないし、
速度も速いことから多くのライブラリでC++採用が多い。C#もJavaもC++で書かれている。

逆にC#屋は敷居が低く、知ったか素人ばかりで、保守性重視でvar禁止と言った途端、
老害だのスキルが低いだのこの有様。今後、プロジェクトでC#採用は期待できない。
0908デフォルトの名無しさん (ワンミングク MM7f-ZmVS)2017/04/30(日) 21:19:10.54ID:Umb/aOfDM
いい加減にしろ
こっちでひっそりとやってくれ

ふらっと C#,C♯,C#(議論用) [無断転載禁止]©2ch.net
http://echo.2ch.net/test/read.cgi/tech/1469538912/
0909デフォルトの名無しさん (ワッチョイ 5f3c-lWNK)2017/04/30(日) 21:23:18.26ID:Rh9C8HGt0
P, Q を具体的に聞かれると答えられないってことね
まあそうだろうとは思ってたけどな w
0910デフォルトの名無しさん (ワッチョイ 5f79-D0yh)2017/04/30(日) 21:27:50.62ID:dbwFyenH0
おいおいまだコード書いたこともない手合いと乳繰り合ってんのかよ〜
趣味悪いぞ
0911デフォルトの名無しさん (ワッチョイ 5f3c-lWNK)2017/04/30(日) 21:29:28.81ID:Rh9C8HGt0
>>910
>>853 w
0912デフォルトの名無しさん (ワッチョイ eb67-ZLns)2017/04/30(日) 22:00:00.96ID:rXvQkH5L0
>>879
Fira Code
0913デフォルトの名無しさん (ワッチョイ eb37-erB8)2017/04/30(日) 23:01:44.75ID:B3nfkY7d0
待ってくれ
俺もゆとりだが、ココまで、どうでも良いことに固執する程
頭は可笑しくない
0914デフォルトの名無しさん (ブーイモ MM9f-/g/V)2017/05/01(月) 07:36:32.56ID:1ElVGGSRM
だれだよvarでスレ半分消費したのわ
0915デフォルトの名無しさん (ワッチョイ 5f3c-lWNK)2017/05/01(月) 08:25:23.73ID:It0eo2Yd0
var と Variant の区別もつかない老害がしつこく食い下がってるだけ
0916デフォルトの名無しさん (ワッチョイ eb67-ZLns)2017/05/01(月) 08:33:13.90ID:yUmMyiuZ0
>>914
婆さん
0917デフォルトの名無しさん (オッペケ Sr1f-rAlE)2017/05/01(月) 09:10:04.94ID:vpoJU+G6r
>>897
はやくそのソフトのソースコードくれよ!!
0918デフォルトの名無しさん (ワッチョイ 0fe2-Ahd3)2017/05/01(月) 09:10:51.14ID:1uGucJJj0
まだ続けるのかよ
ネタとしてもうんざりだわ
0919デフォルトの名無しさん (ワッチョイ 5f72-WXDK)2017/05/01(月) 11:09:34.21ID:11IdPifH0
>>908
誰も移動してないのにワロタ
0920デフォルトの名無しさん (ワッチョイ 6f47-Gif8)2017/05/01(月) 12:10:29.12ID:xqvhmdIh0
どうしてこうなった
0921デフォルトの名無しさん (ワッチョイ eb37-erB8)2017/05/01(月) 12:42:20.57ID:694yUTJB0
単純にGWで暇だから、荒らしてるだけだろ?
一日有れば、大抵のモノは作れるのにコンな事してると言うことは
モノ作りが好きでも無いし、情熱や闘争心も……以下略
ライバルも居ないんだろう(勝手に決めつけてるだけだが……。)
0922デフォルトの名無しさん (スププ Sd7f-NoUs)2017/05/01(月) 13:47:50.22ID:E6K6ktuhd
休みの日くらいはプログラミングやりたくないな
0923デフォルトの名無しさん (ベーイモ MM7f-4iqD)2017/05/01(月) 15:37:08.07ID:R0fkblSkM
varはやっぱり使わないほうがいいよね
0924デフォルトの名無しさん (ドコグロ MM9f-lWNK)2017/05/01(月) 16:15:42.89ID:+eQM/gvTM
>>923
理解できないならそうするしかないもんな
0925デフォルトの名無しさん (オッペケ Sr1f-rAlE)2017/05/01(月) 16:25:01.23ID:foZ91x/Vr
var以外のネタくれ!
0926デフォルトの名無しさん (ワッチョイ 6b29-2CyC)2017/05/01(月) 17:00:52.78ID:VtitMcba0
val
0927デフォルトの名無しさん (アウアウイー Sa1f-GVoY)2017/05/01(月) 17:36:48.26ID:57V7usRQa
昔Javaから来た人の一部が恐らく何か勘違いして文字列を==で比較するなとか言ってた気がしたけど、
あれに近いものがあるな。

ちなみに、参照型の==がデフォで参照の同一性の検査になってるのは美しくないと思う。
この点はオーバーロードしないと使えないVBの方が優れてる
0928デフォルトの名無しさん (アークセー Sx1f-XZJj)2017/05/01(月) 17:38:08.21ID:1D/EfXvRx
10年前にvarで荒れるならわかる
今荒れるのがわからない

日曜PGはなぜvarを嫌うのかなあ
0929デフォルトの名無しさん (アークセー Sx1f-XZJj)2017/05/01(月) 17:49:01.29ID:1D/EfXvRx
var使うな
三項演算子使うな
Linq使うな
async await使うな

あと何かあったっけ?
0930デフォルトの名無しさん (アウアウイー Sa1f-GVoY)2017/05/01(月) 17:54:15.76ID:57V7usRQa
ちょっと前nullを返すメソッドは禁止とか頑張ってた人がいたような気が
0931デフォルトの名無しさん (ワッチョイ cb93-Ahd3)2017/05/01(月) 17:55:47.47ID:E3kVrBP40
いずれにしても初心者スレで語る内容じゃないわ
0932デフォルトの名無しさん (ベーイモ MM7f-4iqD)2017/05/01(月) 17:56:10.02ID:Wq/FX35FM
ラムダ式も駄目だね
こんなのなんでわざわざ導入したのか全くわからないクソコード
0933デフォルトの名無しさん (ワッチョイ 5f72-g2qj)2017/05/01(月) 17:59:42.53ID:3GysONi70
null禁止は言語にそれを補助する仕組みがないとつらい
0934デフォルトの名無しさん (アークセー Sx1f-XZJj)2017/05/01(月) 18:00:06.47ID:1D/EfXvRx
var使うな
三項演算子使うな
Linq使うな
async await使うな
null返すメソッド禁止
ラムダ式禁止

う〜ん
java使ったらいいんじゃね?
0935デフォルトの名無しさん (ワッチョイ 5f72-g2qj)2017/05/01(月) 18:03:47.42ID:3GysONi70
JavaにもLINQとかラムダ式に近いもんあるけどね、まあvar禁止厨の勤めてるようなレガシー環境だと禁止以前にバージョンが古くて使えんだろうが
0936デフォルトの名無しさん (ブーイモ MM9f-U5OU)2017/05/01(月) 18:14:23.31ID:eJT/t72EM
Javaワールドの新機能への抵抗はC#の比じゃないだろうなあ
ジェネリックすら最底辺まで普及したとは言えない状況なのに
0937デフォルトの名無しさん (アウアウカー Sa1f-hk3e)2017/05/01(月) 19:07:35.68ID:Dpo9Y8ZTa
ん?async await使わないってthread使うの?
0938デフォルトの名無しさん (ブーイモ MM7f-U5OU)2017/05/01(月) 20:00:55.51ID:HKIKhcHDM
伝家の宝刀DoEventsに決まってるだろ
0939デフォルトの名無しさん (ワッチョイ 7b72-xKXb)2017/05/01(月) 20:12:14.01ID:WbHPgdO70
>>933
C#もnull禁止の流れになってきてるね
0940デフォルトの名無しさん (ワッチョイ 7bfc-2CyC)2017/05/01(月) 20:14:19.92ID:ac76FauJ0
今でもThreadとAsyncCallbackが現役なんだけど、どうやったら使ってくれるんだろうか
0941デフォルトの名無しさん (ワントンキン MM7f-ZmVS)2017/05/01(月) 20:16:18.72ID:fmHWJ66yM
null禁止なんてしたらジャップランドの現場じゃまともに開発できないんじゃないか
彼らはnullチェック大好きすぎるからね
null排除できるところでもnullチェックしたいがためにわざわざnullの入る余地を作るぐらいだ
0942デフォルトの名無しさん (アウアウイー Sa1f-GVoY)2017/05/01(月) 20:18:23.48ID:57V7usRQa
>>939
なってないってw
0943デフォルトの名無しさん (ワッチョイ cb93-Ahd3)2017/05/01(月) 20:23:52.79ID:E3kVrBP40
>>939
どこの世界の話ですか?
0944デフォルトの名無しさん (スフッ Sd7f-xKXb)2017/05/01(月) 20:30:50.82ID:WPiodW5gd
岩永さんですらこれだからな
http://www.buildinsider.net/column/iwanaga-nobuyuki/011
0945デフォルトの名無しさん (ワッチョイ 5f79-D0yh)2017/05/01(月) 21:09:10.73ID:xn0+A9x60
10億ドルの損失なんかどうでもいいねん
ジャップランドエンジニアは目先の年収300万未満のが大事やろ
0946デフォルトの名無しさん (ベーイモ MM7f-4iqD)2017/05/01(月) 21:14:16.18ID:EsxQ1WMeM
そもそもインスタンスの生成に失敗したらnull返す場面多いよな
これをどうしたらいいって言ってるの?
値のnull許容はDBも絡むとカオスだな
とりあえず制御できたことない
0947デフォルトの名無しさん (アウアウイー Sa1f-GVoY)2017/05/01(月) 21:39:28.07ID:57V7usRQa
>>944
>本来であれば、int型とstring型を区別できるのと同程度に、
>nullを許可するか拒否するかも型を見て区別できるべきだろう。

岩永さんはデキる人だと思うけどこれは全然同意できないわ。
じゃあArgumentOutOfRangeExceptionとか投げるのも妥協の産物であって
本当はコンパイル時に解決できるようにすべきなの?

それはないでしょう
0948デフォルトの名無しさん (アークセー Sx1f-XZJj)2017/05/01(月) 22:08:21.43ID:1D/EfXvRx
岩永は結構前からボケてる
もうコードを書くとかどうとかいうレベルじゃない
専門バカ
0初期化と全然関係ないのに出してくるなどトンチンカン

それはさておき
記事を見てindexなどの戻り値が-1の場合見つからなかったなと思うけど
その仕組みの方が問題の気がする

-1は昔々から言われてるマジックナンバーに当たるもの
マジックナンバーは使うな!と散々言われてるけどこれだけは例外扱いされてる不思議なもの
-1の処理を忘れて書かれているコードがあるかもしれない!
危険だ!()

nullが!って騒ぐのなら -1がって騒げばいい岩永
0949デフォルトの名無しさん (ワントンキン MM7f-ZmVS)2017/05/01(月) 22:18:16.19ID:fmHWJ66yM
コンパイル時にチェックできるなら凡ミス減らせるやん
エディタもマーカー付けて教えてくれるようになるし便利だろ

X func() { return null; }

notnull var x = func(); // コンパイルエラー
notnull var x = func() ?? new X(); // ok

void hunc(notnull X x) { x.method(); }

var x = func();
hunc(x); // コンパイルエラー
hunc(x ?? new X()); // ok
notnull var xx = func() ?? new X();
hunc(xx); // ok

assert書かんでいいのも楽やな

void m1(notnull X x) {
// Assert.NotNull(x); // 要らない
m2(x, new Y());
}

void m2(notnull X x, notnull Y y) {
// 要らない
// Assert.NotNull(x);
// Assert.NotNull(y);
〜
}
0950デフォルトの名無しさん (ワッチョイ 0fe2-2CyC)2017/05/01(月) 22:30:21.93ID:sR37Y8J70
助けて!MSDNが繋がらないの!
お前らつながる??
https://msdn.microsoft.com/ja-jp/
0951デフォルトの名無しさん (ワッチョイ 5f72-g2qj)2017/05/01(月) 22:31:06.79ID:3GysONi70
落ちてんなこりゃ
0952デフォルトの名無しさん (アークセー Sx1f-XZJj)2017/05/01(月) 22:32:21.79ID:1D/EfXvRx
null問題を騒ぐならLengthが-1も同じ問題なので

岩永氏のかいたコード
// nullを受け付ける(null許可)
static int N(string? x) => x?.Length ?? -1; // nullが来ることを想定したコード

は -1 じゃなくて int?のHasValue = falseで返すべきだろ


参照型でT?をnullableにとあるけど現状と整合性が取れない
変えるべきじゃない
コンパイルオプションで選択というけど他で作られたライブラリなどを一緒にソースからコンパイル
するとき問題になる

non-nullとして T!でも導入したほうがいい
0953デフォルトの名無しさん (アークセー Sx1f-XZJj)2017/05/01(月) 22:42:00.47ID:1D/EfXvRx
巨大なint同士の演算も桁あふれする場合もコンパイル時にわからないよな?
コンパイル時にわからないのが怖いのだったら
intもすべて拡張したint?にして
計算のつど全てIsOverFlowチェックするようにしたらいい

AssertやTestがいらなくなったって喜べばいい
0954デフォルトの名無しさん (ワッチョイ 3bb7-HxCy)2017/05/01(月) 23:47:18.91ID:p2GGSTda0
c++だとT*がnull許可、参照のT&がnull不許可って感じだな。
c++だと参照を使うことが多いから、c#にもnull不許可はあってもいいとは思うがいまさら難しいな。
0955デフォルトの名無しさん (ワッチョイ 7bd4-L4LY)2017/05/02(火) 00:36:52.18ID:79+IkLPk0
C#7ならこんな書き方はできる
if (x is T t) t.Hoge(); // if (x is T) { T t = (T)x; t.Hoge(); } と等価
0956デフォルトの名無しさん (ワッチョイ 0fe2-2CyC)2017/05/02(火) 02:35:43.73ID:OPFlvhxj0
多値戻り値が実装されたから
varの頻度増えちゃうね
0957デフォルトの名無しさん (ワッチョイ eb37-erB8)2017/05/02(火) 03:36:47.42ID:zdJqxs7T0
増えないけど……?
0958デフォルトの名無しさん (ワッチョイ 1b6d-D0yh)2017/05/02(火) 03:51:49.94ID:OSvvM33n0
ほとんどvarだから特に増えない
0959デフォルトの名無しさん (ブーイモ MM9f-2o6F)2017/05/02(火) 06:35:29.74ID:vXcXh+UIM
>>955
くそ{}を使わずに済むのはgjだが
意味不明だ
0960デフォルトの名無しさん (ワッチョイ 1b6c-y16Z)2017/05/02(火) 06:44:31.06ID:QIQI6uMM0
>>959
isチェックした上で、そのインスタンスも同時に作れちゃう
0961デフォルトの名無しさん (ワントンキン MM7f-ZmVS)2017/05/02(火) 07:49:21.78ID:iMT61nHqM
型チェック関連の新機能はカスPGが乱用しそうで不安だよ
同僚のVBerがこれはいいなとウキウキしている
0962デフォルトの名無しさん (ワッチョイ 1b6d-D0yh)2017/05/02(火) 08:21:51.53ID:Y4foBMPK0
カスと働かないといけないとか大変ですなーw
0963デフォルトの名無しさん (ワッチョイ 5b92-9RnG)2017/05/02(火) 08:37:42.85ID:1BL9yepd0
新しい機能を使うなっていうプロジェクトやだよね
0964デフォルトの名無しさん (ワッチョイ 5f3c-lWNK)2017/05/02(火) 09:28:28.04ID:uoiDAyJb0
>>947
全てをコンパイル時に検出できるわけじゃないけど可能な奴はコンパイル時に検出できた方が嬉しい
っていう話だろ
昔 C/C++ の const なんて一部にしか使えないから意味ないって言ってた老害と同じ思考回路
0965デフォルトの名無しさん (アウアウイー Sa1f-GVoY)2017/05/02(火) 11:26:41.53ID:LPmP50uVa
>>964
何でそういう荒れるような言い方するかね。
しかし、幼稚だね。

一部の問題だけでも解決できればそれはそれで良いではないか、っていうのは
一見正論に聞こえるが(っていうか悪いけど頭が付いてれば誰でもその程度のことは考えるよ)
それも程度問題。

問題が半分になるなら万々歳だけど1割減るだけだったらどうかね。
null禁止を実現したとして、それで不適切な値に起因する問題がどれだけ事前に
回避できるようになるか。
直観的には1割もないと思うけど...

はっきり言って、null禁止なんて0除算を出したくないから除数専用の非0が保証された
数値型を作れっていうような偏執狂的愚行にしか思えん。
0966デフォルトの名無しさん (ワッチョイ 9fd4-Ahd3)2017/05/02(火) 11:44:30.64ID:LCoer1/k0
数値型でもnullを多用してるが。
null禁ってさ、頭が20世紀で止まってないか
0967デフォルトの名無しさん (ワッチョイ dbd4-WXDK)2017/05/02(火) 11:49:56.33ID:M38HfLpg0
禁止したいんじゃなくて許容するかどうかを選べるようにしたいって話でしょ
nullが必要なら使えばいい
0968デフォルトの名無しさん (ベーイモ MM7f-4iqD)2017/05/02(火) 12:41:04.93ID:3UOMunRdM
そもそもnull禁なんてできるの?
用意しようとした瞬間インスタンスが超絶デカかったら落ちるしかなくね?
0969デフォルトの名無しさん (ワッチョイ 9fd4-Ahd3)2017/05/02(火) 12:45:19.24ID:LCoer1/k0
int a;

これには、null 入らんだろ?

int? a;

ならば入る
そーいう意味じゃないのか
0970デフォルトの名無しさん (ワッチョイ 5f72-WXDK)2017/05/02(火) 13:34:53.45ID:aMKF8j/q0
いい加減にしろ
こっちでひっそりとやってくれ

ふらっと C#,C♯,C#(議論用) [無断転載禁止]©2ch.net
http://echo.2ch.net/test/read.cgi/tech/1469538912/
0971デフォルトの名無しさん (アウアウカー Sa1f-kPFU)2017/05/02(火) 13:39:05.53ID:wSgyfw1Wa
structとclassの違いでnull許容、非許容が決まるのはおかしいとは思う

メモリの使い方の違いがnullが扱えるかの差を生んでいるのは理解してるが
一般にスタックを使いたいかヒープを使いたいかとnullを許容したいかしたくないかは全く関連がないので
別に指定できるようにするほうが言語を使う側からみれば嬉しい
0972デフォルトの名無しさん (ワッチョイ 5f3c-lWNK)2017/05/02(火) 15:54:57.85ID:uoiDAyJb0
>>965
> 直観的には1割もないと思うけど...
お前の直観で語られてもな w
まともなライブラリーとかでどんだけ Assert 使われてると思ってるんだよ
0973デフォルトの名無しさん (ワッチョイ df4c-Dl+z)2017/05/02(火) 16:31:19.61ID:zNT2gr290
>>947,965
そりゃ、誤検出がなくてコンパイル時間が伸びないなら1割でも検出してコンパイルエラーになった方がそりゃいいでしょ
もしこの機能でテストを書く量が減らせるならさらに有用

その機能の恩恵と利用者の手間、実装コスト、互換性、今後の拡張性なんかを天秤にかけて色々検討している段階だよって話を紹介してるだけに見える
個人的にはせっかくあるCodeContractを簡単に活用できる機能はあれば便利だと思うけど
0974デフォルトの名無しさん (ワッチョイ 5f79-D0yh)2017/05/02(火) 17:30:37.57ID:dOwNGbi20
うるせーよチンコ野郎
幼稚様を誰だと思ってる
ClickOnce、例外を…やっぱやめた。過去の話だからな
0975デフォルトの名無しさん (ワッチョイ 5f79-D0yh)2017/05/02(火) 17:33:20.01ID:dOwNGbi20
ちなみにnull結合演算子については納得できたのかい幼稚様
0976デフォルトの名無しさん (ワッチョイ 0fe2-tzQW)2017/05/02(火) 17:34:02.04ID:OPFlvhxj0
じゃあここの総意としては
スキルレベルが高い人ほどvarを使用してるってことでいいね?
0977デフォルトの名無しさん (スププ Sd7f-g2qj)2017/05/02(火) 17:49:35.55ID:HJxBxIand
スキルレベルと相関しない、個々人の趣味
0978デフォルトの名無しさん (ベーイモ MM7f-4iqD)2017/05/02(火) 17:59:19.20ID:Sndq3xJ3M
>>976
varなんて使ってる奴はゴミ
0979デフォルトの名無しさん (アウアウイー Sa1f-GVoY)2017/05/02(火) 18:04:00.93ID:vzPC3unXa
っていうか、そもそも問題のすり替えだと思うんだよね。

null拒否の型が欲しいっていう主張はnullが拒否できていれば
事前に防止できる類のバグがあるはずだっていう前提に立ってるわけだけど、本当にそうか。

>>944の記事ではnullを受け入れないメソッドにnullを渡してしまう問題を挙げてるけど、
普通に考えて、nullを渡せると確実に分かっている場合以外、プログラマが故意にnullを
渡すことはありえないから、そういう問題が発生するケースはプログラマがミスで意図せず
nullを渡してしまった場合だけのはず。

だったら、null拒否の型を導入したところで、「間違ってnullを渡すバグ」が
「間違って初期化されてない値を渡すバグ」に置き換わるだけの話で、
コンパイル時に発見できるようになんかならないんじゃないの?

それどころか、バグの発見の可能性を小さくしてるだけじゃん。
0980デフォルトの名無しさん (アウアウカー Sa1f-hk3e)2017/05/02(火) 18:44:27.08ID:QABEpfDua
もうvarはいいだろw
使っていい環境なら使え
そうじゃないなら使うな
これでいいよもう
0981デフォルトの名無しさん (ワッチョイ 7bfc-2CyC)2017/05/02(火) 18:51:48.79ID:dKe4yqHW0
じゃあ次スレはWinアプリはFormとWPFどっちが良いの?でよろしく
0982デフォルトの名無しさん (ワッチョイ 0fe2-2CyC)2017/05/02(火) 19:08:45.75ID:OPFlvhxj0
>>981
サーバーサイドが多いだろうからこれは盛り上がらないわ
0983デフォルトの名無しさん (ワキゲー MM7f-6DvX)2017/05/02(火) 19:57:27.99ID:buy6hqcLM
もう値渡しとか参照渡しでバトればいいよ
0984デフォルトの名無しさん (ワッチョイ dbd4-WXDK)2017/05/02(火) 20:48:34.48ID:M38HfLpg0
>>979
渡す値がおかしいバグはnullと関係なく存在してるでしょ
nullを渡すバグがなくなるんだからバグは減るよ
0985デフォルトの名無しさん (アウアウイー Sa1f-GVoY)2017/05/02(火) 20:55:33.57ID:vzPC3unXa
>>984
だから、ぬるぽがなくなる分がそっくり別のバグ(値が不適切)が増えるだけ
0986デフォルトの名無しさん (ワッチョイ df4c-Dl+z)2017/05/02(火) 20:56:52.94ID:zNT2gr290
>>979
俺も詳しくはないが、「null非許容=今のnullの代わりに適当なインスタンスを突っ込む」じゃないぞ。
null許容型の場合、hoge.Method();みたいなnullの可能性への考慮忘れを注意してくれるようになる、ということだと思う
hoge?.Methodとか、return hoge ?? string.Empty;みたいに何らかの方法でnullの可能性を潰す。
関数の先頭で毎回nullチェックしたり、nullを返さないはずのメソッドがミスでnullを返すみたいなことも防げる

実際にTypeScriptとかKotlinとかではnull許容型ではnull考慮をしないと警告やエラーにできて、C#もそれを導入すべきか検討中ということじゃないかな
もちろん、若干の面倒はあるので必要なら専用構文を用意するとか、コンパイラオプションで選べるようにするとか、色々な話が出てるらしい
0987デフォルトの名無しさん (ワッチョイ dbd4-WXDK)2017/05/02(火) 21:07:47.24ID:M38HfLpg0
>>985
置き換わるケース自体は当然あるよ
でも「ぬるぽがなくなる分がそっくり別のバグ(値が不適切)が増えるだけ」ならそれはその人が無能すぎるだけでしょ
0988デフォルトの名無しさん (アウアウイー Sa1f-GVoY)2017/05/02(火) 21:15:43.29ID:vzPC3unXa
>>987
だから、変数の初期値がnullの代わりに規定値に変わるだけなんだからそうなるに決まってるでしょ
ちょっとは考えて書こうよ
0989デフォルトの名無しさん (ブーイモ MM9f-U5OU)2017/05/02(火) 21:20:14.20ID:8qIJOExOM
>>988
それこそvarと同じように宣言時代入限定にすればいいだけのことじゃね
0990デフォルトの名無しさん (スププ Sd7f-g2qj)2017/05/02(火) 21:21:29.33ID:K4Noq88Ed
そもそもC#はぬるぽじゃなくてぬるりなんだがと突っ込むのは野暮なのだろうか
0991デフォルトの名無しさん (ワッチョイ dbd4-WXDK)2017/05/02(火) 21:22:49.78ID:M38HfLpg0
>>988
何言ってるのか分からない
メソッドに型の既定値しか渡さないの?
0992デフォルトの名無しさん (ベーイモ MM7f-4iqD)2017/05/02(火) 21:23:16.46ID:neQAFX78M
具体的に何が良くなるんだ?
nullを許さないとして

そりゃ引数で入れてもらう側はnullなんて欲しくねーよ
でも用意する側としちゃ作成失敗もあるわけでそいつをどうやってnull非許可変数にキャストするの?
0993デフォルトの名無しさん (アウアウイー Sa1f-GVoY)2017/05/02(火) 21:25:52.54ID:vzPC3unXa
>>991
そっちこそ何を言ってるのかね。
だからnullがだめなハズの変数にnullが入ってるのは何故なんですか?
0994デフォルトの名無しさん (ブーイモ MM9f-U5OU)2017/05/02(火) 21:27:43.36ID:8qIJOExOM
>>992
当然呼び出し側の責任でしょ
hoge(x!) でxがnullなら実行時エラー
今でも引数にnullを渡さないのは呼び出し側の責任なんだから同じこと
それを型で明示できるだけでも十分に意義はある
0995デフォルトの名無しさん (ベーイモ MM7f-4iqD)2017/05/02(火) 21:30:31.38ID:WlKv+ZR/M
>>994
違うよ
俺が言いたいのは用意するときは絶対myunko?になるってこと
でも引数は当然ながらmyunkoしか食わせられない
この時myunko?からmyunkoのキャストを何を持って保証するのって話
0996デフォルトの名無しさん (スププ Sd7f-g2qj)2017/05/02(火) 21:35:19.73ID:K4Noq88Ed
うんこ食うのか…(困惑)
0997デフォルトの名無しさん (ワッチョイ df4c-Dl+z)2017/05/02(火) 21:36:13.08ID:zNT2gr290
>995
Method( hoge??"");
piyo?.PiyoMethod();
if( foo != null) { 〜 }
みたいにnullを弾く構文を解析すれば良い。難しいようにも見えるけど、未初期化変数のチェックは完璧に行われてるので意外と可能
(TypeScriptではこの形だったかな)
SwiftとかはOptional型でnullかどうかの分岐ができる。
C#だと、タイプマッチとかに絡ませた構文になるんじゃない?

Kotlinでは非nullにキャストする!!構文があるらしい。(nullの際には例外を投げるので、極力別の方法でやる)
0998デフォルトの名無しさん (ブーイモ MM9f-U5OU)2017/05/02(火) 21:38:36.72ID:8qIJOExOM
>>995
言ってる意味分かってないでしょ
null値をnull非許容型にキャストしようとしたらその時点で例外が出る仕様にすればいいだけ
保証なんか要らない
nullでない確信があるのなら当然キャストしてもエラーは出ないはず
現に今も君はそうやってプログラム書いてるだろ?
引数のnullチェックが省けるだけでも十分に有効だよ
0999デフォルトの名無しさん (ベーイモ MM7f-4iqD)2017/05/02(火) 21:40:11.56ID:LMYev6JoM
HasValue?
1000デフォルトの名無しさん (オッペケ Sr1f-zNGF)2017/05/02(火) 21:40:17.56ID:4WyVv5vSr
概念的にnullを取り得ると不自然なのでnull許容しない型が欲しいってだけ
その概念を理解できない人にはわかるはずもない
構文とかエラーチェックの問題じゃない
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
life time: 48日 23時間 12分 56秒
10021002Over 1000Thread
2ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。


───────────────────
《プレミアム会員の主な特典》
★ 2ちゃんねる専用ブラウザからの広告除去
★ 2ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────

会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。

▼ プレミアム会員登録はこちら ▼
https://premium.2ch.net/

▼ 浪人ログインはこちら ▼
https://login.2ch.net/login.php
レス数が1000を超えています。これ以上書き込みはできません。