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

「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。

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

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

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

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

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

■関連スレ
C#, C♯, C#相談室 Part94 [無断転載禁止]©2ch.net
http://echo.2ch.net/test/read.cgi/tech/1492843013/

■コードを貼る場合は↓を使いましょう。
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

前スレがいつの間にか1000行ってたので取り急ぎ

並列にしてるのが思い込みらしいから放置でいいよ
やってみねぇでやろうとしちゃうんだな

4デフォルトの名無しさん (ワッチョイ d896-1jjp)2017/07/18(火) 11:05:24.85ID:QAHpb4DY0
情報サイト教えて下さい

例えば、
int型の連番配列全てを(for文,等を使わずに)文字列にしたり
一発で配列内の位置を特定して抜き出してから削除する(通常のコードとは違う方法)

便利な命令文とか教えて欲しいです。

>>4
LINQで調べてみるといいと思う

>>4
何がしたいの?
10年以上やってる俺が必要だと思えない機能なので多分やりたいことが間違ってると思う

7デフォルトの名無しさん (ワキゲー MM6e-FZLt)2017/07/18(火) 12:05:13.73ID:mSXXv0D2M
宿題じゃないの?

とぅーすとりんぐ

9デフォルトの名無しさん (ワッチョイ d896-1jjp)2017/07/18(火) 12:48:38.87ID:QAHpb4DY0
ビジアルC#(フォームアプリケーション)でトランプゲーム作ってます。
その為に、配列操作を簡潔にしたいと考えてます。

ボタン入力→コンソールで操作→コンソールから値を受けとる→画像出力
間違ってますか?

10デフォルトの名無しさん (ワッチョイ c469-zKZC)2017/07/18(火) 13:43:03.26ID:y43ZtB+J0
ポインヨ使いの俺にはお前が何を言ってるのかさっぱりわからないぜ

11デフォルトの名無しさん (ワッチョイ d896-1jjp)2017/07/18(火) 14:00:23.98ID:QAHpb4DY0
なるほど。

つまり、FlowSimulator見たいなソフトが作りたい!
って事です。

12デフォルトの名無しさん (ワッチョイ c469-zKZC)2017/07/18(火) 14:30:52.59ID:y43ZtB+J0
>>11
よくわかんねーからポーカーやろうぜ
プレーヤー2人ね
ジョーカー入れて53枚から5枚選べる?
もちろんダブっちゃ駄目よ
んでもう一人の分の5枚選べる?
一人目のカードを引いちゃ駄目よ
お互いにいらないカードを捨てて捨てた枚数補充して
お互いに捨てたカードとか相手が持ってるカード補充しちゃ駄目よ

(*゚∀゚)コール!花京院の魂をかけろ!

ここまでで何か行ったか?
なければ完璧だ!健闘を祈る!

13デフォルトの名無しさん (ワッチョイ d896-wbEN)2017/07/18(火) 18:07:34.46ID:QAHpb4DY0
>>12
自分で作れば?

14デフォルトの名無しさん (ワッチョイ c469-zKZC)2017/07/18(火) 18:26:15.96ID:y43ZtB+J0
>>13
自分で作りやすいように書いたのでもちろん作れる!
でも今時トランプゲームなんていらないや(・∀・)
んで必要な配列の処理は洗い出せたのかい?
思ってたんと違う感じになったんじゃないかな?

15デフォルトの名無しさん (ワッチョイ d896-1jjp)2017/07/18(火) 18:52:54.47ID:QAHpb4DY0
それは、個人で調べてる。

別の問題で、コードの暗号化(exeファイル)が逆アセンブルで閲覧されてしまうんだが、
何か良い方法無いですか?

16デフォルトの名無しさん (ワッチョイ c469-zKZC)2017/07/18(火) 18:57:11.13ID:y43ZtB+J0
>>15
難読化ツール
Visual Studioに付いてくる

17デフォルトの名無しさん (ブーイモ MM5e-5eCk)2017/07/18(火) 19:02:38.94ID:Y+c+0z9EM
>>15
むしろGithubで公開したら?
自分の価値を高めることを目的とするなら隠すことには全くメリットはないよ

18デフォルトの名無しさん (ワッチョイ c469-zKZC)2017/07/18(火) 19:04:51.06ID:y43ZtB+J0
よし、難読化してgithubで公開だ!

19デフォルトの名無しさん (ワッチョイ ce19-MRQN)2017/07/18(火) 19:08:58.61ID:SlyZJJmU0
宇宙仮面さん生きてる?

20デフォルトの名無しさん (ワッチョイ d896-1jjp)2017/07/18(火) 19:23:40.54ID:QAHpb4DY0
Dotfuscatorを検索したけど見つからない。
Visual Studio C# 2008でも付いてる?

21デフォルトの名無しさん (ワッチョイ ce19-MRQN)2017/07/18(火) 19:25:04.23ID:SlyZJJmU0
ぐぐったのか?↑

ぐぐてから質問しろ

22デフォルトの名無しさん (ワッチョイ d896-1jjp)2017/07/18(火) 20:00:39.41ID:QAHpb4DY0
何処にあるか分から無い。

23デフォルトの名無しさん (ワッチョイ ceac-hsux)2017/07/18(火) 20:06:29.49ID:FK0nGZqt0
商用で売るんでなければ難読かなんてする理由はまずない

24デフォルトの名無しさん (ワッチョイ d896-1jjp)2017/07/18(火) 20:13:24.32ID:QAHpb4DY0
>>23
フリーソフト公開したら、
わざわざ逆アセンブルして、もっとコウしろコードはこう書けとか沢山飛んで来る。
下手クソ、俺ならこう書くぞ! とか、キツイんだよ!

25デフォルトの名無しさん (スフッ Sd94-Icm7)2017/07/18(火) 20:16:55.46ID:z0RvcFUud
>>24
いっそソース公開した上で基本無視して有用そうな情報だけ生かしとけ、それかGithubに上げてプルリクしろIssue立てろと書いとけ

26デフォルトの名無しさん (ワッチョイ d896-1jjp)2017/07/18(火) 20:27:30.63ID:QAHpb4DY0
少し、混乱してるから、
一旦、落ち着く。

どうも、ありがとう。

27デフォルトの名無しさん (ワッチョイ d896-1jjp)2017/07/18(火) 21:05:16.22ID:QAHpb4DY0
参考にしたのですが、厳しいです。
Azure in microsoft Visual Studio 2017 || Anthony Cangialosi
https://www.youtube.com/watch?v=umdy7WXauz4

設定の方法を紹介しているサイトは豊富ですが、
使い方を詳細まで乗せているサイトが見つかりません。

やりたい事
Visual Studio C#2017(フォームアプリケーション)で入力したデータとモデルを指定して、
Azureへデータを渡してから、結果を受け取り。
C#内の表に格納してから、グラフを自動で作成する事はできますか?

できれば、詳しく説明しているサイトを教えて下さい。
それと、個人利用での値段も教えて下さい。

28デフォルトの名無しさん (ワッチョイ ceac-hsux)2017/07/18(火) 21:25:55.45ID:FK0nGZqt0
普通はソースごと上げても無反応なのに、たくさん指摘が飛んでくるなんてありがたい環境じゃん
無価値な指摘は無視すればいいし、有意義な指摘は参考にすればいいだけ

>>27
どこまでまわかってるのか、何がわからないのか具体的に
Azureのサービスは立てられてるの?表からグラフは作れてるのか、そこもわからないのか?

29デフォルトの名無しさん (ワッチョイ d896-1jjp)2017/07/18(火) 21:31:45.07ID:QAHpb4DY0
>>28
冗談抜きで、何も分かって無いから顔面蒼白してる。
C#も初心者です。

30デフォルトの名無しさん (ワッチョイ 1e6e-5eCk)2017/07/18(火) 21:45:50.66ID:tovqy0R70
まずその設計が不自然すぎる
Azure使うならASP.NETでWebサービスとして作りなよ
ASP.NETなら書籍買って読めば簡単に使えるようになる

31デフォルトの名無しさん (ワッチョイ d896-1jjp)2017/07/18(火) 21:58:53.20ID:QAHpb4DY0
資料分析任されてけど、一切、来なくなった。
あなたのポジションがなくなりました。とツイッターのメールで飛んで来た。

32デフォルトの名無しさん (ワッチョイ a76f-xIn+)2017/07/19(水) 00:50:57.31ID:42DPUduf0
>>30
お薦め書籍は?

33デフォルトの名無しさん (ワッチョイ df80-l+nO)2017/07/20(木) 10:18:37.61ID:JuWBPChC0
ねーねー
Windows10でアクションセンター出すコマンドラインとかあるの?

探しきれなくて、もし出来ることがわかればC#の処理で開くことができると思うんだけど…


やっぱWinAPIなんかなぁ

34デフォルトの名無しさん (ワッチョイ df19-QK4i)2017/07/20(木) 10:57:07.79ID:vXnrP/ay0
自分でC#で組めよ

>>33
これで出来たよ
Process.Start(@"ms-actioncenter:");

元ネタはここ
http://winsupersite.com/windows-10/how-open-windows-10-apps-using-shell-commands

36デフォルトの名無しさん (ワッチョイ df80-l+nO)2017/07/20(木) 14:32:49.49ID:JuWBPChC0
>>35
ありがとうございます。
やっぱあるんですね!

37デフォルトの名無しさん (ワッチョイ df19-QK4i)2017/07/21(金) 15:26:36.42ID:h1B8jSWE0
質問です。

C#でIEは操作できますが、

C#でMicrosoft Edgeを操作する事は出来ますか?

38デフォルトの名無しさん (ワッチョイ a779-ijYd)2017/07/21(金) 18:30:07.33ID:ZXE38ZHX0
ググれカスタム

39デフォルトの名無しさん (ワッチョイ df19-QK4i)2017/07/21(金) 18:56:20.59ID:h1B8jSWE0
>>37
だが

誰か教えてくれ

40デフォルトの名無しさん (ワッチョイ c74b-E/h9)2017/07/21(金) 18:56:59.85ID:xK84hYK/0
ググれ

41デフォルトの名無しさん (ワキゲー MM9f-rceg)2017/07/21(金) 19:06:22.38ID:iXuWi2WiM

42デフォルトの名無しさん (ワッチョイ e71c-QxXf)2017/07/22(土) 01:49:06.33ID:SkksAqux0
c#からはやったことないけどできるよ。
ie,chrome,edgeの自動テストを作ってる。

43デフォルトの名無しさん (ワッチョイ df19-QK4i)2017/07/22(土) 03:39:06.11ID:DPcBWKY50
C#でやりたいんだよね >>42

API使ってやってるの?

44デフォルトの名無しさん (ワッチョイ 8732-UCFQ)2017/07/22(土) 04:08:21.08ID:RdoTnEnw0
多分WebDriver使ってるんだろう

45デフォルトの名無しさん (ワッチョイ a70d-/jiT)2017/07/24(月) 16:06:09.79ID:/7atmMFa0
WinForm使って3D表示するとしたら、何が一番手軽なんでしょう?
1枚絵を3D表示して色んな角度から見る程度なら、OpenTKでいいのかな?
ガッツリやるならWPFやUnityに移行した方が良いのかもしれないけども。

46デフォルトの名無しさん (ワッチョイ df19-QK4i)2017/07/24(月) 16:18:13.05ID:kPRQFbx80
なんでc#で3D表示する必要があるんだよ

47デフォルトの名無しさん (ワッチョイ a70d-/jiT)2017/07/24(月) 16:34:47.01ID:/7atmMFa0
最初はBitmap画像を表示するだけだったんで、WinFormで作ったんです。
そしたら後で「これもうちょっと見易くする為に3Dで表示して」って言われたので・・・。

48デフォルトの名無しさん (ワッチョイ 4769-I4wg)2017/07/24(月) 17:00:41.63ID:oo6suuL/0
この場合OpenGLかなぁ?

49デフォルトの名無しさん (ワッチョイ 4769-I4wg)2017/07/24(月) 17:01:32.85ID:oo6suuL/0
OpenTKって俺何か知らん

50デフォルトの名無しさん (ワッチョイ a70d-/jiT)2017/07/24(月) 17:14:44.48ID:/7atmMFa0
「OpenGL C#」でググったところ、
http://qiita.com/okajima/items/8082c0d2473949ec51e8
>OpenTKは、C#からOpenGLをいじるためのほぼ唯一の選択肢となるツールです

ってあったので、OpenGLを使うのならOpenTKを使うしか無いのかなと。
他のラッパーも動かしてみたけども、上手く動かなかったりなので。

51デフォルトの名無しさん (ブーイモ MMff-Czvo)2017/07/24(月) 17:25:57.56ID:vlNeOTKMM
WinFormsにこだわるならElementHostでそこだけWPF使うのが簡単じゃないかな
DirectXを意識するような方法だとゲーム的な作法になるので経験ないならかなりハードルが高いよ

52デフォルトの名無しさん (ワッチョイ a70d-/jiT)2017/07/24(月) 17:32:00.52ID:/7atmMFa0
https://dobon.net/vb/dotnet/control/elementhost.html
WPFコントロールを使用することが出来るのですね。
OpenTKを調べてみたらNuGetから消えてたみたいなので、検討してみます。
ありがとうございます。

53デフォルトの名無しさん (ワッチョイ 4769-I4wg)2017/07/24(月) 17:41:13.07ID:oo6suuL/0
3D回り酷すぎだな
音も相変わらず雑なんかな?

54デフォルトの名無しさん (ワッチョイ df19-QK4i)2017/07/24(月) 18:11:14.11ID:kPRQFbx80
テトリス作ったり3D言い出す奴とか
アホしかいないですね。このスレッドは。

55デフォルトの名無しさん (ワッチョイ 4769-I4wg)2017/07/24(月) 18:21:57.94ID:oo6suuL/0
c#って何にも作れないんですね

56デフォルトの名無しさん (スッップ Sdff-RYCd)2017/07/24(月) 18:33:39.39ID:x3MpulcWd
>>55
お前はな

57デフォルトの名無しさん (ワッチョイ 4769-I4wg)2017/07/24(月) 18:46:20.02ID:oo6suuL/0
>>56
まるで自分なら作れるかのような物言いですね
でも現実をご覧なさい

58デフォルトの名無しさん (ワッチョイ c74b-E/h9)2017/07/24(月) 19:33:29.80ID:lcNIkUFm0
NGスッキリ

59デフォルトの名無しさん (ワッチョイ 476c-HkTs)2017/07/24(月) 21:51:36.91ID:CnUnUECm0
OpenGL wrapper for C#
ttps://stackoverflow.com/questions/5938151/opengl-wrapper-for-c-sharp

60デフォルトの名無しさん (ワッチョイ e71c-QxXf)2017/07/25(火) 00:07:11.33ID:SY0Mxk4f0
>>43
webdriverをつかってる
c#用のライブラリもあるよ。

61デフォルトの名無しさん (ワッチョイ 8732-UCFQ)2017/07/25(火) 02:24:44.23ID:Qr8ugTQa0
>>52
NuGetにOpenTK v2.0.0あったぞ。

62デフォルトの名無しさん (ワッチョイ df80-l+nO)2017/07/25(火) 13:59:34.79ID:5w9W9evL0
Open Tetsuya Komuro

63デフォルトの名無しさん (ワッチョイ 4769-I4wg)2017/07/25(火) 15:58:59.38ID:IqsCpgPN0
TextFieldParserってバグってんね
連続改行あると処理できねーし
これ地味に困るな

64デフォルトの名無しさん (ワッチョイ 4769-I4wg)2017/07/25(火) 16:04:35.84ID:IqsCpgPN0
外人の作ったもんっていつもこんな感じだな
テストやってんのかよてめー

65デフォルトの名無しさん (ワッチョイ df19-QK4i)2017/07/25(火) 17:07:02.02ID:HJ9x/owo0
>>60
サンキュー

知らなかった

66デフォルトの名無しさん (ワッチョイ 4769-I4wg)2017/07/25(火) 18:46:59.69ID:IqsCpgPN0
CsvHelperでReadメソッド読んだら元の処理に差し替え出来た

ぐぐるとマッピング方式ばっかりなんだけどマッピングなんてしねーよボケがって状況なので
マッピング無し方式を見っけるのに時間かかった

67デフォルトの名無しさん (ワッチョイ 7fa2-QK4i)2017/07/25(火) 19:07:52.65ID:YE6zWRAr0
>>59
これなに?
OpenGLで高度なグラフィックコントロールができるってこと?
ってかLinux向けかな

68デフォルトの名無しさん (ワッチョイ c74b-E/h9)2017/07/25(火) 19:15:57.14ID:Oz2LyY6P0
>>67
無能

69デフォルトの名無しさん (ブーイモ MM8b-pqVL)2017/07/25(火) 21:15:14.41ID:7wirVU/NM
OpenGLはどちらかというと低レベル層のコントロール

70デフォルトの名無しさん (ワッチョイ 8732-UCFQ)2017/07/25(火) 22:02:34.46ID:Qr8ugTQa0
OpenGLをまともにサポートしていないIntelの古いオンボードビデオのPCがまだまだ生き残ってるから、
なるべく多くのPCで動かしたいアプリでOpenGLの採用は厳しいな。

71デフォルトの名無しさん (ワッチョイ bf2a-ltyJ)2017/07/25(火) 23:05:49.65ID:Voswq3dD0
いままでずっとVB.netでwinformアプリ作ってて
いい加減C#の勉強しようと思ったらnamespaceのせいでインデントが余分にいっこ右に行くんだけど
もちろんVBでも一見して見えないだけでNamespaceが宣言されてるのはわかってるんだが、インデント減らす方法ないかな

namespace Unko {

class Unker {

}

}

package文が欲しい

73デフォルトの名無しさん (ワッチョイ a76e-wcPB)2017/07/25(火) 23:29:59.95ID:+Z9uPEav0
初心者スレで標準スタイルを破ることを推奨するわけにはいかないだろ
郷に入れば郷に従えとしか

>>71
VGAやプリントアウトして机上デバッグする時代じゃないんだから意味ないよw

違和感を感じているのならそんなのすぐ慣れる。
恐らく1週間かからない

75デフォルトの名無しさん (ワッチョイ 4769-I4wg)2017/07/26(水) 10:02:54.88ID:0pf2o/yC0
TextFieldParserで思うんだけど
俺が不満なのは連続改行が処理されないことだけだったのに
このクラスは使えない認定せざるを得なかった
クラスの汎用性なんて幻想だよな
じゃ、仮にTextFieldParserの動作を今から変更ってきっとできないんだよな
少なくともそれを待っているよりはCsvHelperを使ったコードに変更したほうが話が早い
クラスなんて所詮こんなもんだよな

76デフォルトの名無しさん (ワッチョイ a311-RAOX)2017/07/27(木) 07:28:39.66ID:I7X5vmO00
ゲーム制作するためにc#を勉強しています。
確かな力が身につく「超」入門 シリーズのc#版が発売されたのですが、読まれた方はいませんか?
または他にプログラム初心者にオススメのc#の本などがあれば教えていただけますか?

少し古いがCLR via C#ってのがいいよ
細かいところまで嘘や誤魔化しをしないでしっかり書いてくれてる
いい入門書は初心者を煙に巻くような誤魔化しが少ない
俺はこれで入門した

>>77
ありがとうございます!
色々と調べているんですが、評価もまちまちなので迷っていました。探してみます。

クラスとオブジェクトについてですが、クラス(雛形)に対して実体化されたものがオブジェクト(実態)と考えていいんですよね?

例えばRPGなんかでいうと

敵クラス
HP(変数)
攻撃力(変数)
HPがある数値を下回ると逃げる(関数)

スライム(敵オブジェクト)
HP 5 (メンバ変数)
攻撃力 3(メンバ変数)
HPが2以下になると逃げる(メンバ関数)

といった感じの理解で良いのでしょうか?また本によってはオブジェクトとインスタンスの説明が似ているので、違いがよくわかっていません。

80デフォルトの名無しさん (ワッチョイ 7e4b-l5iw)2017/07/27(木) 11:47:24.54ID:/bT0ZqW70
スライムクラスが敵クラスを継承していて
個々のスライムがスライムクラスのインスタンスという認識

81デフォルトの名無しさん (ワッチョイ db6f-V1Wy)2017/07/27(木) 11:50:59.30ID:2ra8985e0
オブジェクトはオブジェクト指向にかぎらず広い定義での「物 (変数に入れたり、引数で渡したりできる)」
でオブジェクト指向が出てきて、クラスを実体化したものがインスタンス

言い換えると、クラス(設計書)をインスタンス化(オブジェクトとして実体化)したものがインスタンスって感じでいいんじゃないかな

クラスもオブジェクトのひとつ

83デフォルトの名無しさん (ワキゲー MMa2-lmxC)2017/07/27(木) 12:01:13.40ID:eK9+M30XM
ざっくりとした俺のイメージ

家の設計図がオブジェクト
家そのものがインスタンス

84デフォルトの名無しさん (ワッチョイ a311-5K3Y)2017/07/27(木) 12:05:17.06ID:dUeJpjKg0
クラスと構造体をひっくるめた総称がオブジェクト
オブジェクトを実体化した物がインスタンス

凄い!短時間でこれだけ回答をいただきありがとうございます。
オブジェクトは設計図とか概念って考えた方がいいんでしょうか?
となるとさっきの敵クラスを継承したスライムクラスはオブジェクトというよりインスタンス?

C#では単体で概念的なオブジェクトの話はほとんど出てこない

大体object型というすべてのクラスの元になる型の話

87デフォルトの名無しさん (ワッチョイ f3c0-ZO1u)2017/07/27(木) 12:15:51.83ID:hUN6vPrn0
オブジェクトって単語は使わないほうがC#を理解し易いと思う

88デフォルトの名無しさん (ワッチョイ a311-5K3Y)2017/07/27(木) 12:17:23.86ID:dUeJpjKg0
>敵クラスを継承したスライムクラスはオブジェクトというよりインスタンス?

class 派生クラス : 基底クラス{} // これはオブジェクト(クラス)

派生クラス 変数名 = new 派生クラス // これがインスタンス

敵 (クラス)

↓継承

スライム (クラス)

↓インスタンス化

スライムA,スライムB,スライムC (インスタンス)

今は気にしなくてもいいけど
C#での話と一般的なオブジェクト指向とでは話がまた違う

C#のクラスも構造体も一般的なオブジェクト指向じゃクラスでひとくくり

敵クラスもスライムも攻撃パターンもオブジェクトとして考えるみたいな感じがオブジェクト指向ですよね?(ざっくり)

c#はオブジェクト指向に基づいて作られているけど、オブジェクトという概念自体はあまり考えずともプログラムは組める、という考えでいいのでしょうか?

92デフォルトの名無しさん (ワッチョイ a311-5K3Y)2017/07/27(木) 12:27:22.18ID:dUeJpjKg0
>攻撃パターン
そこはメンバ関数じゃないかな

>オブジェクトという概念自体はあまり考えずともプログラムは組める、という考えでいいのでしょうか?
それでいいよ
正しいオブジェクト指向とは〜とか覚えなくていい 学者や思想家になるんでもなければ
覚えるべきなのは、C#での適切なコーディング

93デフォルトの名無しさん (ワッチョイ a311-5K3Y)2017/07/27(木) 12:28:34.69ID:dUeJpjKg0
つか、C#ってマルチパラダイム言語なので
純粋で完全なオブジェクト指向を適用しようとすると、かえって面倒な事になりかねないしな

>>92
攻撃パターンもオブジェクトでいいよ

ある本によると、
クラスを実体化したものをオブジェクトといい、実体化することをインスタンス化する、またはオブジェクトを生成する、などといいます。クラスはオブジェクトになってから初めて利用できるのです。

と書かれているのですが、実際にはクラスもオブジェクト指向で考えるとオブジェクトの一つだけれど、そこまで考えるとややこしいから無視してていいよ、って感じですかね?

つまり

敵クラス(雛形クラス)
HP(変数)
攻撃力(変数)
HPがある数値を下回ると逃げる(関数)

スライムクラス(継承クラス)
HP 5 (メンバ変数)
攻撃力 3(メンバ変数)
HPが2以下になると逃げる(メンバ関数)

インスタンス化

スライムA、スライムB、スライムC・・・


でも言ってしまえば、これら全てオブジェクト。

という理解でよろしいでしょうか?

97デフォルトの名無しさん (ワッチョイ ca80-OE5G)2017/07/27(木) 12:50:15.14ID:h/+lquUO0
>>96
インスタンス化したもの(メモリに割り当てられた)がそう。
君がいうようにスライムA,スライムB…がオブジェクトでおk

またオレオレ定義でグダグダになっとる w
イメージなら>>83がまあまともだと思うわ

99デフォルトの名無しさん (ワキゲー MMa2-1i8l)2017/07/27(木) 13:12:19.93ID:xd52THukM
オブジェクトって言葉はふわふわしがちな印象だから
実際のプログラム言語ベースで考える場合とかは使わないほうが安全
C#ならクラス(構造体含む)とインスタンスで事足りる

100デフォルトの名無しさん (ワッチョイ da91-V1Wy)2017/07/27(木) 13:33:43.77ID:NOEMiJHP0
C#(VB.NET)の継承は、なんちゃってだからなぁ

101デフォルトの名無しさん (ワッチョイ ca19-ZO1u)2017/07/27(木) 14:15:37.95ID:CNHQ1SOW0
ぶっちゃけ

継承とかして実装するから
可読性が悪くなって保守コストがかかる事分からんのかねぇ

102デフォルトの名無しさん (ワッチョイ af69-t8sh)2017/07/27(木) 14:19:50.11ID:XtIOKCvm0
リアルタイムゲームはすべてのパラメータをリアルタイムでエクセルで閲覧できるような構造で作らないとデバッグ間に合わない
縦軸インスタンス、横軸パラメータで
バグったら前後のデータを自動出力

オブジェクト指向(ツリー構造的な意味で)は合わないと思う

>>96
オブジェクトとは何か、みたいな哲学的疑問(笑)が気になるのは
よく分かるけど、そういうのは後回しで十分だし後回しにした方がいいと思うよw
たぶん、不毛なだけw

初心者は具体的なコード例を見て、どういうコードがどう機能するか、
何が実現できるのか、そういうところに集中した方がいいと思う

104デフォルトの名無しさん (ワッチョイ a311-eyki)2017/07/27(木) 17:13:14.27ID:Rm6foVYz0
>>98
いやこういう例え方って初心者にとっては一番ふわふわしてて分からないと思うんだけど

105デフォルトの名無しさん (ワキゲー MMa2-lmxC)2017/07/27(木) 17:30:52.71ID:eK9+M30XM
>>104
ごめんね

>>104
そう?
たいていの人は設計図とか家自体はイメージできるしそのイメージとそんなに解離してないと思うけどな

オブジェクトはともかく、インスタンスなんて変な例えや哲学的な話じゃなくて、
もっと現実のコード寄りに「newすると作られて使えるようになる何か」
ぐらいにに理解した方がいいよw

しつこいけど、初心者にとって重要なのは「インスタンスって何?」みたいな意味論じゃなくて
インスタンスを作るコードをどう書くか、どう記述したらインスタンスのメンバーにアクセスできるか、
っていう機能主義的な具体論

new = メモリ確保して初期化する
でいいんだよ
くだらねえ例え話はいらん

109デフォルトの名無しさん (ワキゲー MMa2-lmxC)2017/07/27(木) 20:46:55.30ID:eK9+M30XM
>>107
それは強く同意だな
俺としてはオブジェクトとかインスタンスとかの言葉すら知らなくていいとも思ってる

newしたらなんか動いた!すげー!
くらいの軽い感覚が理想

110デフォルトの名無しさん (ワッチョイ a311-RAOX)2017/07/27(木) 22:08:18.79ID:I7X5vmO00
みなさんありがとうございます。>>96です。

皆さんがおっしゃるように、とにかくオブジェクトが云々と考えるより構文をたくさん打って感覚で覚えていくのが一番の近道なのかもしれません。

でも皆さんの話を聞いて少し頭の中が晴れてきました。
ありがとうございました。

111デフォルトの名無しさん (ブーイモ MM17-goPp)2017/07/27(木) 22:12:49.28ID:h5VgGO8jM
オブジェクト指向って本来はモジュール設計のベストプラクティスに現実世界のアナロジーをこじつけたものだから、
高尚な理論なんか無視して単なるモジュール化の一手法として導入すべきなんだよな
C言語を使っていれば自然とlist_add(&list, item)のようなパターンに行き着いて、
そこからのオブジェクト指向への発展はきわめて自然なもの

112デフォルトの名無しさん (ワッチョイ 0fe4-Tef8)2017/07/27(木) 22:30:42.28ID:aAe8+IMH0
>>95
とりあえずその本のタイトルと筆者をさらせ

オブジェクト指向ってのもいくつかの流派があるから、一概には言えないが
C#ベースで説明してるならその本は焼き捨てた方が良い

113デフォルトの名無しさん (ワッチョイ 0fe4-Tef8)2017/07/27(木) 22:36:39.83ID:aAe8+IMH0
>>83,98
その例えならクラスは何よ?
その答え見ないとまともかどうかは何とも言えん

それがC#での一般的な用法になじむかどうかは別だがな

>>112
誰に向かって何を威張ってるのか知らんけど、>>95にあるような記述は
初心者向けのざっくりとした説明としてはまあ妥当なもの。

最初から重箱の隅つつく勢いで厳密に矛盾がないように書いたら初心者は理解できないよ。
ばっかじゃないの

115デフォルトの名無しさん (ワッチョイ aac4-58MB)2017/07/27(木) 23:04:02.99ID:MLlkqyWN0
ここまで液晶に価値なし

116デフォルトの名無しさん (ワッチョイ a311-RAOX)2017/07/27(木) 23:16:14.24ID:I7X5vmO00
私が参考にしたのは「c#の絵本」という本です。
立ち読みした本の中で一番わかりやすく感じたので買いました。

http://i.imgur.com/nAKj1Ds.jpg
http://i.imgur.com/y3u7rfK.jpg

117デフォルトの名無しさん (ワッチョイ bedb-iPV5)2017/07/27(木) 23:20:12.49ID:OcfywRta0
classって、共通の性質や特徴を有するものの分類とかいう意味みたい。
オブジェクト指向の言語は、大体がobjectを基本として、そこから色んな性質に分けていったものをクラスにして「名前をつけて」あげる。
オブジェクト指向でいうクラスは「分類整理のやり方、結果」と言えるんじゃないかな。

動物とか車とかに例えたりする説明の仕方もありだと思う。けど、分類整理のやり方という文脈がないと、継承とか派生、つまり上下・並列の概念が分かりにくくなったりしないかな。
いま目の前にライオンが2匹いたとして、同じライオンとして分類していいのか、タテガミの長さが分類のポイントなのかとか、片方は外敵から身を守るために火を噴くとか。ペンギンと比べてどの程度同じ分類が出来て、どの程度違いがあるのかとか。

まとめると、モノでも生き物でも何かしらの特徴とか性質を持っていて、特徴で分けたのがクラス。
オブジェクト指向とは指向、言い換えると、方向性としてはモノを「最小の単位」として扱うことを表している。元素や光といった、もっと根本的な最小になる要素もあるけど、そのレベルで扱おうとすると色々細かすぎたり、人が理解しにくいから。

かな?俺もよく分からなくなってきた。
個人的には日本に来るとき訳する際に、継承とかいう普段使い慣れない概念語じゃなく、「環境適応」とか「マイナーチェンジ」とかがよかったのかなと勝手に思ってる。

118デフォルトの名無しさん (ワッチョイ a311-5K3Y)2017/07/27(木) 23:32:44.71ID:dUeJpjKg0
>>117
後半に行くに連れて、段々変になっていってるぞ

最も重要な点は、
「データ(プロパティ)」と「振る舞い(メソッド)」を1つにパッケージする事だろう
一々現実世界の物体に例えて説明する必要は無い

119デフォルトの名無しさん (ワッチョイ db6f-V1Wy)2017/07/27(木) 23:45:51.22ID:2ra8985e0
stackoverflowでも回答者によってマチマチだし
考えたら負けな気がしてきた

120デフォルトの名無しさん (ワッチョイ bedb-iPV5)2017/07/27(木) 23:52:55.67ID:OcfywRta0
>>118
データと振る舞い、そこが理解できたらパッと先が開ける感あるんだけど、灯台元暗し的に回り道しちゃうよね。

質問者の人には、その疑問は忘れず、さりとて目の前の事をこなしてみて、たまーにまた疑問に立ち返って欲しいなあ。試行錯誤してるある瞬間に、パッと思い出してすんなり受け入れられる時が来ると思う。

オブジェクト指向だとかなんだとか、結局はどっかのオッチャンインスタンスが考えたものだろうし、完全な答えはないんだろうなぁ。

厳密な定義も元からないし実装によって変わるし
そもそもクラスベースじゃないものまである
設計段階と実装段階でも別のことがある
ひとくくりに語るのは難しい

でも意思の疎通はかなりできてしまうという曲者

哲学的な話は初心者には意味ないって自分で書いておいてあれだけど、
あえてそういう話をすれば、オブジェクトっていうのは「〜であるかのように振舞う仮想機械」
だと考えるのが一番いいと思うよ。

従来の構造体+関数より分かりやすく仮想機械を記述するための仕組みがクラス。
仮想機械の組み合わせでプログラムを作りましょう、っていうのが(もっとも素朴な)オブジェクト指向

123デフォルトの名無しさん (ワッチョイ af69-t8sh)2017/07/28(金) 00:42:55.93ID:y+yGDebS0
っていうかオブジェクト指向自体いらねぇ

124デフォルトの名無しさん (ワキゲー MMa2-lmxC)2017/07/28(金) 06:24:23.12ID:Jgtd2W1RM
>>113
あれは「オブジェクトとインスタンスの関係性」をハイパーざっくり示すだけでほかに流用できるほど高尚な例えじゃないよ
ごめんね

>>117
> classって、共通の性質や特徴を有するものの分類とかいう意味みたい。
IT系(に限らんのかも知らんが)の用語は結構元の意味と違う使い方されてるから気を付けた方がいいよ
例えばネットワークカードでパケットキャプチャするためにPromiscuousモードって言うのがあるんだがあるときふとどういう意味だろう?って辞書引いて笑たし
https://dictionary.goo.ne.jp/ej/67118/meaning/m0u/

126遊園地 ◆OM5/jtEIXw (ワッチョイ be96-ywSo)2017/07/28(金) 10:18:52.22ID:asrj9iFF0
引っ越して来ました。
いろいろ、よろしくお願いします。 ┌(_Д_┌ )┐

127デフォルトの名無しさん (アークセー Sxb3-RAOX)2017/07/28(金) 10:27:48.91ID:dynW8EUsx
皆さん、float、double、intの使い分けはどうされてますか?例えばドラクエのようなRPGでせいぜい4桁程度の整数しか使わない場合でしたら、intを使っておけば間違いはありませんか?

128遊園地 (ワッチョイ be96-ywSo)2017/07/28(金) 10:42:44.33ID:asrj9iFF0
初心者として記載

基本的にintでも良いと思う。けど、 true(1) false(0)で詳細分けする時に便利
http://ideone.com/7joXzQ

129遊園地 (ワッチョイ be96-ywSo)2017/07/28(金) 10:59:03.19ID:asrj9iFF0
bool a = true;
bool b = false;

bool c = null; // error CS0037: Null 非許容の値型であるため、Null を 'bool' に変換できません
bool d = 0; // error CS0029: 型 'int' を 'bool' に暗黙的に変換できません

130デフォルトの名無しさん (ブーイモ MM17-goPp)2017/07/28(金) 11:22:46.32ID:epWJgUcsM
>>127
普通に整数が使いたければint
アニメーションなどで込み入った計算をするときは無理に整数でやるよりdoubleの方が職人芸がいらなくて楽floatは精度の低さが問題になりやすいから描画などの最終的な出力以外には使わない方がいい

131デフォルトの名無しさん (ワッチョイ 3732-gqPh)2017/07/28(金) 20:00:02.99ID:pQs+fj960
>>127
とりあえず、整数ならint、小数点以下が必要ならdoubleを使っておけば良い。
floatを使うメリットはあまり無い。

decimalじゃだめなのん?

133デフォルトの名無しさん (アウーイモ MM9f-MVxL)2017/07/28(金) 20:15:41.50ID:wfFGjuoDM
decimalは必要ない時は極力使わない。

134デフォルトの名無しさん (ブーイモ MM8a-FCNm)2017/07/28(金) 20:40:55.30ID:id99yFTOM
こんなときこそvarだろwww

135デフォルトの名無しさん (スププ Sd8a-OE5G)2017/07/28(金) 20:44:23.47ID:X/Koq0Svd
varはアタイのカレシだから
ホットイテネ

136デフォルトの名無しさん (アウアウカー Safb-yXEd)2017/07/29(土) 00:13:16.03ID:2gt99MhJa
doubleの演算って結構誤差でない?

137デフォルトの名無しさん (ワッチョイ 7b6e-goPp)2017/07/29(土) 00:29:15.87ID:1IyGodP30
情報落ちを起こしてるんじゃないか?
浮動小数点数は大量の値を前から順に加算したりしたらダメだよ

>>136
誤差を累積させるような演算をしてるからだろうねえ。
誤差の性質を理解して累積しないようなコードを書かなきゃだめでしょう

139デフォルトの名無しさん (ワッチョイ 7b79-igvW)2017/07/29(土) 06:35:15.67ID:2ltffe2l0
要求される精度にもよる
double /frortは2進数表現だから表現できない小数がある
dicimal は10進数表現

140デフォルトの名無しさん (ワッチョイ 7b79-igvW)2017/07/29(土) 06:36:38.66ID:2ltffe2l0
×dicimal
○decimal

>>140
その前に直すところあるだろ...

>>139
デジャビューだけど、こういう寝言を書く人は誤差の問題の初歩の初歩も理解してない

143デフォルトの名無しさん (ワッチョイ 738e-OE5G)2017/07/29(土) 11:19:08.43ID:Qn9Ku8Gw0
>>142
おまえもだよ

144デフォルトの名無しさん (ブーイモ MM17-goPp)2017/07/29(土) 12:26:02.64ID:VZ2r/0rxM
double/frort(笑)の表現が2進数だからdicimal(笑)と違って誤差が…みたいな話をする奴は本質を理解してないよな
実数型は常に連続な近似値として扱うべきで、最終的には要求される精度に応じて必ず丸めて使うんだよ
decimalとは扱う問題の性質が違う

145デフォルトの名無しさん (ワッチョイ 7e4b-l5iw)2017/07/29(土) 14:51:29.49ID:BX2/zm3r0
任意の範囲(C#に組み込まれてないようなのも含めて)の整数型を総称してintegerと呼ぶなら
double/frortはinteger / 2^integerでdicimalはinteger / 10^integerなのじゃ

誰かに突っ込まれるまでボケ続けるつもりかなw
frortってどういう発音なんだろw

147デフォルトの名無しさん (ワッチョイ 738e-OE5G)2017/07/29(土) 18:33:12.08ID:Qn9Ku8Gw0
frortはfrort型だろ

読み方はfrortって読むんだ

148デフォルトの名無しさん (ワッチョイ a311-5K3Y)2017/07/29(土) 18:35:29.45ID:H4b4Ug9O0
>>145は分かっててやってんだろw

149デフォルトの名無しさん (ワッチョイ 6a11-gqKx)2017/07/29(土) 19:48:17.74ID:zJVnUUbX0
わかってやるほどのネタとは思えないけどな

150デフォルトの名無しさん (ワッチョイ 0f4b-Liv4)2017/07/29(土) 21:29:22.88ID:KUGfTbWw0
decimal の、なかみは、いんと

151デフォルトの名無しさん (ワッチョイ 7be6-FCNm)2017/07/29(土) 21:54:03.03ID:AM/Q5FkU0
だからよ、var使えば済むっしょ!

152デフォルトの名無しさん (ワッチョイ 3732-gqPh)2017/07/29(土) 22:02:40.05ID:WMSNsXaM0
しつこい

153デフォルトの名無しさん (ワッチョイ af69-t8sh)2017/07/29(土) 22:23:19.76ID:K+Yuy2zX0
varint作るわwww

154デフォルトの名無しさん (スップ Sd8a-Yg5s)2017/07/30(日) 01:11:39.61ID:D1mwD1EJd
>>116みたいな人もおるんやし
ちょまどさんもそろそろ本書いてみたらどないやろ?
真奈たその後釜じゅうぶん狙えるんちゃう?

155デフォルトの名無しさん (スップ Sd8a-Yg5s)2017/07/30(日) 01:15:46.07ID:D1mwD1EJd
>>134
そういのがいるからC♯たんが馬鹿言語扱いされちゃう

156デフォルトの名無しさん (ワキゲー MMa2-lmxC)2017/07/30(日) 08:26:12.42ID:J6wXHp7uM
>>151
ちゃんと設計したら?

>>153
なにその便利そうな型は w

158デフォルトの名無しさん (ワッチョイ af69-t8sh)2017/07/30(日) 14:48:33.51ID:/FPaeL7f0
>>157
intっぽい型を自動判別
string,double,date,boolの値が入ってきたらアウト
decimal,char,int,byteはセーフ

159デフォルトの名無しさん (ワッチョイ 7b7f-V1Wy)2017/07/30(日) 15:04:18.95ID:IhAKIxVt0
variant型かと思ってた。

160デフォルトの名無しさん (ワッチョイ af69-t8sh)2017/07/30(日) 15:06:27.30ID:/FPaeL7f0
>>159
そんなvb坊みたいな期待してたら減点

161デフォルトの名無しさん (アウーイモ MM9f-MVxL)2017/07/30(日) 15:06:34.85ID:bPp21s/fM
でもさ、ソモソモなんで型分けてるかと言うと
消費する容量が違うからじゃないの?

バリアント型って結構デカイとかないの?
例えばbyteで済むならbyteの方がよくね?

162デフォルトの名無しさん (ワッチョイ af69-t8sh)2017/07/30(日) 15:11:52.74ID:/FPaeL7f0
>>161
違うよ
型ってのはあくまで気分なんだよ
厳密に定義したらわかりやすいし
でも厳密にし過ぎると使いにくい

マシンみたいなPGにはこんなもん必要ない
メモリ上にはアドレスと実際の値
それしかない
そこになんのデータを入れてるかなんて知ったこっちゃない

何言ってるのか意味不明だね

164デフォルトの名無しさん (ワッチョイ af69-t8sh)2017/07/30(日) 15:18:29.06ID:/FPaeL7f0
>>163
まあ、c言語とかアセンブラやんないとわかんないと思う

165(スププ Sd8a-BRPM)2017/07/30(日) 15:42:06.12ID:P5Qwr2jWd
気分だな。unionとか使い出すともう本当どう扱いたいかの気分でしかない。
浮動小数点と巨大整数と、それらのテンソルの型作ったことあるけど、SIMD的な命令として流し込むためにバラバラにしたりしやすいように都合よく書いてた覚えがある。

166デフォルトの名無しさん (ワッチョイ a311-5K3Y)2017/07/30(日) 16:04:34.61ID:ZiKC4drW0
>>161
C#に限った話なら
byteはSystem.Byte構造体のエイリアスだし、
intはSystem.Int構造体のエイリアスだから
当然、消費するメモリ容量に差は出るが

大昔ならいざ知らず、現代のマシン環境において
そこまでメモリ容量を切り詰めて考えなきゃならん場面なんざ、そうそうねえよ
メモリを節約したきゃ、変数のスコープや生存期間を見直した方がいい

167デフォルトの名無しさん (ワッチョイ af69-t8sh)2017/07/30(日) 16:15:05.92ID:/FPaeL7f0
型を厳密にしたいかどうかだな
仕事で設計書書いて実装してるときは
varとか邪魔だし

168デフォルトの名無しさん (ブーイモ MMd6-goPp)2017/07/30(日) 16:39:12.40ID:9HwmeiiRM
CLRの型はVMレベルで実装されていて、気分で扱えるのはbittableな値型だけだよ
それ以外はメタデータを含んでてアホなことするとAccessViolationException

169デフォルトの名無しさん (ワッチョイ 6a91-V1Wy)2017/07/30(日) 17:56:10.49ID:QVOgnQhb0
C#はどこもかしこもvar推奨だぞ
数値計算以外はvarでええやろ

170デフォルトの名無しさん (ワッチョイ a311-srAL)2017/07/30(日) 18:15:04.88ID:reLfmDHf0
今まで型厳密に書いてたけど、var推奨だったのか・・・

171デフォルトの名無しさん (ワッチョイ af69-t8sh)2017/07/30(日) 18:19:11.77ID:/FPaeL7f0
>>169
さすがにvar推奨は見たことないな
禁止は結構見る

推奨してるかしらんけど
varの方が見やすい

173デフォルトの名無しさん (ワキゲー MMa2-lmxC)2017/07/30(日) 18:20:22.83ID:J6wXHp7uM
右辺を見て明確な場合はな
全体を見渡す力のない俺は使うとしてもローカル変数までにしとかなきゃ死ぬ

174デフォルトの名無しさん (ワッチョイ af69-t8sh)2017/07/30(日) 18:20:43.69ID:/FPaeL7f0
>>172
var unk = GetUnko();
の型を追跡するの面倒じゃね?

175デフォルトの名無しさん (ワッチョイ af69-t8sh)2017/07/30(日) 18:22:58.28ID:/FPaeL7f0
印刷はあんまりしないけどブロックで取り出したときにIDEが無いと読めないんだよね

176デフォルトの名無しさん (ワッチョイ a311-5K3Y)2017/07/30(日) 18:24:40.67ID:ZiKC4drW0
パッと見で型が明確な場合は、varで問題無いと思ってる
varで訳が分からなくなるなら、メソッドを肥大化させ過ぎという意見も理解は出来る

しかし、それはそれとして
型名をきちんと書くのが手癖として身に付いてしまってるのだ

177デフォルトの名無しさん (ワッチョイ 5f4b-V1Wy)2017/07/30(日) 18:26:42.51ID:DlHK/Glf0
>>174
GetUnko()がUnko型を返さないのならそれは命名がおかしくね?

178デフォルトの名無しさん (ワッチョイ af69-t8sh)2017/07/30(日) 18:29:34.45ID:/FPaeL7f0
>>177
インターフェースってそういうもんだってさ

型が目に見えたら何かメリットあるの?
全ての型のAPIと振る舞いを覚えてるならともかく普通覚えてないよね
public UnkoNagashi() {
Unko unko = unkodb.GetUnko();
unko.Nagasu();
unkodb.SaveUnko(unko);
}
というコードをみてなるほどunkoはUnko型なのかとわかる
でもUnko型がNagasu()以外に何をできるかは僕は知らない
そしてこの文脈ではNagasu()以外の振る舞いを知る必要もない
だったらそれって型名を書く意味あるの?
unkoがNagasu()できる事だけ知ってればいいよね
それはコードがコンパイルできる事から自明でしょ

180デフォルトの名無しさん (ワッチョイ be61-ZO1u)2017/07/30(日) 18:58:07.04ID:xsWXBNij0
ここ初心者の質問スレなんだよ
質問でなく議論したいなら
ふらっと C#,C♯,C#(議論用)
http://mevius.2ch.net/test/read.cgi/tech/1469538912/
でやれよ

181デフォルトの名無しさん (ワッチョイ af69-t8sh)2017/07/30(日) 18:58:57.54ID:/FPaeL7f0
unk.FermentationShit();

182デフォルトの名無しさん (アウアウカー Safb-yXEd)2017/07/30(日) 19:06:43.78ID:/Qu7y73ua
>>174
デジャブかな?
もう何回みたことか。。つーか毎回言われてると思うけどカーソルあてるのそんな面倒か?

183デフォルトの名無しさん (ワッチョイ 6a91-V1Wy)2017/07/30(日) 20:39:56.83ID:QVOgnQhb0
>>171
MSのオープンソースプロジェクトは殆どvar推奨だぞ
どんなときも使える限りvar使えって言ってる

https://github.com/dotnet/roslyn/blob/master/.editorconfig

184デフォルトの名無しさん (スッップ Sd8a-Lvg/)2017/07/30(日) 20:46:54.11ID:dej2VYm/d
>>171
いつの時代の話だよwww

185デフォルトの名無しさん (ワッチョイ 6a11-gqKx)2017/07/30(日) 21:37:31.57ID:ynobldaf0
var に拒否反応示してるのは老害だけだろ
自動的に型名に置き換えてくれるだけなのにな

>>171
var禁止なんて見たことがないから参考までに教えてほしい

187デフォルトの名無しさん (ワッチョイ a311-Lvg/)2017/07/30(日) 22:07:36.28ID:hMQywZRx0
>>186
わざとvarってクラスを作って型推論を阻止するやつらがいるとかなんとか

188デフォルトの名無しさん (ワキゲー MMa2-lmxC)2017/07/30(日) 22:16:53.75ID:J6wXHp7uM
>>185
ホントに害なの?

189デフォルトの名無しさん (ワッチョイ af69-t8sh)2017/07/30(日) 22:22:32.05ID:/FPaeL7f0
>>182
1000行あるうち300行そんなのがあったら300回当て無いといけないんだぜ

190デフォルトの名無しさん (ワキゲー MMa2-lmxC)2017/07/30(日) 22:35:12.83ID:J6wXHp7uM
>>189
1000行ものメソッドを作る時点で設計を見直そう

191デフォルトの名無しさん (ワッチョイ eae7-DHU9)2017/07/30(日) 22:40:01.38ID:Pvq5DEUn0
>>189
1/3が変数宣言って前提に無理があるのでは?

192デフォルトの名無しさん (ワッチョイ a311-Lvg/)2017/07/30(日) 22:42:42.77ID:hMQywZRx0
>>189
当てなきゃわかんないようなやつがそんなにある時点でクソ

193デフォルトの名無しさん (ワッチョイ af69-t8sh)2017/07/30(日) 22:43:59.63ID:/FPaeL7f0
>>190
トータルとはいってない

194デフォルトの名無しさん (ワッチョイ af69-t8sh)2017/07/30(日) 22:47:13.08ID:/FPaeL7f0
>>191
結構あるぜ
でもここで考えて欲しいのは
そもそもvarなんて使わなければ当てる必要などないということ
当てなければ読めないソースと
当てなくても読めるソースのちがいしかない

195デフォルトの名無しさん (ワキゲー MMa2-lmxC)2017/07/30(日) 22:47:50.56ID:J6wXHp7uM
>>193
や、だからメソッド単体で1000行だったら何かしら設計あぶないっての

196デフォルトの名無しさん (ワッチョイ eae7-DHU9)2017/07/30(日) 22:53:22.17ID:Pvq5DEUn0
自分はなんでもvarは使わない派
右辺見ればわかるときだけ使うからマウスカーソル当てる必要もない

var list = new List<int>();
こういうのも気に入らないの?

>>194
その前に考えるべきことは
型を読めないと全体が読めないメソッドなど書くべきではないということ
そもそも型を読まなくてもいいならvarを使わない理由を考える必要などない

198デフォルトの名無しさん (ワッチョイ db6f-V1Wy)2017/07/30(日) 22:57:08.87ID:uiXc0u2O0
プリミティブ型以外は全部varだわ

199デフォルトの名無しさん (ワッチョイ af69-t8sh)2017/07/30(日) 22:57:14.29ID:/FPaeL7f0
>>195
メソッド1個しか読まねーわけじゃねーじゃん
じゃあ30万行のコードのプロジェクトがあって1万行もvarがあったら
1万回もマウスの素振りすんだぞオメー

単純に害にしかならないと思う
varを本来の型に1発変換できるリファクタリングができればえーけどね

200デフォルトの名無しさん (ワッチョイ a311-Lvg/)2017/07/30(日) 23:01:58.42ID:hMQywZRx0
>>199
しねーよアホ
当てなきゃわかんない書き方がクソなんだよ

201デフォルトの名無しさん (ワッチョイ af69-t8sh)2017/07/30(日) 23:04:19.66ID:/FPaeL7f0
>>200
それをアホにわかるように説明するのが難しい
なので一律でvar禁止が楽

これを禁止で困る奴がこの世にいない

var禁止はめちゃ困るわ
いちいち書かなくてもいい型を書いてたら手が疲れるじゃん
単純に文字数が多いだけでも読みにくくなるし最悪

203デフォルトの名無しさん (ワッチョイ 6a91-V1Wy)2017/07/30(日) 23:16:40.71ID:QVOgnQhb0
C#2.0で止まってる老害結構いるやろ
LINQ禁止すらあるんやろ

204デフォルトの名無しさん (ワッチョイ a311-Lvg/)2017/07/30(日) 23:18:15.40ID:hMQywZRx0
>>201
Microsoftのコーディング規則に違反するってツッコミには何も反応せずにオレオレ理論かよ

205デフォルトの名無しさん (ワキゲー MMa2-lmxC)2017/07/30(日) 23:18:42.38ID:X0A6ZRSXM
>>201
俺は型を明示するタイプだがvarを否定はしない
限られた区域内で扱われる分にはとても効果的だと思ってる

206デフォルトの名無しさん (ワッチョイ a311-5K3Y)2017/07/30(日) 23:19:44.46ID:ZiKC4drW0
>>205
大体の人はそんなもんだよね

またアルルハイマーどものが繰り言言い合ってるのか。

繰り言を楽しく感じる奴は比喩じゃなく本当に病気だからマジでまずは精神科で
診てもらった方がいいよ。これ本当にそう思う。
重症化してからではもう遅い。

208デフォルトの名無しさん (ワッチョイ af69-t8sh)2017/07/30(日) 23:22:49.91ID:/FPaeL7f0
>>204
誰が言ったかを強調するやつとまともに話をする気はない
それにMSなんて後5年持たない
どうでもいい

209デフォルトの名無しさん (スップ Sd2a-Lvg/)2017/07/30(日) 23:24:28.64ID:5An4udmXd
>>208
5年もたないワロタwwwお前なんでこんなところいるんだよwww

210デフォルトの名無しさん (ブーイモ MM17-goPp)2017/07/30(日) 23:25:50.29ID:brVl3K5IM
>>208
MSが死んだらC#も確実に消滅するんだからその仮定は意味を持たない

211デフォルトの名無しさん (ワッチョイ a311-Lvg/)2017/07/30(日) 23:26:14.44ID:hMQywZRx0
>>208
C#はMSの技術だろカス(標準化されてるけど)
お前がMSのことをどう思っていようがC#を使う以上無視はできねーよ

212デフォルトの名無しさん (ワッチョイ 5f4b-V1Wy)2017/07/30(日) 23:27:37.46ID:DlHK/Glf0
荒らしは無視しとけ

213デフォルトの名無しさん (ワッチョイ 6a91-V1Wy)2017/07/30(日) 23:29:59.21ID:QVOgnQhb0
MSがオワコン=C#オワコンなんだよなぁ

214デフォルトの名無しさん (ワッチョイ aac4-58MB)2017/07/30(日) 23:32:35.03ID:6NpzZP8L0
なんか発狂してるな
逆鱗に触ったの誰だよ
爆弾抱えて心中しろ

varが問題になる局面ってなかなか出てこない

このスレ時々タイムスリップしたのかと思う時があるな
オープン化してるし万に一つマイクロソフトが死んでもC#は残るよ
マイクロソフトが死んでもメンテナは死なん

217デフォルトの名無しさん (ワッチョイ a311-5K3Y)2017/07/30(日) 23:37:42.31ID:ZiKC4drW0
C#という言語仕様は残るかも知れんけど
VisualStudioが死んだら、C#も実質的に心中する様なもんだと思う

218デフォルトの名無しさん (ワッチョイ 6a91-V1Wy)2017/07/30(日) 23:37:58.76ID:QVOgnQhb0
開発止まったら言語としては遅れって死ぬだろ
マニア向け言語でいいなら構わんが

219デフォルトの名無しさん (ワッチョイ aa32-7rb8)2017/07/30(日) 23:42:49.87ID:mbPMaYUG0
言語の細かい仕様なんてこだわらないのが吉

>>217
VSCodeもオープンだしジェットブレインもある
C#専門の奴ってWin & VS以外の環境知らなすぎだろ

221デフォルトの名無しさん (ブーイモ MM17-goPp)2017/07/30(日) 23:45:42.69ID:brVl3K5IM
言語なんて結局は大企業のちょっとした判断であっという間に消えるよ
最近だとGoogleがKotlinをAndroidで公式にサポートすると言っただけでScalaコミュニティが一瞬で消滅したな

222デフォルトの名無しさん (ワッチョイ a311-Lvg/)2017/07/30(日) 23:47:17.22ID:hMQywZRx0
>>220
まー仮にVisualStudioとC#が死ぬようなことがあれば、代替となるものが既に広まってるだろうからね

223デフォルトの名無しさん (スプッッ Sd2a-Lvg/)2017/07/30(日) 23:49:24.59ID:C1KCpBV+d
>>221
既存の膨大な資産を活かしたままC#から移行できるものってあるかい?

224デフォルトの名無しさん (ワッチョイ caac-6Zqp)2017/07/30(日) 23:49:32.61ID:bK1p862G0
>>199
リファクタリングのAnalyzer作ればいいじゃん
今はRoslyn使えるんだから簡単に作れるでしょ

225デフォルトの名無しさん (ワキゲー MMa2-lmxC)2017/07/30(日) 23:56:59.50ID:5BNl8sGvM
>>199
スコープって知ってる??

226デフォルトの名無しさん (ワッチョイ 6a91-V1Wy)2017/07/30(日) 23:57:41.82ID:QVOgnQhb0
VSとVSCodeはぜんぜん違うだろ
C#なんてVSのために言語仕様変えるレベルだから

227デフォルトの名無しさん (ワッチョイ 6a91-V1Wy)2017/07/31(月) 00:00:04.10ID:h2jxQj0O0
C#とVSは表裏一体
C#の開発が止まればVSの開発も止まる逆も然り

228デフォルトの名無しさん (ワッチョイ f3c0-ZO1u)2017/07/31(月) 00:01:10.38ID:XvxSzU+d0
>>203
LINQはDB接続時に使うもの、varはvariant型だから禁止な我社環の悪口はやめてもらおうか
コードレビューの相手がそれだからどうにもならんわ

229デフォルトの名無しさん (ワッチョイ 7b6e-goPp)2017/07/31(月) 00:02:59.49ID:VY/jm5nF0
>>228
そんなところでしか仕事できないなら君もその程度だよ

230デフォルトの名無しさん (ワッチョイ bea2-ZO1u)2017/07/31(月) 00:11:11.92ID:wJdn/lI60
2.0のコードレビューはさすがに草
技術者殺し過ぎ

231デフォルトの名無しさん (ワッチョイ 4a5f-OE5G)2017/07/31(月) 00:18:37.03ID:DV1tFwon0
>>208
5年もったら裸で土下座な。

232デフォルトの名無しさん (ワッチョイ 0fcf-7WXr)2017/07/31(月) 00:41:53.98ID:1WKiBOmM0
Youtuberヒカルが月収を明らかに!!おはよう朝日です出演
https://www.youtube.com/watch?v=RLZGrqQnnZc
第1回案件王ランキング!YouTuberで1番稼いでるのは誰だ!
https://www.youtube.com/watch?v=asF2wQ2xhjY&t=61s
ユーチューバーの儲けのカラクリを徹底検証!
https://www.youtube.com/watch?v=FUSb4erJSXE&t=504s
【給料公開】チャンネル登録者4万人突破記念!YouTuberの月収公開!
https://www.youtube.com/watch?v=Y7DAQ0RKilM&t=326s
誰も言わないなら俺がYouTuberのギャラ相場を教えます
https://www.youtube.com/watch?v=E4q-vaQh2EQ&t=118s
YouTuberになりたいのは馬鹿じゃない!YouTuberになる方法
https://www.youtube.com/watch?v=Fr0WXXZRMSQ

最高月収5000万円だとさ。年収じゃなくて「月収」な
おまえらもyoutubeに動画投稿したほうがいい
顔出したくないならラファエルみたいに仮面かぶればいい
手っ取り早く視聴数稼ぐにはシバターみたいな有名ユーチューバーへの物申す系動画がオススメ

アルツハイマーの次はコピペマンか

234デフォルトの名無しさん (ワッチョイ aac4-58MB)2017/07/31(月) 03:35:45.71ID:R/uMHXjN0
次は電波だ

235デフォルトの名無しさん (ワッチョイ eaea-iltr)2017/07/31(月) 10:40:39.13ID:YA8bpliG0
varでいいなら全部varにする派なのでこういう議論は少し新鮮に感じる

236デフォルトの名無しさん (スッップ Sd8a-Lvg/)2017/07/31(月) 11:14:16.15ID:WEBeqjzhd
>>235
Microsoft自身がそうしてるもんな

237デフォルトの名無しさん (ワキゲー MMa2-1i8l)2017/07/31(月) 11:56:10.60ID:86vv5j6EM
すでに3回目ぐらいの話題で毎回全く内容が変わらんので新鮮もクソもない

238デフォルトの名無しさん (スプッッ Sdc3-3hTc)2017/07/31(月) 12:34:38.89ID:l4LMfIaPd
MSもプロジェクトによっては
newみたいな明示的なとき以外var使うなって言ってる
まぁこの辺は好みもあれば運用するプログラマのレベルによるね
底へばかりならルールは厳しくせざるを得ない

239デフォルトの名無しさん (スップ Sd8a-Lvg/)2017/07/31(月) 14:34:54.95ID:Ml/7cMLZd
>>238
あいにくvarを使えないほどの底辺と一緒に仕事をする機会がないのでね

240デフォルトの名無しさん (ブーイモ MMd6-48WN)2017/07/31(月) 15:10:32.64ID:tEgR4ggYM
あいにくvarを乱用するほどの底辺と一緒に仕事をする機会がないのでね

バカって整数の符号とかオーバーフローとかを意識しないバカのこと?

242デフォルトの名無しさん (スップ Sd8a-Lvg/)2017/07/31(月) 15:17:52.03ID:Ml/7cMLZd

243デフォルトの名無しさん (ワッチョイ af69-t8sh)2017/07/31(月) 15:38:05.10ID:Em37aLWP0
varで書けば書くほどクラスの使用箇所がわけわからなくなりそう
IDEのクラスの参照でvarを見つけてくれるんだろか?
やっみりゃいいんだけど

244デフォルトの名無しさん (ワッチョイ da91-V1Wy)2017/07/31(月) 15:45:45.43ID:pHkT1Msv0
>>243
var を使ったことないのが分かっちゃうよ

245デフォルトの名無しさん (ワッチョイ af69-t8sh)2017/07/31(月) 16:15:44.58ID:Em37aLWP0
>>244
で、どうなん?
今、IDE起動するの超面倒臭い

246(スププ Sd8a-BRPM)2017/07/31(月) 18:21:27.34ID:/DHTAviId
>>243
codelens無いの?

247デフォルトの名無しさん (スップ Sd8a-Lvg/)2017/07/31(月) 19:14:39.65ID:Ml/7cMLZd
>>243
またお前か
VisualStudioすら触ったことなかったのかよ

248デフォルトの名無しさん (ワッチョイ da91-V1Wy)2017/07/31(月) 20:01:09.57ID:pHkT1Msv0
たぶんVBの人で、var = Variant 型と思い込んじゃってるんだろうな

>>248
コード書かないタイプのSE多い
varはVBのVariantと同じで型情報が消えるので禁止
スクリプト言語と同じになってしまいます
真顔で言われた時はいったいどうしようかと思ったよ

>>238
> MSもプロジェクトによっては
> newみたいな明示的なとき以外var使うなって言ってる
どこで言ってるんだ?
脳内じゃないならソースよろ

251デフォルトの名無しさん (ワッチョイ a311-5K3Y)2017/07/31(月) 20:17:08.93ID:amyeNTRe0
>varを使うか使わないか
初心者用スレで宗教戦争すんなよお前ら

252デフォルトの名無しさん (ワッチョイ 5f4b-V1Wy)2017/07/31(月) 20:49:24.98ID:zJD0yoJE0
荒らしに触るお前らも同罪

253デフォルトの名無しさん (スップ Sd8a-Lvg/)2017/07/31(月) 21:30:48.83ID:Ml/7cMLZd
>>250
スレ読み返せアホ

254デフォルトの名無しさん (スップ Sd8a-Lvg/)2017/07/31(月) 21:31:39.38ID:Ml/7cMLZd
>>253
安価ミスったwww俺まで頭おかしくなったわ

初心者のみなさんは積極的にvarを使いましょう

MSも使えるときは使えって言ってるしヘルプでもvar使ってる

256デフォルトの名無しさん (ワッチョイ af69-t8sh)2017/07/31(月) 22:46:30.23ID:Em37aLWP0
>>255
文字列検索で引っかからんのは頂けんな

257デフォルトの名無しさん (ワッチョイ 8b3a-58MB)2017/07/31(月) 23:35:56.79ID:3zcgc/j+0
頂かなくて良いから死ね

258デフォルトの名無しさん (ワッチョイ 3732-gqPh)2017/07/31(月) 23:47:05.77ID:tHHdzIHP0
文字列検索よりCodeLensの方が便利。

259デフォルトの名無しさん (ワッチョイ 7be6-FCNm)2017/07/31(月) 23:55:32.54ID:JdXkXzvI0
var[] array = {};
こーゆうのできゆる?

260デフォルトの名無しさん (ワッチョイ a311-RAOX)2017/08/01(火) 00:04:40.32ID:e+FvcYbC0
初心者の質問で申し訳ないんですが、c#のスクリプトって必ず最初にクラスを作成(または継承)しないといけないんでしょうか?

261デフォルトの名無しさん (ワッチョイ 3732-gqPh)2017/08/01(火) 00:11:35.45ID:5fOoTB1q0
>>259
その書き方では駄目。
var array = new int[ 0 ];
var array = new int[ 3 ] { 0, 1, 2 };
var array = new [] { 0, 1, 2, 3 };

262デフォルトの名無しさん (ワッチョイ 0f4b-Liv4)2017/08/01(火) 01:31:15.62ID:edKic7OG0
>>250
MS のC# のコーディング規則には、
When the type of a variable is not clear from the context, use an explicit type.
コンテキストから明らかでないときには、型を書け
とある。

263デフォルトの名無しさん (ワッチョイ 3732-gqPh)2017/08/01(火) 01:59:26.32ID:5fOoTB1q0
一部だけ抜き出すとニュアンスが変わるから、まずは全部読もう。

C# のコーディング規則 (C# プログラミング ガイド)
https://docs.microsoft.com/ja-jp/dotnet/csharp/programming-guide/inside-a-program/coding-conventions

まだやってんのか

>>262
>>250に反論してるだけなのは分かるが、そういう「訓詁学」に意味はない。
だいたいその文章はちょっとおかしい。
コンパイラに型が分かるなら"clear"じゃないかって言われたら反論できないでしょ。

っていうか、いい加減論点整理して終わりにした方がいいよ。

(1) varが使える場面では全部varを使え。あるいは使って問題ない

(2) var容認だが明示的に型を書いた方が分かりやすい場万もあるので、
情況によって柔軟に使い分けるべき

(3) varを使うと可読性が落ちるので一律禁止


なんか誤解してるのがいるとしか思えないが、var使え論者(というかC#プログラマの大半)の立場は、
一部のバカを除けば恐らく(2)だと思われる。

varによってむしろ可読性が落ちるケースなんか存在しないと思っている人間は、おそらくむしろ少数派。

その多数派の見解が正しいとすれば、var禁止プロジェクトは一定の合理性があることになる。
メンバーのvarを使うべき場面かどうか判断する能力が疑わしければ、
var禁止の方が多少コスト増であったとしても少なくとも安全だからだ

266デフォルトの名無しさん (ワッチョイ 3732-gqPh)2017/08/01(火) 02:33:19.96ID:5fOoTB1q0
>>264
さすがにそれは言いがかりだろw
例も挙げられてるし、人間が見てってことだろう。

267デフォルトの名無しさん (ワッチョイ 6a11-gqKx)2017/08/01(火) 05:05:12.09ID:nCDZZVYR0
>>262
> コンテキストから明らかでないときには、型を書け

> newみたいな明示的なとき以外var使うなって言ってる
では相当違うと思うぞ w
>>238は脳内確定?

268遊園地 ◆OM5/jtEIXw (ワッチョイ be96-FEN5)2017/08/01(火) 08:50:27.72ID:CTbyL2210
C# 難しい

269デフォルトの名無しさん (ワッチョイ ca80-OE5G)2017/08/01(火) 09:24:34.03ID:cWGHzdKF0
>>260
名前空間にフィールドやメソッドは直接書けないからね。

ただ、メインはProgramクラスじゃなくてもビルドできる。

270デフォルトの名無しさん (ワッチョイ 4bed-V1Wy)2017/08/02(水) 14:06:29.12ID:/Yd2n8P20
初心者すぎて恥ずかしいんですがVisualstudioのC#でLINQをつかいAccessのDBにアクセスしようと考えています。
そこでLINQという項目をVisualstudioで探しているんですが見つけることができません。
どこを探せばよいでしょうか?

271デフォルトの名無しさん (スップ Sd2a-Lvg/)2017/08/02(水) 14:08:35.92ID:597Omi5cd
>>270
LINQ to SQLのことを言ってるんなら、もう非推奨だからやめときな

272デフォルトの名無しさん (ワッチョイ 4bed-V1Wy)2017/08/02(水) 14:12:17.44ID:/Yd2n8P20
>>271
まじですか!!知らなかったです。
別の方法考えます助かりました。ありがとうございます。

273デフォルトの名無しさん (ワキゲー MMa2-lmxC)2017/08/02(水) 14:45:10.89ID:x+1N4OhAM
entityframeworkの事じゃないの?

274デフォルトの名無しさん (ワッチョイ 7e4b-kx8D)2017/08/02(水) 17:11:04.60ID:EHe3ZB7L0
EntityFrameworkてAccessに使えるん?

JetEntityFrameworkってライブラリがあるにはある

276デフォルトの名無しさん (ワッチョイ da66-ZO1u)2017/08/02(水) 17:37:18.47ID:vt8a1S/T0

スタンダードな方法はなんなん?

access c# 接続でググると
System.Data.OleDb
とか出てくるけどこれでいいんちゃうの?

279デフォルトの名無しさん (ワッチョイ 6a91-V1Wy)2017/08/02(水) 19:07:55.68ID:+4F2ZrBo0
まずAccessなんて使ってるシステムを捨てろ

280デフォルトの名無しさん (ワッチョイ da91-V1Wy)2017/08/02(水) 21:36:57.94ID:L+93Eq5i0
用途によっては MDB 使うよ
(複数端末からアクセスしない、データサイズが知れてる等)

dbOpenTable で開いてインデックスにジャストミートした使い方だと
とにかく速い。べらぼうに速い

Access で簡単に読み書きできるのも素晴らしい

281デフォルトの名無しさん (ワッチョイ da91-V1Wy)2017/08/02(水) 21:37:56.32ID:L+93Eq5i0
あ OpenRecordset(テーブル名, dbTable) だったっけ?
SQL文じゃない、それ以前の Btrieve みたいなアクセスの仕方するやつね

ダウここに来て7連騰すんのかキチガイやな

22k$とか半端ないな。完全にバブル
まあスレと関係ないけどねw

284デフォルトの名無しさん (ワッチョイ 2b11-FvKw)2017/08/03(木) 02:37:18.01ID:yqoCedJN0
株のプログラム作ってる人いるの?

285デフォルトの名無しさん (ブーイモ MM5b-nF2T)2017/08/03(木) 07:07:21.62ID:y/LGBxl4M
普通にいるよ

286デフォルトの名無しさん (ワッチョイ 476f-X4yY)2017/08/03(木) 08:23:24.22ID:wSZ2pXrJ0
>>280
それももうSQLiteだろ

287デフォルトの名無しさん (ワッチョイ b366-/FH4)2017/08/03(木) 09:23:46.03ID:G7zaqCUm0
ポストSQLiteと言われるRealmってどうなんだろうな?
元はiOSらしいが、最近UWPに対応したそうな

288デフォルトの名無しさん (ワッチョイ 91aa-6w9M)2017/08/03(木) 14:18:47.80ID:zSQ4gTJt0
http://ideone.com/I4S7rq
上記のコードなのですが宣言と同時に初期化しようとしているんですが、ビルドが通りません
どう書けば通るのでしょうか?

289デフォルトの名無しさん (スッップ Sdaf-CJ8Y)2017/08/03(木) 14:29:27.06ID:XOuExNezd
>>288
エラーメッセージ読めよ

290デフォルトの名無しさん (スッップ Sdaf-FvKw)2017/08/03(木) 14:41:53.48ID:gag1Q2E/d
staticとかクラスで配列呼びとかこれ直すとどうなるか気になるけど、目的の物への直し方が分からない初心者

>>288
逆にどうしてそれで初期化できると思ったのか聞きたいな

292デフォルトの名無しさん (ワッチョイ 994b-dE0h)2017/08/03(木) 18:20:40.50ID:y6PJbWOJ0
>>288
まずstaticの意味を調べような

293デフォルトの名無しさん (ワッチョイ 0761-/FH4)2017/08/03(木) 19:58:25.54ID:AAnCTaTb0
>>288
思い込みの書式が通ると思うのならプログラムなんかできないから基本から見なおせ
https://docs.microsoft.com/ja-jp/dotnet/csharp/programming-guide/classes-and-structs/classes

また始まったよ
質問者叩いてる奴こそ>>1のテンプレを「基本から見直せ」バカが。

俺はもともと「ふらっと」スレの存在意義なんか認めないけど、
こうやって質問者叩いてるバカに限ってスレ統一しろっていうと反対するのな

俺は板自体が過疎ってるからどうでもいいぜ

296デフォルトの名無しさん (ワッチョイ 994b-dE0h)2017/08/03(木) 21:06:21.11ID:y6PJbWOJ0
>>294
じゃあお前が率先して回答しなよ
口だけじゃないって証明してくれ

297デフォルトの名無しさん (ワッチョイ 4d9d-VahU)2017/08/03(木) 21:06:50.15ID:Wy5AX0em0
それは君がこのスレを便所だと思っているから言える発言であって
便所に住んでる人からしたらここが自分の部屋なんですよ

スレ民は自分が便所に住んでることを思い出してください

298デフォルトの名無しさん (ワッチョイ 4d9d-VahU)2017/08/03(木) 21:09:58.25ID:Wy5AX0em0
>>296
それはおかしい
彼はここが便所であると思っていて
ヤジは飛ばせど、関わりあいたくないと考えているのだから
質問には答えないし、そのつもりも無いハズだよ
答えるのはあくまでスレ民の仕事だと

299デフォルトの名無しさん (ワッチョイ 2b79-crsy)2017/08/03(木) 21:20:27.19ID:1DsfYpVq0
質問です

最近チンコが痒いんですが
どうすればよいか教えて臭い

(´・ω・`)

300デフォルトの名無しさん (ワッチョイ b111-rJfQ)2017/08/03(木) 21:25:09.64ID:aUvJQCED0
hospital.Ablation( Chinko );

301デフォルトの名無しさん (ワッチョイ 0761-/FH4)2017/08/03(木) 21:29:08.33ID:AAnCTaTb0
>>294
存在意義認めないのに自治するやつなんか初めて見た
288に対しては無意味な回答しているのは>>290だけだ
お前は2度と来るな

302デフォルトの名無しさん (ワッチョイ 3f32-MwSy)2017/08/03(木) 21:29:39.92ID:A2tW+WgX0
>>288
・staticなクラスはnew出来ない。
・初期化の仕方が間違ってる。

http://ideone.com/ur8MnV

303デフォルトの名無しさん (ワッチョイ 776f-dE0h)2017/08/03(木) 21:31:46.35ID:MwbRiP+T0
>>302が一番有能

304デフォルトの名無しさん (ワッチョイ 3f32-MwSy)2017/08/03(木) 21:38:04.30ID:A2tW+WgX0
>>302のコンストラクタ追加版
http://ideone.com/49oLlc

305デフォルトの名無しさん (ワッチョイ 3f32-MwSy)2017/08/03(木) 21:40:01.22ID:A2tW+WgX0
あ、>>304のPointクラスのコンストラクタ間違えた。
ま、分かるでしょ。

306デフォルトの名無しさん (スッップ Sdaf-FvKw)2017/08/03(木) 22:13:07.27ID:KofxmfPad
>>301
直し方分からんから俺も気になるレベルの無意味なレスしたのはすまん
pointの呼び方の直し方がわからんかった

>>304
の書き方でpoint呼べばいいのね

307デフォルトの名無しさん (ワッチョイ 5723-FJki)2017/08/04(金) 21:32:08.81ID:eXZebYv+0
つい最近C#を学習し始めた者です。
null演算子について質問させてください。

null条件演算子/合体演算子を解説しているサイトや書籍に
下記のような両者の併用が紹介されていたのですが、
良く理解できませんでした。

result = a?.xxx ?? b

a.xxxのnullチェックは合体演算子がやってくれているように見えるのですが、
何故a.xxx自体にも条件演算子を設けているのでしょうか?
合体演算子だけを利用した場合とどのように違うのでしょうか?

308デフォルトの名無しさん (ワッチョイ 776f-dE0h)2017/08/04(金) 22:01:29.79ID:ma8HhYcB0
aがnullならa.xxxやるとヌルポ例外が発生するでしょ

309デフォルトの名無しさん (ワッチョイ 994b-dE0h)2017/08/04(金) 22:03:52.23ID:RvTw87/B0
>>307
これと同じ
if(a != null && a.xxx != null)
result = a.xxx;
else
result = b;

>>309
こう書いてくれたほうが分かりやすいのにな

311デフォルトの名無しさん (ワッチョイ 3f32-aBMt)2017/08/05(土) 00:23:56.45ID:L80K1fJH0
慣れじゃないかな。

312デフォルトの名無しさん (ワッチョイ 2be6-nF2T)2017/08/05(土) 00:24:38.91ID:1UeI4N1k0
ヌルポ → ガッ
この流れの起源はなんですか?

>>312
スレチ
javaの人に聞きなさい

>>310
それはないと思うよw

っていうか。等価コードこうじゃなかったっけ?

if (a == null)
  result = null;
else if (result = a.xxx == null)
  result = b;

>>311
こういう初見で見てわからん気持ち悪いコード書く奴早く死ねって思う
一生一人だけでプログラム組んでろよって感じ

>>315
いやいや、さすがに>>307の例は読めない自分を恥じなきゃダメ。

>>316
でも言語仕様を確認しなきゃ何やってるかわからないぜ
わざわざなんでこんな書き方するの?
気持ち悪い

318デフォルトの名無しさん (ワッチョイ b54b-cmh1)2017/08/05(土) 00:49:24.41ID:7yvfOtT+0
>>317
同じものをを複数回かくことに疑問を持たないのは、センスがない

319デフォルトの名無しさん (ワッチョイ 3f32-aBMt)2017/08/05(土) 00:50:39.67ID:L80K1fJH0
>>314
違う。>>309で合ってる。

>>319
ああ、そうだねw
ビール飲みながら適当にレスするとこうなる
>>316こんな偉そうなこと書いてるのに笑えるなw

321デフォルトの名無しさん (スッップ Sdaf-CJ8Y)2017/08/05(土) 01:01:23.26ID:jB/epMOsd
>>317
言語仕様を知らずにプログラミングできると思う頭をどうにかしろwww

>>320
だっせーな
ほら、間違えたじゃんバーカ

323デフォルトの名無しさん (ワッチョイ 3f32-aBMt)2017/08/05(土) 01:07:52.45ID:L80K1fJH0
>>317
よくある処理の割に記述が長くなるから、簡潔に記述出来るように追加された文法だし。
記述が減ればそれだけバグが入り込む余地が減るし、慣れれば等価コードより読みやすい。

>>323
それ、自分のことしか考えてないよね
素直にダサい

325デフォルトの名無しさん (ワッチョイ 3f32-aBMt)2017/08/05(土) 01:18:59.52ID:L80K1fJH0
>>324
ラムダ式や3項演算子も毛嫌いしてそう。

326デフォルトの名無しさん (スッップ Sdaf-CJ8Y)2017/08/05(土) 01:24:45.10ID:jB/epMOsd
>>324
お前varも認めないんだろ

327デフォルトの名無しさん (ワッチョイ 2b19-/FH4)2017/08/05(土) 01:27:34.97ID:vNOMYJ7x0
今時Accessとか使ってる奴いたんだ。

煽りじゃなくて割とまじで

328307 (ワッチョイ 5723-FJki)2017/08/05(土) 02:25:47.56ID:a3wHtGnJ0
皆さんレスありがとうございます。

>>309
>>310
なるほど!
仮に>>307の式を合体演算子だけでやると、
a.xxxのnullはチェックできてもa自体のnullは検知できないから
aがnullだと例外になってしまうという事ですね、やっと理解できました

329デフォルトの名無しさん (ワッチョイ 7b91-dE0h)2017/08/05(土) 02:27:12.87ID:YGVZb4Ys0
C#ってわりかし言語仕様追加される方だと思うけど
C#2.0で頭止まってんの?

330デフォルトの名無しさん (スッップ Sdaf-CJ8Y)2017/08/05(土) 03:33:33.37ID:jB/epMOsd
こないだはASP.NETチームで、今度はNuGetチームがこの手の話題で炎上か
https://github.com/NuGet/NuGetGallery/pull/4437

自分が使う機能を他人が使えない方が悪いと考えるタイプの人間
自分が使えない機能を使う他人の方が悪いと考えるタイプの人間
どっちもどっちの気がするけど
チームや会社の成長や将来性を考えると前者の方がいいよね
後者が群れると互いの足の引っ張り合いになって永遠に停滞する

332デフォルトの名無しさん (ワッチョイ d380-cqqg)2017/08/05(土) 08:39:35.43ID:F87TSa+B0
>>331
役職の手前、後者。
でも、内心は前者って人も少なくないだろうな。

本音と建前だと

正直
result = a?.xxx ?? bは気持ち悪い
どのレベルが等価なのかよくわからないから

でも代案を聞かれるとわからない

result = ?a.xxx ?? b
result = a ? a.xxx : b

notnullとoptionalはよ

335デフォルトの名無しさん (ワッチョイ 0bc0-/FH4)2017/08/05(土) 11:08:03.88ID:UeASor4i0
原本がVS2005だから2005で開発してねとか、開発環境縛りで使いたくても使えない言語仕様多すぎて泣きそう
今2017年なのに・・・

336デフォルトの名無しさん (ワッチョイ ed7f-dE0h)2017/08/05(土) 11:20:19.76ID:POjfJmBG0
うちの親戚の子供がそうだった。
生まれたときからウォシュレット付きの洋式便所だったからウォシュレットがないところは嫌がるし、、
和式にしゃがむこともできない。たぶんボットン便所なんて怖がって近寄らない。

そういう例えだと選ぶ方がワガママで悪いみたいなイメージだけど
企業が社員の移動に馬車を使わせてるようなものだと例えるとイメージが変わるね

338デフォルトの名無しさん (ワッチョイ 1311-/F0N)2017/08/05(土) 11:40:50.92ID:QQbgaNKK0
>>327
普通にいるだろ
データベース自体の機能は無償のSQL-Server Expressとかでもいいけどレポート機能とかが便利らしい

339デフォルトの名無しさん (ワッチョイ 7b91-dE0h)2017/08/05(土) 11:43:09.69ID:YGVZb4Ys0
言語仕様は知らねー方がバカなんだよ
例えばExcelに入った商品リストの合計額調べるとき
・SUM関数使う
・セル1個ずつ選択して足す
・電卓で1個ずつ計算して記入する

どのレベルに合わせるべきかってことよ
SUM関数なんてExcel関数知らんとわからんやんセル一個ずつ足せって言うバカいるかって話
データがそもそもExcelじゃなくて紙ベースデータみたいなときはしゃーない電卓で計算するがの

340デフォルトの名無しさん (ワッチョイ eb9d-3aaz)2017/08/05(土) 12:12:37.78ID:FiPcVS8O0
>>307,309
より厳密には
result = ((a != null) ? a.xxx : null) ?? b;
と等価。三項演算子使わないとこうかな?(よく確かめてない)
if(a != null)
{
var temp = a.Value;
if( temp == null)
{
result = b;
}else{
result = temp;
}
}else{
result = b;
}

xxxがプロパティやメソッド呼び出しなら、複数回呼ぶと遅くなったり副作用があったりする可能性がある。
あと、スレッドセーフにも関わってくる
https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/operators/null-conditional-operators

MSDNにも書いてある
A?.B?.C?[0] ?? E
とかをパフォーマンスやスレッドセーフを考慮して妥当に展開すると十行では収まらないコードになる。
構造からの取り出しの場合同様の処理が連続する可能性も結構あってnullチェックで埋め尽くされるのでNull条件演算子は使えるなら使うべき

341デフォルトの名無しさん (ワッチョイ ed7f-dE0h)2017/08/05(土) 12:21:22.29ID:POjfJmBG0
>>337
理由があってそうしてるならしょうがないんじゃない?
坂道が多い長崎の住宅地は荷物を馬で運ぶことも多いとか。

使うには使うけどA?.Bという書式が不気味
先行した多言語があるからそれに合わせたんだから仕方ないが
c#が先にnullチェック演算子をきれいな形で実装できていれば…

そういうの、大昔の{}が見づらいみたいな思い込みに基づいた言い掛かりと同じだと思うよ
不気味てw

?演算子の後にドット演算子が来ているようだし

単体で?だと三項演算子とかぶるからMSは ?. と ?[ (?[ ] ではない)の二つを
null条件演算子と呼んでいる

充分気持ち悪い

?[ が演算子だとして残りの ] は何なのか?

346デフォルトの名無しさん (スップ Sd03-CJ8Y)2017/08/05(土) 17:33:38.81ID:irr7ncKbd
>>335
2005とかもうサポート切れてね?

UI部をバージョン依存にして
中の処理をバージョン非依存とかに
する造りじゃないと駄目だな

同じc#で作ったものすら移行できないのは俺らのせいじゃなくて言語作ってる奴が馬鹿なんだから

348デフォルトの名無しさん (ワッチョイ 9daa-cE++)2017/08/05(土) 20:00:04.83ID:pxuR0+Dw0
何言ってるのかさっぱり分からんが
多分俺らじゃなくて言語作ってる奴でもなくて347が馬鹿なんだと思う

>>348
ああ、うん、早く死ねよ

350デフォルトの名無しさん (ワッチョイ b361-/FH4)2017/08/05(土) 20:04:55.97ID:jKU+//lw0
C#2.0で作ったプロジェクトとソースなら現行のものでビルドしたら問題なく動くんだが
初心者スレで間違った情報広められても困るし業界談義は他でやってもらえないかな

2.0はラムダがないのが致命的だな
LINQライクなライブラリ書いたけどエレガントに記述できない

>>350
細かいこというと、VS2005の時代のプロジェクトはUAC対応のマニフェストが
自動生成されないので、たぶん単純に変換しただけではGUIアプリの場合は問題が出ると思う

>>350
お前嘘つきじゃん

354デフォルトの名無しさん (スップ Sd03-CJ8Y)2017/08/05(土) 20:55:15.95ID:irr7ncKbd
>>350
問題ないかどうかは場合による

355デフォルトの名無しさん (ワッチョイ b361-/FH4)2017/08/05(土) 21:02:43.39ID:jKU+//lw0
>>352
ここを見て
http://dobon.net/vb/dotnet/system/asadmin.html
「管理者として自分自身を起動する」参考にして組んだことはあるけど
マニフェスト自動生成するのは知らなかったというか見てなかったw

356デフォルトの名無しさん (ワッチョイ 2b19-/FH4)2017/08/06(日) 13:00:00.86ID:BrCgX9l20
元MSだった奴がいってたけど

VS2010当初でも開発に2,000人関わってたらしいよ。


旧バージョンを使って次のバージョンを作っていたとか

VS2010でVS2015といった具合

357デフォルトの名無しさん (ワッチョイ f7f4-FEhw)2017/08/06(日) 22:21:19.12ID:KuiVNrm90
SharpDevelopを使ってとあるソースを開いて、ビルドしたらNewtonsoft.Jsonが無いよ、と。

SharpDevelopに組み込まれてるNuGetでNewtonsoft.JsonをインストールしようとしたらNuGetが古過ぎてインストールできません、と。

NuGetコマンド単体の最新版を落としてNewtonsoft.Jsonパッケージを導入した。
でもビルドするとNewtonsoftっていうNamespase知りません、みたいなエラー(CS0246)に。

パッケージがGACに入ってる必要があるの?と思ってGacutil.exeを使おうとするも、Visual Studioにしか入ってないっぽい。
でも諸事情でVisual Studioはいま使えない。

何とかSharpDevelopでビルドを通したいんです。何が足らない || 間違ってるのでしょうか?

358デフォルトの名無しさん (ワッチョイ 994b-dE0h)2017/08/06(日) 23:00:35.42ID:wBidTTBD0
単純にdllが参照されていないだけでは?

アセンブリロードのアルゴリズムってどっかに文書化されてたと思う
それ探して読んで一個一個ステップを確認すればいいんじゃないか

360デフォルトの名無しさん (ワッチョイ 53aa-BhWa)2017/08/07(月) 00:52:46.16ID:76ycnzjh0
ビルドオプションで、エラーメッセージを詳細に表示できないの?

そして、そのエラーメッセージで検索すれば?

361デフォルトの名無しさん (ワキゲー MMfb-kJPR)2017/08/07(月) 11:23:39.74ID:JkTML+vTM
358の繰り返しになるけど
NuGet単体版ならプロジェクトがパッケージを自動的に参照とかしないだろうから
明示的に参照させる必要があると思うけど大丈夫?

362デフォルトの名無しさん (ワッチョイ 0bc0-/FH4)2017/08/08(火) 19:51:55.76ID:sqi2YB040
Publicクラスの中にPublicクラスを定義しているソース見かけたんだけど、これって何の意味があるの?

>>362
書いた人に聞かないと分からないでしょ

まあ、推測だけど、たぶんクラスAと一緒にしか使われない、
従属的なクラスBがあったとして、BをAの内部クラスにしたら
そういう従属的な関係が分かりやすくしたいという意図なんじゃないか。

たぶん今時の流儀じゃないと思うけど、.NET 1.0の時代からあるWindows Formなんか
そういうのいくつかあった気がする

364デフォルトの名無しさん (ワントンキン MM73-op1F)2017/08/09(水) 11:25:35.60ID:eM0BjlR2M
Formクラス1つに対応するビジネスロジッククラス1つを作ること
0個でもだめだし2以上でもだめ

っていう頭のおかしいコーディング規約を押し付けてきたバカSEがいて
そのアホくさい制約を回避するために内部クラスを多用したことがある

365デフォルトの名無しさん (ワキゲー MMfb-yIRm)2017/08/09(水) 12:15:14.19ID:RfXzvPKwM
>>364
formと紐付かないクラスを作ればよかったんじゃないの?

366デフォルトの名無しさん (ワッチョイ 0bc0-/FH4)2017/08/09(水) 12:35:36.16ID:nKeLDL7B0
>>363
読み返してみたら確かに内部クラスは従属的な位置付けだわ、サンクス

>>365
だから作っちゃいけない規約なんだって
FormA LogicA
FormB LogicB
FormC LogicC
って風に最初からクラス構成が固定
なので内部クラスを使うしかなかった

368デフォルトの名無しさん (スプッッ Sddb-CJ8Y)2017/08/09(水) 13:00:01.19ID:MPlilw1qd
頭おかしいやつの下で働かなくちゃいけないなんて哀れだな

369デフォルトの名無しさん (ブーイモ MM5b-X+Zd)2017/08/09(水) 13:03:58.48ID:aEwDYdDeM
それを疑問に思わないレベルのバカPGばかり相手にしてるんだろうから仕方ない
PGの能力に全く期待しない前提なら悪くないルールだと思う
参考にさせてもらうわ

>>366
あと、内部クラスって外側の非publicのメンバにもアクセスできるので
(当然インスタンスメンバの場合は参照握ってる必要があるけど)
publicにはしたくないけどある特定のクラスにだけアクセスを許したい、
っていう事情もあった可能性もあるね。

371デフォルトの名無しさん (ワッチョイ ed7f-dE0h)2017/08/09(水) 20:17:29.94ID:gdB1BRW90
>>367
Formの数しかクラスが存在し得ないとしたらたしかに頭おかしい規則だが、Applicationはどうしたの?

wpfのmodelファイルみたいに作って欲しいんちゃう?

373デフォルトの名無しさん (アウーイモ MMb3-7CC5)2017/08/09(水) 21:35:29.81ID:AMRrv1DKM
何にせよ
「なんでそんな事するのか」をハッキリさせとかないと本末転倒になるな
ルール守るために余計に無駄なことしてたら

374デフォルトの名無しさん (ワッチョイ 9aea-J0Eq)2017/08/10(木) 03:50:16.42ID:p+YoIwRr0
あるブランチの、あるブランチ(例えばmaster)との差分が
わかる方法ってないですかね?
今は別ディレクトリにクローンしてディレクトリの差分を見ています

375デフォルトの名無しさん (ワッチョイ 9aea-J0Eq)2017/08/10(木) 03:51:33.59ID:p+YoIwRr0
>>374
誤爆しました。すみません

376デフォルトの名無しさん (ワッチョイ a332-W16a)2017/08/11(金) 13:17:03.53ID:6/W84wqN0
あるファイルと削除しようとすると
「別のプロセスで使用されているため、プロセスはファイル XXXX' にアクセスできません。」と出ます。
vshost32.exe がファイルを掴んでいるので削除できないようです。

なのでVSを終了すれば削除はできます。
自分自身が掴んでいるファイルを削除するのはどうすればいいですか?
別にexeを作成して終了後に起動して削除するくらいしか思いつかないのですが・・・

377デフォルトの名無しさん (ワッチョイ 4e61-aEKd)2017/08/11(金) 14:04:52.87ID:es+zQmez0
>>376
「あるファイル」も状況もよくわからないが
プロパティからデバッグの項目開いて「Visual Studio ホスティング プロセスを有効にする」のチェックを外す
コード上で掴んだファイルがそのままとか言う話ならそのコード示して

378デフォルトの名無しさん (ワッチョイ b666-aEKd)2017/08/11(金) 17:15:57.26ID:Aa/k6vVq0
>>376
もし画像表示中に削除できない問題なら、ググれば色々やり方が見つかると思うよ

xmlとかxlsをusingで読み込んでdisposeだかreleaseだかしてない系?

380デフォルトの名無しさん (ワッチョイ 4e61-aEKd)2017/08/11(金) 18:38:14.54ID:es+zQmez0
>>378
それはこれだな
http://dobon.net/vb/dotnet/graphics/drawpicture2.html
ファイルパスを直接渡さなければいいのでストリームでなくてもバイト配列にしてもいい
わかりにくくなるが一行で済ませるには
(Image)new System.Drawing.ImageConverter().ConvertFrom(System.IO.File.ReadAllBytes(filename))とか
>>379
usingから外れると自動でDispose()されるから、それはC#と違う話じゃないかな

>>380
旧コードはされないらしい
また、クラスを作った奴がやる気なくてもusingで解放されないらしい
usingの自動解放は言語機能ではなく努力目標

382デフォルトの名無しさん (ワッチョイ 9aea-dbBP)2017/08/11(金) 19:52:36.07ID:XseWY9lE0
関係ないが、HttpClientも一時期話題になったよな

383デフォルトの名無しさん (ブーイモ MM26-pYbA)2017/08/11(金) 20:17:13.35ID:OJhNtZ6yM
クライアント側アプリでは一通りやりたいことできるようになったので、webアプリというか、サーバーサイド系に進みたいのですが、ASP.Netでお勧め書籍ありますか?

なぜここで聞いた?

385デフォルトの名無しさん (ワッチョイ 7f32-Fwjk)2017/08/11(金) 21:34:01.45ID:IamXCzdT0
>>381
usingが努力目標ってなんだそりゃ。usingはスコープを抜ける時に必ずDisposeを呼ぶだけ。
そのクラスのDisposeの実装に問題があるだけだろ。

386デフォルトの名無しさん (ワッチョイ a3e6-pYbA)2017/08/11(金) 21:37:53.60ID:wSoZciMN0
>>384
え?C#の話だとおもったんだけど違う?

>>385
まあ、そういうことですよ

388デフォルトの名無しさん (ワッチョイ 7f32-Fwjk)2017/08/11(金) 22:13:33.39ID:IamXCzdT0
>>383
ASP.NETとASP.NET MVCは別物なので注意。
今から勉強するなら、ASP.NET MVCの方。

389デフォルトの名無しさん (ブーイモ MM7f-KsLg)2017/08/11(金) 22:22:31.29ID:nYdKnbI0M
今は非常に時期が悪いのでMVCすらお勧めできないよ

390デフォルトの名無しさん (ワッチョイ 7f32-Fwjk)2017/08/11(金) 22:26:56.25ID:IamXCzdT0
>>387
usingさん濡れ衣。

>>390
idisposeさんと共犯なので合わせ技で死刑

392デフォルトの名無しさん (ワッチョイ 9aea-dbBP)2017/08/11(金) 22:49:39.74ID:XseWY9lE0
>>388
ASP.NETとASP.NET Web Formsとを同一視してないかい?

393デフォルトの名無しさん (ワッチョイ f34b-3pNn)2017/08/11(金) 22:53:50.57ID:nYt6U0do0
>>392
同じようなもんだろ

394デフォルトの名無しさん (ワッチョイ 9aea-dbBP)2017/08/11(金) 23:05:25.17ID:XseWY9lE0
>>393
いや全然ちげーよw
ASP.NETの中にMVCとWeb Forms(とその他諸々)が含まれるんだから

395デフォルトの名無しさん (ワッチョイ 7f32-Fwjk)2017/08/11(金) 23:09:41.68ID:IamXCzdT0
>>392
ASP.NETだけだと、WebFormsを指す場合が多いからね。特に書籍。
補足として書いとくべきだったな。

396デフォルトの名無しさん (ワッチョイ 9aea-dbBP)2017/08/11(金) 23:14:24.88ID:XseWY9lE0
>>395
ASP.NET Core MVCの方にしか力入れてないけどね
あ、最近だと特にSignalRもか

397デフォルトの名無しさん (スプッッ Sd5a-dbBP)2017/08/11(金) 23:14:52.52ID:QPma/SU3d
>>395
いつの時代の話だよ

398デフォルトの名無しさん (ワッチョイ a3e6-pYbA)2017/08/12(土) 04:55:15.59ID:mqOU9Lu00
>>388
ちょww 古い本買ってしまいましたぁー

情報ありがとう(>_<)

399デフォルトの名無しさん (ワッチョイ a3e6-pYbA)2017/08/12(土) 04:56:24.27ID:mqOU9Lu00
>>389
どのように時期がわるいのですか?
宜しければ業界背景とか教えてください

400デフォルトの名無しさん (ワッチョイ a3e6-pYbA)2017/08/12(土) 05:03:39.72ID:mqOU9Lu00
あ、ちなみに私は別業界の週末趣味プログラマで、あまりトレンドとかわからんのです

401デフォルトの名無しさん (アウアウカー Sac3-zcd+)2017/08/12(土) 06:18:07.36ID:cSGImtaOa
ASPの話題なんでちょっと聞きたいんだけど、linuxサーバー用のwebアプリ作ろうと思ったら.net coreでやるのとjavaでやるのとどっちが敷居低いかな?昔javaでちょっとやってたらマッピングやらがえらい面倒だった記憶あるんだけど

402デフォルトの名無しさん (ブーイモ MM7f-UpZk)2017/08/12(土) 06:23:29.36ID:lZqlh0rmM
JavaならSpring Boot使えば楽
.NET Coreは敷居とか気にするレベルの人が手を出しちゃダメ

403デフォルトの名無しさん (ブーイモ MM7f-KsLg)2017/08/12(土) 10:17:36.21ID:tF3yiAv3M
>>399
今新しいのに移り変わったんだけど全然普及してない
OSSにいるライバル達が強すぎてびくともしてない
従来使ってた人が離れつつある

目新しさがないのが非常にまずい
今後新しいなにかを提案できなければ
早い時期に丸々消える可能性がある

404デフォルトの名無しさん (ブーイモ MM7f-pYbA)2017/08/12(土) 10:35:14.70ID:L/rIKl2kM
>>403
なるほどですね。

しかし、本も買ってしまったし、一通りは知識として吸収しておこう。

結局、今Webアプリを構築するなら、何がベストなんでしょうか?

クライアント側はjavascript一択ですよね。
サーバ側が、自分はweb formで止まっています。
.net coreなるものを調べてみればいいんでしょうか?

406デフォルトの名無しさん (スプッッ Sd5a-dbBP)2017/08/12(土) 11:46:52.46ID:GgO+n98Ld
>>403
.NET Standard2.0あたりを理由として持ち出すならまだしも、そんな理由かよwww

407デフォルトの名無しさん (スプッッ Sd5a-dbBP)2017/08/12(土) 11:47:53.88ID:GgO+n98Ld
>>405
Webアプリで何をしたいの?言語はc#縛りなの?

408デフォルトの名無しさん (ワッチョイ da32-muZ9)2017/08/12(土) 11:49:32.71ID:P/Mf2N0c0
pythonだと思う

>>407
イントラ環境で、DBを絡めた様々な情報を提供したいです。
目的によってGridViewで表示したり、グラフで表示したり。

C#縛りではないですが、VS2008時代にゴリゴリ作った経験があるので一番馴染みがあります。

410デフォルトの名無しさん (ブーイモ MM7f-UpZk)2017/08/12(土) 12:23:38.79ID:lZqlh0rmM
Node.jsとかでいいんじゃね
Coreも含めた今時のWebはWinFormsや昔のASP.NETとは全く思想が違ってて、コンポーネントというものが存在しない
MVC系なら何選ぼうが似たようなもんだから環境の整えやすさとかで選べばいいと思うよ

411デフォルトの名無しさん (ワッチョイ fa80-KUHj)2017/08/12(土) 12:50:34.80ID:kxAFQxd/0
この前、Rubyとやったわ

412デフォルトの名無しさん (スプッッ Sd5a-dbBP)2017/08/12(土) 13:09:44.12ID:GgO+n98Ld
>>410
vs2008使ってた人なら、相当な理由がない限りNode.jsを選択する理由はないな

413デフォルトの名無しさん (ブーイモ MMba-UpZk)2017/08/12(土) 13:11:36.67ID:zLZ79VVHM
>>412
本人にJavaScriptを書く気があるということは十分な理由になりうる

414デフォルトの名無しさん (スプッッ Sd5a-dbBP)2017/08/12(土) 13:20:40.09ID:GgO+n98Ld
>>413
DB連携が主だろうからASP.NETでいいだろ
フロントエンドはもちろんjavaScript使うだろうが

Web初心者ならWebAPl + html + js + cssが簡単でオススメ
難解で無駄の多いサーバーサイドレンダリングは初心者には厳しい
厄介なWebフレームワークも最初は避けたほうがいい

416デフォルトの名無しさん (スッップ Sdba-dbBP)2017/08/12(土) 13:26:16.90ID:rTAthi/9d
>>415
初心者でWebAPIいきなり立ち上げさせるのか?認証はIdentityServer?
初心者だからこそフレームワークの流儀に従えば簡単にできるものを選択した方がいい
どうせイントラなんだし

417デフォルトの名無しさん (ブーイモ MMba-UpZk)2017/08/12(土) 13:27:25.22ID:zLZ79VVHM
>>414
いやLinuxって言ってるでしょ

418デフォルトの名無しさん (スッップ Sdba-dbBP)2017/08/12(土) 13:29:09.64ID:rTAthi/9d
>>417
うんそうだね、だから?

>>416
難しい事は考えなくていい
初心者の作るイントラサービスならCookie認証で十分
モデルバインディングとかテンプレートエンジンとかのあれこれ考えるより
素のhtmlとapiの方が素朴でずっとわかりやすいよ

420デフォルトの名無しさん (ブーイモ MMba-UpZk)2017/08/12(土) 13:34:37.36ID:zLZ79VVHM
>>418
MVCなら言語だけの違いになっちゃうから、もちろんWebFormsを意図してるんだろ?
LinuxでWebFormsが問題なく動作する構成を教えてくれないか
まさかMonoとか言わないよね

421デフォルトの名無しさん (スッップ Sdba-dbBP)2017/08/12(土) 13:35:49.26ID:rTAthi/9d
>>419
APIの実装は?

422デフォルトの名無しさん (スッップ Sdba-dbBP)2017/08/12(土) 13:37:33.14ID:rTAthi/9d
>>420
トンデモ理論ワロタwww
LinuxだからASP.NET Coreに決まってるだろカス

XAMPPでいーよもう

424デフォルトの名無しさん (スップ Sd5a-dbBP)2017/08/12(土) 13:43:15.73ID:Y4jkwM06d
>>410
ViewComponent

425デフォルトの名無しさん (ワッチョイ a37f-W16a)2017/08/12(土) 13:43:45.21ID:3DdLvbHE0
>>415
SPAやjQueryなんかの動的DOM操作をサーバーサイドレンダリングに移行するとかの話じゃなければ
サーバーサイドの方が分かりやすいと思うがな。動的なページがほとんど無いってんなら話は別だけど。

426デフォルトの名無しさん (ブーイモ MMba-UpZk)2017/08/12(土) 13:46:46.21ID:zLZ79VVHM
>>422
結局MVCやれってこと?
なら 知っている言語 + 新しいアーキテクチャの習得 でNode.jsと対等じゃん
必死に噛み付く意味がわからないな

427デフォルトの名無しさん (スップ Sd5a-dbBP)2017/08/12(土) 13:49:49.36ID:Y4jkwM06d
>>425
もともとVisualStudioでc#書いてたっぽいしね
サーバーサイドコンプレックスにまみれたフロントエンドエンジニアが、必死にHTML&javaScriptをアピールしているようにしか思えない

428デフォルトの名無しさん (ワッチョイ 674b-W16a)2017/08/12(土) 13:49:59.47ID:jJHyapDK0
>>417
Linuxとは一言も言ってないじゃん
お前の目は腐ってるの?

429デフォルトの名無しさん (スップ Sd5a-dbBP)2017/08/12(土) 13:50:40.56ID:Y4jkwM06d
>>426
対等だと本気で思ってるのかこのアスペは

430デフォルトの名無しさん (スップ Sd5a-dbBP)2017/08/12(土) 13:51:48.52ID:ahseiZ+6d
>>426
c#知らない人がなぜ偉そうにしてんのかwww

431デフォルトの名無しさん (ブーイモ MMba-UpZk)2017/08/12(土) 13:52:03.67ID:zLZ79VVHM
>>429
まさかと思うけど、Nodeにサーバーサイドレンダリングのフレームワークが無いとでも思ってるのかな?

432デフォルトの名無しさん (スップ Sd5a-dbBP)2017/08/12(土) 13:53:01.42ID:ahseiZ+6d
>>431
またアスペのトンデモ理論がでたわー

433デフォルトの名無しさん (ブーイモ MMba-UpZk)2017/08/12(土) 14:00:25.32ID:zLZ79VVHM
>>432
何がそんなに気に障るのが知らないけど、Web MVCへの移行を前提とした場合において、
入りやすいWeb開発プラットフォームの例としてNodeを挙げただけだよ
サーバーサイドレンダリングだけでいいなら情報の豊富なRailsやPHPの方がもっと入りやすいだろうね
君がその選択肢としてASP.NET Coreを推すなら否定するつもりはないし、俺を攻撃するよりお勧めの本やサイトでも教えてあげたら?

434デフォルトの名無しさん (スップ Sd5a-dbBP)2017/08/12(土) 14:01:39.24ID:ahseiZ+6d
>>433
お前がなぜここにいるのかわからんわ
別のスレに誘導してさしあげろ

フロントエンドとバックエンドを疎結合に保つほうが実装も保守も簡単だよ
サーバーサイドレンダリングはその点で劣る
ユーザーインターフェースはフロントエンドに責務を割り振る
サービスはrest apiでバックエンドに責務を割り振る
やることが明確で実装もシンプル、保守も楽チン
おまけに動作も軽快になってユーザーもにっこり

436デフォルトの名無しさん (ブーイモ MM7f-KsLg)2017/08/12(土) 14:51:23.91ID:tF3yiAv3M
次のASP.NET core 2.0で.net frameworkが捨てられるって
明言されてるから他に移るにはいい時期だと思うよ
海外の人達はどんどんASP.NETを捨てて新しい言語と別のフレームワークに移ってる最中

2.0が安定するのはリリースされてから1年後あたりだから本当に時期が悪い

437デフォルトの名無しさん (スップ Sd5a-dbBP)2017/08/12(土) 14:55:12.15ID:ahseiZ+6d
>>436
デマおつ

438デフォルトの名無しさん (ブーイモ MM7f-KsLg)2017/08/12(土) 14:55:56.25ID:tF3yiAv3M
ググればわかるよ
ググれば

439デフォルトの名無しさん (スップ Sd5a-dbBP)2017/08/12(土) 14:57:12.35ID:ahseiZ+6d
>>438
その言葉そっくり返すわwww

440デフォルトの名無しさん (スップ Sd5a-dbBP)2017/08/12(土) 15:00:38.23ID:ahseiZ+6d
>>438
これのこと言ってんの?
https://github.com/aspnet/Home/issues/2022

違うならソース

441デフォルトの名無しさん (ワッチョイ dac4-vYVf)2017/08/12(土) 15:42:51.22ID:C9lCwxEn0
どの人がキチガイじゃないんですか?
ほぼ全てキチガイだと思うので、キチガイじゃない人を挙げてもらった方が早いかなと思いました

>>441
道にキチガイとそうでない人が多数混雑していたという
どんな質問をすればキチガイとそうでない人がわかるでしょうか?

c#で答えなさい(5点)

443デフォルトの名無しさん (スッップ Sdba-dbBP)2017/08/12(土) 21:37:49.83ID:49AswPagd
>>441
>>436みたいなデマ流すやつもいるから気をつけな

444444 (ワッチョイ a379-AZXx)2017/08/12(土) 21:57:25.09ID:k2L+IUHd0
444げっち(´・ω・`)b

445デフォルトの名無しさん (ブーイモ MM26-KsLg)2017/08/12(土) 22:24:47.52ID:xJjCO2rbM
>>443
ググって答え探して見つからなかったんだな
かっこ悪い

446デフォルトの名無しさん (ブーイモ MM26-KsLg)2017/08/12(土) 22:28:17.27ID:xJjCO2rbM
ASP.NET Coreが.NET Frameworkサポートを終了 - InfoQ
https://www.infoq.com/jp/news/2017/06/ASPNET-Core-2

447デフォルトの名無しさん (スプッッ Sd5a-dbBP)2017/08/12(土) 23:29:34.80ID:aQBsN87od
>>446
>>440に答え書いてあんのに、infoQの集会置くのデマに引っかかったんだな

448デフォルトの名無しさん (スプッッ Sd5a-dbBP)2017/08/12(土) 23:29:51.13ID:aQBsN87od
>>447
周回遅れwww

449デフォルトの名無しさん (ワッチョイ 2723-dbBP)2017/08/12(土) 23:32:32.20ID:EdsW5Ca+0
>>445
そうだね、まだソース示せてないもんね

450デフォルトの名無しさん (スップ Sd5a-dbBP)2017/08/14(月) 18:15:11.19ID:L2nzIYhid
>>446
いまだに訂正記事出さないってどういう神経してるんだろうか

451デフォルトの名無しさん (ワッチョイ a3c0-aEKd)2017/08/14(月) 19:11:43.71ID:Em96n+jc0
クライアント10台分のサーバ間送受信処理100回を並列で処理しようと考えているんだが、

Enumerable.Range(1, 10).AsParallel().ForAll(t =>
{ 
  Enumerable.Range(1, 100).ToList().ForEach(c =>
  {
    クライアントの送受信処理
  }
}

var taskArray = Enumerable.Range(1, 10).Select(t=>
 {
  return Task.Run(() => {  
    Enumerable.Range(1, 100).ToList().ForEach(c =>
    {
     クライアントの送受信処理
    }
}).ToArray();
Task.WaitAll(taskArray );

でそれぞれ実行すると実行順が明らかに違う理由を教えてください。
どちらも10台が順不同で各100回実行すると思いきや、なぜか前者は任意の1,2台だけ100回実行した後に残りを順不同で各100回実行して、後者は狙い通り10台順不同で各100回実行する・・・

452デフォルトの名無しさん (ワッチョイ a3e6-pYbA)2017/08/14(月) 22:59:55.53ID:W9S89Wta0
ラムダ使うの止めたらええんちゃう?

453デフォルトの名無しさん (ワッチョイ 3743-XRyJ)2017/08/15(火) 07:23:29.80ID:+u37r3ou0
.ForAllのせいじゃないかな…
Enumerable.Range(1,10)の出力だけが並列で実行されて、
.ForAllの中味は現スレッド1本で順次行われてない?

454デフォルトの名無しさん (ワッチョイ b64b-6KBD)2017/08/15(火) 09:17:22.57ID:OGbi9cLy0
>>451
CPUがデュアルコアだからじゃね?


Enumerable.Range(1, 10000).AsParallel().ForAll(i =>
{
Console.WriteLine("{0} 処理開始", i);
Thread.Sleep(1000);
Console.WriteLine("{0} 処理終了", i);
});

455デフォルトの名無しさん (ワッチョイ a3db-6KBD)2017/08/15(火) 11:46:48.87ID:ReZpKiqA0
昔XPのころVS2010ExpressでC#で遊んでました
7年ぶりにまたいじってみようかと思い立ったのですが
最新版の無償版ってVS2017Comunityとかいうやつになるんですか?
これで2010時代のソリューション読み込めますか?
当時はC♯としかいってなかったはずだけど今はC#7というみたいですがずいぶん内容は変わったのでしょうか?
浦島状態ですみません。乙ちゃ〜ん!

>>455
(*゚∀゚)b

457デフォルトの名無しさん (スッップ Sdba-dbBP)2017/08/15(火) 12:43:34.23ID:20T/HkCgd
>>455
vs2010はC#4.0やで

458デフォルトの名無しさん (ワッチョイ a3c0-aEKd)2017/08/15(火) 13:42:35.85ID:OC/mFne80
>>455
開く時にコンバートする必要あるけど問題なく開けるよ
仕事だと未だにVS2010現役だわ

459デフォルトの名無しさん (ワッチョイ a3db-6KBD)2017/08/15(火) 14:20:35.06ID:ReZpKiqA0
>>456-458
どうもありがとう!
なんとかインストールできました
とりあえずフォームアプリのビルドはできました
昔のソリューション読み込みまだ試してません
使い方思い出しながら頑張ります!

460デフォルトの名無しさん (ワッチョイ 67ea-BU2+)2017/08/15(火) 14:38:44.06ID:uu1RAYqy0
expressと違ってフル版だからそこは新規に覚えるとこかな

461デフォルトの名無しさん (ワッチョイ fa19-aEKd)2017/08/15(火) 22:19:09.81ID:4mEDxDEa0
スレ違いかもしれませんが
基本認証のID/PASSでしっかり認識される最大文字数はどうなっていますか?


桁数を増やせば安全かと思い 30桁オーバーで設定していますが
そもそも基本認証では、前方8文字までしか認識されない、といったブログがありました。

462デフォルトの名無しさん (ワッチョイ be69-UL2x)2017/08/15(火) 22:41:40.92ID:o38j9B5b0
webbrowser1のボタンを押す処理でhtmlにnameが無くても
foreach (省略)
{
      if(省略)
 {
// 要素をクリック
he.InvokeMember("click");
}
}
で今まで全て問題なく押せましたが、今日、この書き方で押せないボタンがありました。
he.InvokeMember("click");を実行しても何も反応しないということです。。
ここに居る人でこのような問題を解決した人は解決方法か解決のヒントを教えてください。

463デフォルトの名無しさん (ワッチョイ 5baa-Eq/9)2017/08/15(火) 23:25:24.31ID:LXsTJVda0
>>461
仕様上の制限は特にない
サーバの実装上の制限は知らん

>>463
1GB超える文字列アタックで死にそうだな

465デフォルトの名無しさん (ワッチョイ fa19-aEKd)2017/08/15(火) 23:37:08.46ID:4mEDxDEa0
>>463
知らんかった!ありがとう!

466デフォルトの名無しさん (ブーイモ MMba-KsLg)2017/08/16(水) 00:11:54.50ID:NyarCuNKM
インターネット上のbasic認証っていざとなったら破られても
実害のないものぐらいにしか使わないほうがいいよ

とにかく破られる前提で

>>465
ハッシュ化にcrypt使ってたらそうなる

htpasswdのusageに書いてあるな

469デフォルトの名無しさん (オッペケ Srbb-CFLX)2017/08/16(水) 11:16:53.17ID:IhBdVBZAr
みんな、どういう現場でC#使ってるの?

ゲーム開発?

470デフォルトの名無しさん (ブーイモ MM26-UpZk)2017/08/16(水) 12:20:59.08ID:PSdbs+NyM
C#はエンタープライズ系がほとんどでしょ

トンガリ耳の宇宙人が乗ってるあれかワクテカだな

472デフォルトの名無しさん (スッップ Sdba-ymLp)2017/08/16(水) 12:46:29.97ID:qOG9houbd
業務アプリで使ってる

473デフォルトの名無しさん (ワッチョイ db04-KUHj)2017/08/16(水) 13:11:32.49ID:8/sKEHVn0
>>471
スポック「んなわけねーだろ、ばーか」

474デフォルトの名無しさん (ワッチョイ 9a11-GpN3)2017/08/16(水) 13:51:25.49ID:dFRX8QvB0
>>471
マッコイ「精神的に疲れているようだな、メディカルステーションに行こう」

475デフォルトの名無しさん (ワッチョイ fa19-aEKd)2017/08/16(水) 14:39:51.83ID:WlWiRltK0
C#(windows)しか知らん奴ばかりかと思ったけど

意外とlinux周りの知識ある奴もいるんだね。

雑魚ばかり、という訳ではなさそうだ

476デフォルトの名無しさん (オッペケ Srbb-CFLX)2017/08/16(水) 15:00:59.30ID:IhBdVBZAr
>>475
linux周りの知識がないと雑魚なの?

477デフォルトの名無しさん (オッペケ Srbb-CFLX)2017/08/16(水) 15:02:12.23ID:IhBdVBZAr
>>470
基幹システムってこと?

478デフォルトの名無しさん (ワッチョイ 9a11-GpN3)2017/08/16(水) 15:03:51.18ID:dFRX8QvB0
>>476
> C#(windows)
の時点で雑魚以下の奴に構うなよ

479デフォルトの名無しさん (ワッチョイ 8a91-W16a)2017/08/16(水) 15:06:37.38ID:6u80Tv+y0
VB++みたいなもんだもんな、C#

480デフォルトの名無しさん (オッペケ Srbb-CFLX)2017/08/16(水) 15:08:45.04ID:IhBdVBZAr
>>478
目糞が鼻糞笑ってたってこと?

481デフォルトの名無しさん (オッペケ Srbb-CFLX)2017/08/16(水) 15:10:04.02ID:IhBdVBZAr
>>479
どの辺がVB++?

482デフォルトの名無しさん (ワッチョイ 8a91-W16a)2017/08/16(水) 15:14:27.54ID:6u80Tv+y0
VBと比べて方言レベルの違いしかない

483デフォルトの名無しさん (オッペケ Srbb-CFLX)2017/08/16(水) 15:17:20.37ID:IhBdVBZAr
>>482
ああ、そういえば、C#でできることはVBでもできるって言ってた人がいたけど、そういうこと?

484デフォルトの名無しさん (ワッチョイ 9a11-GpN3)2017/08/16(水) 15:28:42.63ID:dFRX8QvB0
>>480
耳糞レベルの煽り? w

485デフォルトの名無しさん (オッペケ Srbb-CFLX)2017/08/16(水) 15:31:48.23ID:IhBdVBZAr
>>484
というか、linux周りの知識があれば雑魚ではなくなるのかなって…

目糞が鼻糞笑っててそれを耳糞が煽ってるだけならそれはそれでいいんだけど…

鍛え抜かれた筋肉がないと真のプログラマとは呼べんな

しょうもないことで荒れてまんなw

山形治生だと思ったけど、UNIX系の人が威張って他を見下してる
(今はそんなことないと思うけど)のは、昔メインフレーマーに同じことをされたからだって書いてたな

488デフォルトの名無しさん (オッペケ Srbb-CFLX)2017/08/16(水) 16:00:28.19ID:IhBdVBZAr
>>486
なるほどー。なんか名言のような気がする。

489デフォルトの名無しさん (オッペケ Srbb-CFLX)2017/08/16(水) 16:09:00.21ID:IhBdVBZAr
>>487
たとえばさ、何万個ものジャガイモの皮を剥いてきた料理人と料理好きの芸能人(グッチ裕三とか)とはやっぱ違うんだよね。

グッチを料理人と思う人はいないもんね。

490デフォルトの名無しさん (ワッチョイ 939d-aKZ1)2017/08/16(水) 20:58:12.89ID:2E64Am1a0
そしたら君の言う真の料理人達は
グッチ祐三をバカにしてると思うか?

491デフォルトの名無しさん (ワッチョイ 8b11-tHOy)2017/08/16(水) 21:10:36.48ID:i+NmnZ+e0
>>486
体力マジ大事

492デフォルトの名無しさん (オッペケ Srbb-CFLX)2017/08/16(水) 23:41:57.26ID:IhBdVBZAr
>>490
たしかに!
真の料理人は他の料理人をバカにはしない。

でも弟子には厳しいよ。

493デフォルトの名無しさん (ワッチョイ d319-oL0b)2017/08/17(木) 00:11:24.02ID:iTFxBfxz0
linuxの知識ねーやつは雑魚グラマ

494デフォルトの名無しさん (ワッチョイ b111-m0BB)2017/08/17(木) 00:25:27.24ID:DvHgRVVt0
ム板でやれ

495デフォルトの名無しさん (ワッチョイ b111-m0BB)2017/08/17(木) 00:25:52.50ID:DvHgRVVt0
違った、マ板でやれ

496デフォルトの名無しさん (ワッチョイ 616f-dsaK)2017/08/17(木) 01:03:52.74ID:ugZ0fkzt0
>>494
ハイ!

497デフォルトの名無しさん (ワッチョイ 396c-oL0b)2017/08/17(木) 16:54:44.90ID:fSYjKEAR0
プログラミング自体初めてで(3日目)、MSのチュートリアルをやってる最中です
https://msdn.microsoft.com/ja-jp/library/dd553230.aspx
このページの内容で質問があります

Listで並べたアイコン(text)をテープルレイアウト上に並べたラベルにランダムで次々に流し込むという内容ですが
次々に流し込むというのはテーブルレイアウトの次のマスへ順番に勝手に流れ込んでいくのですが
どこのマスへ…という指定がなくても、作動しています
で、そのテーブルレイアウトのマスを次々変えているのは簡単に言うと
foreach (Control control in tableLayoutPanel1.Controls)
でループしている間、その都度tableLayoutPanel1.Controlsを変更(適用?)して次のマスへ行く様に作動している
という認識で良いのでしょうか?

498デフォルトの名無しさん (ワッチョイ 2b61-oL0b)2017/08/17(木) 17:10:40.76ID:ur5EMh3c0
>>497
foreachは含まれる要素全てに実行される
tableLayoutPanel1.Controlsを変更じゃなくtableLayoutPanel1.Controlsに含まれる要素(inの前のControl control )にたいして実行される
デバッガでforeachの中にブレークポイント置いてcontrolの値がどう変わるか確認したほうが分かりやすい

499デフォルトの名無しさん (ワッチョイ 396c-oL0b)2017/08/17(木) 17:23:35.76ID:fSYjKEAR0
>>498
ありがとうございます
超初心者の自分にも凄く分かりやすい説明で助かりました
デバッガの使い方調べてみます

500デフォルトの名無しさん (オッペケ Sr4d-uth0)2017/08/17(木) 17:49:30.79ID:sB3nMuGZr
初めてとか超初心者を強調しすぎ。
ここは初心者用スレなのにしつこく強調する意図を勘ぐったり勘ぐらなかったり…

501デフォルトの名無しさん (ワッチョイ d319-oL0b)2017/08/17(木) 18:38:27.43ID:iTFxBfxz0
質問です。

>>500
小姑かよww
くっだらねえ

for文でデータスキャンしながら、不正データを除外するPGを
C#で書いて、SharpDevelopでVB化したら正常に動作しません。
同じ事が出来るっていう人は嘘つきだと思います。

504デフォルトの名無しさん (オッペケ Sr4d-uth0)2017/08/17(木) 19:03:38.85ID:sB3nMuGZr
>>502
申し訳ない。

必要の無いことをしつこくやってる人がいるとどうも気になってしまう体質でして…

505デフォルトの名無しさん (ワッチョイ 2ba2-oL0b)2017/08/17(木) 19:51:20.19ID:r/967Sma0
外部のアプリ(EXEファイル)を別プレセスで複数実行させるのどうやんの

506デフォルトの名無しさん (ワッチョイ 2b61-oL0b)2017/08/17(木) 19:56:19.12ID:ur5EMh3c0

507デフォルトの名無しさん (ワッチョイ 2ba2-oL0b)2017/08/17(木) 20:07:52.35ID:r/967Sma0
>>506
天才
インスタンス化したかったんだありがとう

508デフォルトの名無しさん (ワッチョイ 5bc8-faiX)2017/08/19(土) 05:38:22.41ID:pqlrWbIe0
タプルでコレクションの中身を書けばノイズが少なくていいかと思って配列に変換するコードを書いてみたら
なんか毒々しいものが出来たんだけどどうすれば改善できる?

http://ideone.com/nfbYcC

509デフォルトの名無しさん (ワッチョイ 816e-I7lA)2017/08/19(土) 09:03:58.70ID:GJ9v1oeu0
>>508
タプルはコレクションではないのでそんな間違った発送は捨てる

510デフォルトの名無しさん (ワッチョイ 81c0-oL0b)2017/08/19(土) 09:46:57.21ID:L0VsKhKh0
>>508
自前のメソッドなんて使わなくてもSelect使えばIEnumerableなTaple作れると思うが

511デフォルトの名無しさん (ワッチョイ 5bc8-faiX)2017/08/19(土) 10:19:25.53ID:pqlrWbIe0
new[]{ hoge, hoge } だと冗長やん?
(hoge, hoge) ならスクリプト言語並みにスッキリするから
科学技術計算かなにか向けに数値のリストを渡そうなんて時にはいいよね
一次元ならint[] Nums(params int[] nums) => nums; みたいなのを書けば
Nums(3,4,5)といった感じで可読性もバッチリだけど
問題は二次元になった時
new int[][]{
 Nums(1,2),
 Nums(3,4,5)
}
毎行Numsが出てきたら冗長すぎて耐えられない
どうしてもこうしたい
var hoge = NumArray2(
 (2, 3),
 (4, 5, 6)
);
int[][] NumArray2(params IStructuralComparable[] tuples) => tuples.Select(tuple => tuple.TupleToArray<int>()).ToArray();

512デフォルトの名無しさん (エムゾネ FFb3-jXEI)2017/08/19(土) 11:04:54.36ID:Qv1Dw1g0F
Dictionary

でもそれメタプロで遅いし型チェック効かなくなるじゃん
だったらスクリプト言語を使いなよ

514デフォルトの名無しさん (ワッチョイ 5bc8-faiX)2017/08/19(土) 13:49:29.79ID:pqlrWbIe0
http://ideone.com/RUcYj6 速度はこれでだいぶまともになると思う

515デフォルトの名無しさん (ブーイモ MM35-I7lA)2017/08/19(土) 13:54:04.95ID:y3ZCFtJSM
>>511
そんなもん一次元で渡してから二次元に変換すりゃいいだろ
括弧すら必要ない

516デフォルトの名無しさん (ワッチョイ 5bc8-faiX)2017/08/19(土) 14:32:05.62ID:pqlrWbIe0
>>515
1, 2, Delim,
3,4, 5, Delim

みたいに区切りを書くの?
それだとNum(1,2)みたいにするのと冗長さは変わらんでしょ

517デフォルトの名無しさん (ワッチョイ 816e-I7lA)2017/08/19(土) 14:39:34.62ID:GJ9v1oeu0
>>516
科学技術計算なら矩形しか使わないからデリミタなんか要らん
numpyなんかだとreshapeで行列の型を読み替えたりするのは普通に行われている

遅すぎわろた

public struct TupleWrapper<T> {
public TupleWrapper(object tuple) { tupleOrValue = tuple; }
public T Value => (T) tupleOrValue;
public int Length => CountItemField() < 8 ? CountItemField() : 7 + GetRest().Length;
public TupleWrapper<T> this[int index] => GetItem(index + 1);
private TupleWrapper<T> GetItem(int i) => i < 8 ? new TupleWrapper<T>(GetItemField(i).GetValue(Tuple)) : GetRest().GetItem(i - 7);
private FieldInfo GetItemField(int i) => Tuple.GetType().GetField($"Item{i}");
private TupleWrapper<T> GetRest() => new TupleWrapper<T>(GetRestField().GetValue(Tuple));
private FieldInfo GetRestField() => Tuple.GetType().GetField("Rest");
private int CountItemField() => Tuple.GetType().GetGenericArguments().Length;
private object Tuple => tupleOrValue;
private readonly object tupleOrValue;
}

var t = (
(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20),
(11, 22, 33, 44)
);
var w = new TupleWrapper<int>(t);

for (int i = 0; i < w.Length; ++i) {
for (int j = 0; j < w[i].Length; ++j) {
Console.Write($"{ w[i][j].Value } ");
}

Console.WriteLine();
}

519デフォルトの名無しさん (ブーイモ MM35-cIbb)2017/08/19(土) 15:31:46.04ID:5zKij7dqM
>>518
初心者スレであんたどうしたいの?

520デフォルトの名無しさん (ワッチョイ 5bc8-faiX)2017/08/19(土) 15:40:55.40ID:pqlrWbIe0
>>517 矩形しか使わないわけないやろ
まあ一行の個数が決まってるなら普通にTuple指定すれば型安全にちゃちゃっと書ける

csv読み込め

522デフォルトの名無しさん (ワッチョイ 5bc8-faiX)2017/08/19(土) 19:50:47.56ID:pqlrWbIe0
たとえば1回目の実験では15人の被験者がいました
2回目では13人で3回目は20人でN回目はM人でしたと
一人分のデータには名前とか年齢とかいろんな型のデータが使われます
これを一気に処理しようとすれば一人分のデータの型は固定の2次元ジャグ配列になるよね
このデータを書く時にVisual Studioで書けば、データ型のエラーは即検知してくれるしデータを修正するときにもエクセルとか立ち上げなくて済むしJSONみたいな冗長な型式にして可読性を犠牲にしなくてもいい
別のスクリプト言語を実行するための環境を用意しなくても済むしその言語の変な仕様に足をすくわれることもない
いいことづくめでしょ タプルを使えばね

523デフォルトの名無しさん (ブーイモ MM35-I7lA)2017/08/19(土) 20:09:37.64ID:y3ZCFtJSM
>>522
そんなデータをソースにリテラルで書くことがどれだけあるのだろう
そういうデータ処理はわりとよくやるけどPythonやPerlですらソースに書くなんてやったことないわ

524デフォルトの名無しさん (ワッチョイ f94b-jLVh)2017/08/19(土) 20:10:28.00ID:xJNDdKxb0
>>522
そのケースだとタプル使う意味なくね?

525デフォルトの名無しさん (ブーイモ MM35-I7lA)2017/08/19(土) 20:17:26.15ID:y3ZCFtJSM
まあ実験IDか実験日を持たせるわな
重複が嫌なら正規化するべきだし

526デフォルトの名無しさん (ワッチョイ 61e2-WUop)2017/08/19(土) 20:24:22.85ID:FWLPt1pK0
バカが例を出すとこうなるよな

527デフォルトの名無しさん (ワッチョイ 9391-jLVh)2017/08/19(土) 20:34:08.67ID:xhyE7NbO0
Nが少ないなら高速処理要らないんだしファイル経由でいい
N多いならそもそもデータベースかファイル群として格納しとけっていうデータやね
数値計算で扱うデータではないよ

だからデータはソースじゃなくて外に出せよ
c#入門したてでファイルの読み込みできないのかもしれないけど
勉強したほうがいいぞ

最低でもcsvにしとけば他でも使いやすい

529デフォルトの名無しさん (ブーイモ MM35-I7lA)2017/08/19(土) 20:51:46.08ID:y3ZCFtJSM
なるべく細かく設計するならこんな感じだな
実験(実験ID, 実験日, …)
実験結果(実験ID, 被験者ID, 項目1の結果, 項目2の結果, …)
被験者(被験者ID, 氏名, 年齢, …)
1項目ごとに結果の値が複数個あるなら項目ごとに別々の実験結果テーブルを作ったしたほうがいいかもね

実験するたびに手作業でタプル書いてリビルドするとか斬新な修行方法だな

531デフォルトの名無しさん (ワッチョイ 9391-jLVh)2017/08/19(土) 21:22:03.91ID:xhyE7NbO0
データは流石に機器制御で自動取得なのでは

最近は横着しだしてcsvじゃなくてタブ区切りにしてる

533デフォルトの名無しさん (ワッチョイ c932-6J24)2017/08/19(土) 23:16:55.78ID:6Hx+8ODk0
>>532
所謂TSVってやつだけど、知名度いまいちだね。
Excelでそのまま開いてくれないから、採用し辛い。

>>533
今のは開かないのか
前のは普通におkだったけど

535デフォルトの名無しさん (ワッチョイ 81c0-oL0b)2017/08/19(土) 23:40:22.90ID:L0VsKhKh0
>>533
普通に開けるよ
方言でトラブル多いCSVよりTSV使って欲しいわ

どっとも同じにしか思えないけどw
CSVで起こるトラブルは全部起こるんじゃないの?
セパレーターが違うだけじゃんw

ただ、TSVってクリップボード経由でエクセルに矩形(N列×M行)のデータ
貼り付けに使えるんだよね。
それ以外の用途で使ったことないなあ

>>536
いやいや普通のテキストには普通にコンマ入ってるけどタブは入ってない
これが重要

538デフォルトの名無しさん (ワッチョイ d319-oL0b)2017/08/20(日) 01:21:28.72ID:ry172e0x0
TVで報道されない真実


集計マシーン  ムサシ


作ってる会社は?


wwww
一番触れられたくない部分www 税金垂れ流しで身内がばぶってる糞安倍特需

>>537
確かにカンマの方が頻度が圧倒的に高いのはそうだね

プログラマの端くれだからどうしても「例外的な状況でも問題を起こさないか?」
って視点で考えちゃうけど、現実論としてはそうかもしれん

540デフォルトの名無しさん (ワッチョイ 81c0-oL0b)2017/08/20(日) 02:16:19.45ID:g2LxWR3u0
>>537
それを区別するためにダブルクォーテーションを先頭と末尾につけて更にドツボにハマるケースとかあるしな

541デフォルトの名無しさん (ブーイモ MMc5-VWtH)2017/08/20(日) 03:12:20.91ID:sDPteTwuM
そう、C#ならね

542デフォルトの名無しさん (ブーイモ MMc5-VWtH)2017/08/20(日) 03:14:12.06ID:sDPteTwuM
>>535
え、もしかしてcsvのcって、カンマで、tsvのtってタブなの??

543デフォルトの名無しさん (ワッチョイ 5bc8-faiX)2017/08/20(日) 05:20:55.44ID:Z/sZ4AZQ0
だから言ってるだろ
ソースに書いたほうが何もかもいいんだよ
いちいち別ファイルにして読み込んで混乱してもなんにもいいことはないし
修正にも手間がかかる
仮想的にデータを修正して結果がどうなるか調べていって新たな実験のプランを立てたりもするのだから
デリケートでミスが多い型式にするのも可読性を犠牲にするのも何も合理的じゃない
ソースにデータを書いてはいけないというのはただの思いこみに過ぎない

544デフォルトの名無しさん (ワキゲー MMa3-Gskc)2017/08/20(日) 05:41:01.10ID:MYcnjkMXM
>>543
データ変わるときには再コンパイル?

545デフォルトの名無しさん (ワッチョイ 13c4-WUop)2017/08/20(日) 08:23:09.88ID:NOqm8CtN0
引っ込みつかなくなったガキ

546デフォルトの名無しさん (ワッチョイ 5bc8-faiX)2017/08/20(日) 09:11:36.31ID:Z/sZ4AZQ0
>>544
もちろん
C#なら一瞬 なんならプロジェクト分ければそこしかコンパイルされない

547デフォルトの名無しさん (ワッチョイ 5966-oL0b)2017/08/20(日) 09:18:37.94ID:WBEiN1za0
TSVを使えると言うならソース側のソフトもいじれることを示すわけで
両方いじれるならIPCでも使ったほうが使い勝手が良さそう

ケースバイケースだけどね

548デフォルトの名無しさん (ワッチョイ 5bc8-faiX)2017/08/20(日) 09:19:33.42ID:Z/sZ4AZQ0
もっと根本的なことを言えば、なぜこの世にスクリプト言語があるかと言えば
プログラミングの外側にスクリプティング 作ったライブラリをただ呼び出すフェーズがあり
その外にさらにデータを作るフェーズ これはプログラミング言語を使う必要もなく
データ記述に特化したアプリを使うことが多いわけだが
出来るものは全部C#でやったほうがいい Visual Studioはそれだけ優れた記述環境だ
ライブラリを呼び出す時のインテリセンスのサポートは圧倒的だし
データの型式エラーもリアルタイムに発見できる
言語自体の記述の冗長性の低さもタプルで一段先に進んだ

549デフォルトの名無しさん (ワッチョイ 816e-I7lA)2017/08/20(日) 09:25:57.99ID:02zgg1Cu0
こういう時期あるよね
俺も経験あるわ
君が言っているようなことは誰でもみんな一度は考えて試したことがあるんだよ
プログラミングのベストプラクティスは自分の考えでやってみて壁にぶち当たって初めて身につくものだから、君はそのままでいいと思うよ

550デフォルトの名無しさん (ワッチョイ 994d-jLVh)2017/08/20(日) 09:28:02.98ID:4v9fraNU0
こういう時期あるよね
俺も経験あるわ
君が言っているようなことは誰でもみんな一度は考えて試したことがあるんだよ
プログラミングのベストプラクティスは自分の考えでやってみて壁にぶち当たって初めて身につくものだから、君はそのままでいいと思うよ

551デフォルトの名無しさん (ワッチョイ 5bc8-faiX)2017/08/20(日) 09:47:38.37ID:Z/sZ4AZQ0
自演はするのに書き込みにロジックはない
恥ずかしいなお前

552デフォルトの名無しさん (ワキゲー MMa3-Gskc)2017/08/20(日) 09:54:32.77ID:MYcnjkMXM
>>546
お前がそれでいいならいいけど俺ならそんなどうでもいいことまで保守しなきゃならないプログラムは避けるなぁ

553デフォルトの名無しさん (ワッチョイ 816e-I7lA)2017/08/20(日) 09:58:05.52ID:02zgg1Cu0
>>551
君の言っていることは理屈の上では正しいからな
教科書的な否定意見を述べることはもちろんいくらでもできるけど、君がそれを受け入れないことも分かってる
なぜなら俺自身がそうだったからね
これはプログラムというものがどういう状況で使われたりどういう理由で変更されたりすることが多いか、といった、
きわめて経験的な問題であって、演繹的なロジッで白黒付けられるような問題じゃないの

554デフォルトの名無しさん (ワッチョイ 5bc8-faiX)2017/08/20(日) 10:16:08.57ID:Z/sZ4AZQ0
>>553
議論の目的は相手を言い負かすことではないから俺が受け入れるかどうかなどどうでもいいし
ロジックでは説明できないと言い張るのも全く論理的な態度ではない 少なくともプログラマーが取るべき態度ではない

>>552
データの管理をプログラマーがやらなきゃならなくなるって話か?
データを書いて管理するのもスキルが必要だしそのスキルを学べたならC#のデータ記述ぐらい学べる
プログラミング技術ではなくデータ書式を覚えるだけなんだから
それにこの方式なら自然にデータがバージョン管理されるから何か問題が起きた時に再現したりも簡単にできる

555デフォルトの名無しさん (ワッチョイ 81c0-oL0b)2017/08/20(日) 10:22:57.60ID:g2LxWR3u0
ソース管理履歴が入力データの数値変更とかある意味斬新な使い方だな

556デフォルトの名無しさん (ブーイモ MM35-I7lA)2017/08/20(日) 10:43:36.19ID:xUVeBm+tM
>>554
その使い方を他人に教えるのは少なくとも最初はお前の仕事なんだぞ?
VSのインストール方法、ソースの変更箇所や変更方法、ビルド方法、全部教えるの?
外部のスクリプトから毎回パラメータを変更して繰り返し実行したいときはどうするの? 実験データの処理なんかだとよくあるよね
毎回本体に手を入れるの? 他人にもそれを求めるの?

データが変わったり増えたりするたびにコンパイルしなおす環境を
是とするのは初心者だけ

コンパイル5分とかのプロジェクトが普通にあるんだけど

558デフォルトの名無しさん (ワッチョイ 61a0-WUop)2017/08/20(日) 10:57:55.80ID:VzkR/TOU0
実際初心者なんだからいいだろ
何をムキになってんの

お前も初心者Lv2くらいなんしゃねーの

559デフォルトの名無しさん (ワッチョイ 5bc8-faiX)2017/08/20(日) 11:29:10.12ID:Z/sZ4AZQ0
だからプロジェクトを分ければそこだけしかコンパイルされない
VSの使い方は別に難しくない しかもデータを書くだけなんだから使う機能はほんの一部

データほどバックアップが必要なものはないからバージョン管理するのも当然
上書きしたデータはしばしば必要になるがデータは消えたらまず戻らない
ソースコードの変更履歴なんてのは消えても必要なら書き直せばいいだけだからな

パラメータを変えながら繰り返し実行したいならC#で書けばいい
繰り返しになるがそこだけプロジェクトを分ければそこしかコンパイルされない
スクリプト層のように一方的に使う側は書き換えても何も他に影響を及ぼさない
データのように書き換えてもプログラム上のインターフェースが変わらないものも同じだ

560デフォルトの名無しさん (ワッチョイ 994d-jLVh)2017/08/20(日) 11:33:38.19ID:4v9fraNU0
>>557
プログラムにデータベタ書きは日本のSIerなら常識だぞ。
変更のたびに改修費取れるからな。消費税率なんかみんなベタ書きだ。

>>555
データをバージョン管理ツールに突っ込むのはたまにやる

562デフォルトの名無しさん (スップ Sdb3-jXEI)2017/08/20(日) 12:01:00.60ID:8rqqhxmUd
>>557
コンパイル5分はさすがに設計が悪いとしか

>>559
だからこそ外に出したほうがいいんではないかと普通に思うんだけど
外に出しておけばほかのツールなどでも使えるし

馬鹿な初心者はなんで食い下がりたがるんだろうか?という疑問はいつか解消されるのか

なんかしょうもないことで揉めてるなあ。
こんなの要件その他しだいのケースバイケースでしょ。

まさか文字列や数値のリテラルまで否定する人はいないわけで、
そういう感覚で複雑なデータをコードに直書きした方が好都合な場合もそりゃないことはないと思うよ。

いつでもどんな場合もそうした方がいいと言ってるならお馬鹿さんだけどさ

565デフォルトの名無しさん (スップ Sdb3-jXEI)2017/08/20(日) 12:20:57.99ID:8rqqhxmUd
>>563
テストケースで使うデータはテストコードと強く結びついてるからコード中に書く場合もある
ひとつの手段を「普通」と言い切ってしまうのは浅はか

566デフォルトの名無しさん (ワッチョイ f932-jLVh)2017/08/20(日) 12:40:50.18ID:3qMRQsNA0
c#でjsonにシリアライズしたいんですが、キーは文字、値は文字と数字としたい場合
どのような型を使えばいいのでしょうか?

例えば、jsonの表記を以下のようにしたいということです。

{
"test": [
{
"a": "aaaa",
"b": 123456789,
"c": "ccc",
"b": "987654321,
},
{
"a": "aaaa",
"b": 123456789,
"c": "ccc",
"b": "987654321,
}]
}

567デフォルトの名無しさん (ワッチョイ f94b-jLVh)2017/08/20(日) 13:02:04.31ID:/Yfo0eFx0
>>562
6年ほど前に某F通のフレームワーク使ったときはビルドに10分とかかかってたわ

568デフォルトの名無しさん (ブーイモ MMab-I7lA)2017/08/20(日) 13:04:52.88ID:+32tL3aOM
>>566
objectかdynamic

569デフォルトの名無しさん (ブーイモ MMab-I7lA)2017/08/20(日) 13:10:16.81ID:+32tL3aOM
いや訂正
>>566なら普通にa, b, c, dをプロパティとして定義した型を使えばいいな

>>566
var obj = new {
test = new [] {
new {
a = "aaaa",
b = 123456789,
c = "ccc",
d = "987654321"
},
new {
// ry
}
}
};

var s = NewtonSoft.Json.JsonConvert.SerializeObject(obj);

571デフォルトの名無しさん (ワッチョイ f932-jLVh)2017/08/20(日) 14:03:08.79ID:3qMRQsNA0
お二方とも、ありがとうございました。
オブジェクトを使って無事にやりたいことができました。

572デフォルトの名無しさん (ワッチョイ 5bc8-faiX)2017/08/20(日) 15:36:32.78ID:Z/sZ4AZQ0
>>563
データを別の環境から使いたいならJSON.NETでも使えばいいだけ
しかしJSONは冗長だから管理には向かないが
CSVみたいなのも自分が何の値を触ってるのかわからなくなりがちだから難しい
だから元データにはC#&VSを使うべき

タプルのいいところはもうひとつあるな こっちの方が重要かもしれないが
コードでデータを書こうとする場合、データの型とプログラムに依存関係が発生してしまう場合がある
C#でデータを書くには型が必要で プログラムで処理するにも入力する型が必要
「プログラムは再利用するものだ」という観念があるとここで型を使いまわして依存関係が発生してしまう
プログラムで処理したい型に合わせて元データを書いていると、プログラムの方の仕様変更で型が変わっても元データをいじるわけにはいかず対応が難しくなる
もともとデータはデータであってデータの汎用性を最大にするためにも変更に強くするためにもプログラムと依存関係は持つべきじゃない
依存関係はコンパイルにも影響する
しかし同じ型を二つ作ってやりとりするのはめんどくさかった
(まあJSONやCSVを使える型に直すよりはずっと楽だが)

この問題はタプルで解決する
タプルの型が使いまわせるうちはそのまま渡せばいいし
使いまわせなくなったら必要な変換コードを書けばいい

>>564
見積りに入ってねぇのに勝手にやったらぶっ殺すけどな
テスト工数とかものすげー増えんじゃん

>>572
タプルってpythonのごった煮のゴミだろ
いらねーよ

575デフォルトの名無しさん (ブーイモ MMab-I7lA)2017/08/20(日) 15:48:19.19ID:+32tL3aOM
>>572
そうそう
それを突き詰めていくと「CSVかJSONでよくね?」となるんだよ
こっち側まであと半年くらいかな

pythonのお仕事が来ると
あまりにも変態的な使い方をするやつが多かったのか
使用禁止例もいっしょに出るので注意な

577デフォルトの名無しさん (ブーイモ MMab-I7lA)2017/08/20(日) 15:56:43.69ID:+32tL3aOM
Pythonのタプルが要素の取り違えを非常に起こしやすいのは確か
C#のタプルは常にフィールド名を型に含めておけるからだいぶマシだと思うよ

>>577
いやいや
どんな設計になっとんねん
将来的にデータベースに移すとかなったらそんなテーブルどう作んねん

>>572
素晴らしいアイデアだ
是非とも世界中に広めてくれ
ちなみにこのスレのみんなはもう君の素晴らしいアイデアは理解したから
別のコミュニティに行って啓蒙した方がいいと思うぞ
業界のデファクトスタンダードになったら業務にも導入するよ

なんでもできちゃう仕組みは実は何にもしない
これがわからんうちは素人
俺らは制限を加える代わりに機能を作成している

581デフォルトの名無しさん (ワキゲー MMa3-Gskc)2017/08/20(日) 16:09:34.46ID:MYcnjkMXM
>>554
そう考える方もいるんだね
データと処理は分けたい!ってクセになってるので状況に応じて柔軟に考えるようにするわ

582デフォルトの名無しさん (ワッチョイ d319-oL0b)2017/08/20(日) 16:16:50.41ID:ry172e0x0
LINUX あきらめた人がC#やってるってまじ?

>>581
せめて客と打ち合わせして
誰向けにどんな頻度で読み込むのか
相談しろよ
しかしやはりテスト工数とか超無駄
頼んでもいねー機能が入っちゃってるし
コードレビューやるとこだと
会議室静まり返るわ

584デフォルトの名無しさん (ワキゲー MMa3-Gskc)2017/08/20(日) 16:24:22.45ID:MYcnjkMXM
>>583
で?

>>584
お前扱いにくいやつになっちゃったんだな
場所によっては通用しないだろうな

加不足なくキッチリ作ってこそプロ
塗装屋に屋根だけじゃなく壁も塗られたら嫌だろ

587デフォルトの名無しさん (ブーイモ MMab-I7lA)2017/08/20(日) 16:47:40.00ID:+32tL3aOM
>>582
大雑把に言えば間違ってはいないな
俺は基本的にLinuxファーストで構成組むけど、どうしてもどうしてもWindowsを使わざるを得ない場合にC#を使う

>>582
LinuxできないのにC#は今後キツイぞ

589デフォルトの名無しさん (ワッチョイ 13c4-WUop)2017/08/20(日) 17:24:54.81ID:NOqm8CtN0
素人さんにそんなこと言っても分からんだろ

590デフォルトの名無しさん (ワッチョイ d319-oL0b)2017/08/20(日) 17:35:16.04ID:ry172e0x0
>>587
やっぱりそうだよな。
スキルとか知識面で
Linuxベース+Windowsの人間の方がきもいけど知識は豊富

591デフォルトの名無しさん (ワッチョイ f94b-jLVh)2017/08/20(日) 17:43:20.05ID:/Yfo0eFx0
まーた流れが変になったきた

592デフォルトの名無しさん (ワッチョイ 2ba2-oL0b)2017/08/20(日) 17:57:07.82ID:lAN4MCjV0
Linux出来ないってなんだよ

593デフォルトの名無しさん (ブーイモ MM35-VWtH)2017/08/20(日) 18:19:33.30ID:qRBovfU3M
>>570
library使ってるの言わなきゃわかんねーだろw

594デフォルトの名無しさん (ブーイモ MM35-VWtH)2017/08/20(日) 18:22:32.24ID:qRBovfU3M
タプルって必要?

595デフォルトの名無しさん (ワッチョイ c16f-jLVh)2017/08/20(日) 18:24:23.09ID:RTInNZ8f0
Linux出来ないの意味がわからない

596デフォルトの名無しさん (ブーイモ MM35-VWtH)2017/08/20(日) 18:24:46.30ID:qRBovfU3M
タプル使っても結局戻り値の受け皿となる型用意しなきゃいけないし、だったら最初からその型で返却すればいいとおもうのですが。

>>572
コードの中に埋め込んでる状況が一番依存性が高いだろうwww

本当の馬鹿ってこんなところにいるんだな…

598デフォルトの名無しさん (ワッチョイ 5966-oL0b)2017/08/20(日) 19:02:37.86ID:WBEiN1za0
>>596
var

599デフォルトの名無しさん (ワッチョイ 93ea-7xTZ)2017/08/20(日) 19:16:42.28ID:CkRUpBQZ0
タプルはその型にちょうどいい名前がつかない時が使いどころ
なくてもそんなに困らないけどあると便利な場面は多い

全部タプルで組まれるテロ

601デフォルトの名無しさん (ワッチョイ 110b-wwH0)2017/08/20(日) 20:04:50.98ID:5Qhm1OO+0
タプルは7.0のタプル型になってから戻り値で使うようになった

からだすこやか茶〜

603デフォルトの名無しさん (ワッチョイ b111-m0BB)2017/08/20(日) 20:32:10.39ID:TNLMpcMk0
C#はバージョン毎に結構あれこれ追加されて常識が変わってくからな
最新バージョンを追い掛け続けてる人とそうでない人で、話が通じなくなる事もしばしば

俺も割りと4.0くらいで頭の中が止まってるかもしれない

604デフォルトの名無しさん (ワッチョイ 61e3-jLVh)2017/08/20(日) 20:35:21.31ID:PJX+MB9c0
せっかくJavaやCが戻り値はひとつにしようと糞コード撲滅の努力をしてきたのに

605デフォルトの名無しさん (ワッチョイ 13c4-WUop)2017/08/20(日) 20:38:12.45ID:NOqm8CtN0
JavaやCみたいな前世紀の遺物

606デフォルトの名無しさん (ワッチョイ ab6f-oL0b)2017/08/20(日) 20:41:00.60ID:WpPKXiqN0
クラスじゃなくてタプルで返すべき場面てある?

607デフォルトの名無しさん (ワッチョイ 93ea-jXEI)2017/08/20(日) 20:47:43.32ID:tm2H9Mai0
>>604
JavaやCワロタwww

608デフォルトの名無しさん (ワッチョイ 61e3-jLVh)2017/08/20(日) 21:17:50.95ID:PJX+MB9c0
>>606
戻り値のためにクラス作るのがなんか心理的に重い

>>608
戻り値にデータが複数必要ってどんなときだべ?
もちろんなかったわけじゃないが
エラーとエラーログみたいな?

610デフォルトの名無しさん (ワッチョイ 2b61-oL0b)2017/08/20(日) 21:38:30.65ID:woceXaSP0
>>609
たとえば画像データだと画素データだけでなくチャンネル数や各チャンネルの大きさ、縦と横の(特に横)の長さが必要になる
これだけで例えばバイト配列といくつかのintが必要になる

>>610
全然適切な例になってない気が
それ、明らかにクラスまたは構造体にまとめるべきデータでしょ

まあ、一つの型にまとめたくない複数のデータを一つのメソッドから返したい、
なんて率直に言ってうんこの臭いしか感じないね。

612デフォルトの名無しさん (ワッチョイ 2b61-oL0b)2017/08/20(日) 21:59:18.22ID:woceXaSP0
>>611
「クラスや構造体でまとめられないデータ」に対する回答でなく
「複数の戻り値が必要なデータ」に対する回答なんだけど

613デフォルトの名無しさん (ワッチョイ 9996-jLVh)2017/08/20(日) 22:07:06.65ID:lGh3jxXl0
別の場所でも入力にも使うようならクラスなりで定義すべきだけど
なんちゃらResultとか名前を付けたくなるような
特定の場所の戻り値でしか使わないデータのまとまりはタプルって感じかなあ

614デフォルトの名無しさん (ワッチョイ 61e3-jLVh)2017/08/20(日) 22:09:47.01ID:PJX+MB9c0
一連のDBと入力の整合性チェックをまとめたとき
処理途中でとってきたDBの値を使いまわしたい場合とか

Result 処理途中でとってきたDBのDtoいっぱい = checkなんちゃら(画面入力.id, 画面入力.数量)

とかのためにクラスつくるのがなんとなくイヤで
タプルで楽したくなる

615デフォルトの名無しさん (ワッチョイ 81c0-oL0b)2017/08/20(日) 22:10:45.97ID:g2LxWR3u0
>>613
スコープの範囲次第で使い分けかなと考えているけど、職場ではTaple使えない悲しい現実

616デフォルトの名無しさん (ワッチョイ 81e6-VWtH)2017/08/20(日) 22:25:47.11ID:KFJuIj/g0
>>598
varすげえええ

617デフォルトの名無しさん (ワッチョイ 81e6-VWtH)2017/08/20(日) 22:28:08.05ID:KFJuIj/g0
>>603
会社が4.0の環境でasynce await使えないからよくわかるわ。

618デフォルトの名無しさん (ワッチョイ 81e6-VWtH)2017/08/20(日) 22:29:23.05ID:KFJuIj/g0
>>609
今時のAPIなんてほとんどjsonだろうに。

619デフォルトの名無しさん (ワッチョイ b111-m0BB)2017/08/20(日) 22:45:48.34ID:TNLMpcMk0
>>617
環境変えるとビルド結果のバイナリが変わってしまうかも知れない、て不安があるとどうしてもな

C#の話じゃないけど、Borland C++ Compiler(5.5.1)のコマンドライン版は問題なく使えるのに
後発の2006年版Turbo C++に含まれてる奴は、リソースコンパイラにバグがあってコマンドラインから呼ぶと正常に機能せずにしばらく頭を捻るとか
そういうしょーもない例も過去にある

分解構文は気持ちがいいぞ
タプルの存在意義なんてほぼ全て分解構文のためだろ
手軽に変数をまとめたいとかそんなんどうでもいいんだわ

621デフォルトの名無しさん (ワッチョイ d319-oL0b)2017/08/21(月) 00:39:12.05ID:g6ClmGpT0
Linuxの覚えることの多さに挫折した奴が

Visual Studio使って開発もどきをしている

622デフォルトの名無しさん (ワッチョイ c16f-jLVh)2017/08/21(月) 01:55:10.53ID:qkKjHqu10
意味ワカンネ
Linuxむしろ全然楽じゃん
windowsめんどくせー

>>622
linuxの画面表示版
最速HelloWorldってどーなんの?

624デフォルトの名無しさん (ワッチョイ c16f-jLVh)2017/08/21(月) 02:24:14.96ID:qkKjHqu10
>>623
画面表示版とは?

>>624
WinFormみたいな奴

626デフォルトの名無しさん (ワッチョイ c16f-jLVh)2017/08/21(月) 03:17:22.85ID:qkKjHqu10
>>625
最速ってのがわからないけどこんなん?
http://www43.atpages.jp/opicon69/xlib/t05.html
昔やってたwindowsSDKみたいな感じだな。まあ普通はGUIライブラリ使うんだろうけど

>>626
win32api思い出したわ
そうかlinuxで組むとそうなるか

>>626
ありがとうございました

629デフォルトの名無しさん (ワッチョイ 8179-cJPH)2017/08/21(月) 07:38:19.57ID:io7xKced0
>>628
いいってことよ(´・ω・`)b

630デフォルトの名無しさん (ブーイモ MM35-VWtH)2017/08/21(月) 12:33:00.92ID:7ZS301rmM
Visual Studio意外でC#書いてるやつはマゾなのか??

631デフォルトの名無しさん (ブーイモ MM35-I7lA)2017/08/21(月) 12:39:26.81ID:g1AySmchM
マゾっていうかバカの一つ覚え

632デフォルトの名無しさん (スプッッ Sdf3-jXEI)2017/08/21(月) 12:45:15.76ID:RM3yKiI1d
>>630
最近ずっとプライベートではVSCode…

633デフォルトの名無しさん (スップ Sdf3-jXEI)2017/08/21(月) 12:46:13.25ID:voUPNyzbd
>>631
ごめんちょっとよくわからない

VSCodeがいまんとこベストかな
C#だけならVS IDEでもいいけど

635デフォルトの名無しさん (ワッチョイ ab84-oL0b)2017/08/21(月) 19:16:37.63ID:unnUdLF20
ライダーってどうなの?

636デフォルトの名無しさん (ワッチョイ 93ea-jXEI)2017/08/21(月) 19:30:53.20ID:61WjIS0b0
>>635
NuGetのパッケージマネージャーが軽くてびっくりした

637デフォルトの名無しさん (ワッチョイ e14b-m4kK)2017/08/21(月) 19:41:32.56ID:itmc25rV0
Nugetから持ってきたパッケージがウイルス感染している危険性は無いの?

638デフォルトの名無しさん (ブーイモ MM35-I7lA)2017/08/21(月) 21:28:45.58ID:g1AySmchM
>>637
MSのサーバーがやられてバイナリが感染する可能性を考慮すると
Windows UpdateもVS本体のオンラインインストールも、あらゆるダウンロード行為が何一つ安全でなくなるので、それは考慮しなくていいだろう
その上でNuGet特有のリスクは、第三者によるレビューなしに誰でもパッケージを登録でき、登録した本人であればいつでもそれを更新できること
例えばJSON.NETの作者がこっそりマルウェアを仕込んだらとんでもない被害が出るだろうね
その点についてMSが保証するのは他人のなりすましによる登録や更新が行えないことだけで、作者の人格を信用するかどうかはお前自信の責任

ソースチェックすればいいじゃん
なんのためのオープンソースだよ

640デフォルトの名無しさん (ブーイモ MM35-I7lA)2017/08/21(月) 21:40:21.89ID:g1AySmchM
>>639
公開されているソースとバイナリが一致している保証はない

641デフォルトの名無しさん (ワッチョイ 994d-jLVh)2017/08/21(月) 21:49:47.54ID:edNFVMcB0
ソースが公開されても誰もチェックしないよ。OpenSSLで証明済みじゃないか。

642デフォルトの名無しさん (ワッチョイ d319-oL0b)2017/08/22(火) 19:57:59.09ID:S++Cl2tB0
PCですが、室温が何度までだったら耐えられますか?

これ以上あがるとまずいという温度があれば教えてください。

643デフォルトの名無しさん (ワッチョイ b111-m0BB)2017/08/22(火) 20:01:02.01ID:EXI53gop0
スレチだが一応答えると
室温じゃなく、CPU・グラボ・HDDの温度を気にしろ

644デフォルトの名無しさん (ワッチョイ f94b-jLVh)2017/08/22(火) 20:02:03.90ID:u7G+rQ2a0
>>643
Linux君はスルー推奨

645デフォルトの名無しさん (ワッチョイ d319-oL0b)2017/08/22(火) 20:17:38.32ID:S++Cl2tB0
>>643
何度位までなら平気?

最大積載量:積めるだけ
まで読んだ

新着レスの表示
レスを投稿する