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

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

レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん2015/10/02(金) 20:50:08.06ID:IGV3Viy6
「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。

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

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

なお、テンプレが読めない回答者は邪魔なので後述のC#相談室に移動して下さい。

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

■前スレ
ふらっと C#,C♯,C#(初心者用) Part116 [転載禁止](c)2ch.net
http://peace.2ch.net/test/read.cgi/tech/1436344868/

■関連スレ
C#, C♯, C#相談室 Part89 [転載禁止](c)2ch.net
http://peace.2ch.net/test/read.cgi/tech/1443271409/

■コードを貼る場合は↓を使いましょう。
http://ideone.com/
0952デフォルトの名無しさん2015/11/22(日) 03:06:45.63ID:u++Mym7W
ばれてやんのwww
お前もうコテハン名乗れよwww
お前ぐらいだよ。そんな変な質問するのwwww
0953デフォルトの名無しさん2015/11/22(日) 05:54:12.53ID:c83Tb2v8
もう馬鹿なんじゃないかっていうくらい基本の質問で恥ずかしいんですが・・・
実際の開発でメンバー修飾子(public intenal etc..)ってどういう基準でつけてるもんなんですか?


データベースと連携した業務アプリケーションをちまちま作ってるんですが、
privateにしなきゃというところは、何となく考えながらつけてるんですが、
そうでないところで(他クラスからアクセスさせたいプロパティとか)
publicでいいのか、せめてinternalをつけた方がいいのかどうも明確に意識して設計できないのです
開発チームとかあるわけでなく、一人で作っていて使い分けの事例なんか見ててもピンとこないというか
0954デフォルトの名無しさん2015/11/22(日) 06:06:55.82ID:zwZfG106
>>953
パッケージとして独立させてAPI公開する気がないんだったら
迷うところはpublicでいいだろ

つか一人で作ってるなら全く気にする必要ないような…
0955デフォルトの名無しさん2015/11/22(日) 07:37:23.55ID:PowSWGiN
>>946
全角/半角変換、日本語を扱うのは、Linuxでは、
nkf ライブラリを使うけど、C#には無いの?

それか最初に、全角を半角に変換してから、正規表現を使えば?
0956デフォルトの名無しさん2015/11/22(日) 13:10:53.96ID:eHZxB5Wh
>>951
別人だよw
ID:OxpghztZは俺だからw
0957デフォルトの名無しさん2015/11/22(日) 13:21:21.34ID:YBzI3bTB
ゲーム作ろうとしてる奴なんか十把一絡げでいい
総じて低レベルだから
0958デフォルトの名無しさん2015/11/22(日) 16:34:36.06ID:2L1cven6
プログラミングでゲームを作ろうというというのは、
誰にでも思いつく発想だからな
殆どは挫折する
0959デフォルトの名無しさん2015/11/22(日) 17:26:57.27ID:KDgQ57Ye
だがベーマガ時代はそうはならなかった。
日本中の少年少女がゲームプログラミングに熱中し、
作成したゲームのソースをベーマガという雑誌に投稿し掲載されたものだ。

今、日本のIT業界を支えてるのは高スキルな彼らである。
0960デフォルトの名無しさん2015/11/22(日) 17:52:36.89ID:Z+udvk0o
>>959
前も書いた気がするけど、ベーマガなんてお子様向けの子供だましの雑誌だよw
まあ評価は世代にもよるだろうけどね。
少なくとも俺の評価はそう。

まあそれはどうでもいいけど、そういうネトウヨ的自己陶酔は傍目に気色悪い。
それが自己陶酔だって気が付いてないんだろうけど。

ついでに言うと、ベーマガの時代(って言っても20年あるから一口には言えないが)はゲームも
PCのハードも素朴な物だったから低スキルでもそれなりに評価されるものが作れたが、
今の時代WindowsにしろAndroidにしろそもそもゲーム向きじゃない上に
ユーザーの目も肥えてるから、はっきり言って今の時代ゲームを作る方が何十倍も大変だと思う。

実際問題今時のゲームプログラマってプログラマ全体の中でも地頭がよくないと出来ないんじゃないの?
0961デフォルトの名無しさん2015/11/22(日) 18:06:41.65ID:YBzI3bTB
ゲーム作ろうとしてる奴とゲームプログラマを同列に扱った覚えはない
ゲーム作ろうとしてる奴はゲームプログラマではない
0962デフォルトの名無しさん2015/11/22(日) 18:31:41.01ID:GP1Qn5OD
ベーマガのプログラムを今のゲーム制作と比較するのは低能のすること。
企画 + ゲームデザイン + プログラミングをすべて一人でやってたのをお子様とか言っちゃうのはゆとりかな?
0963デフォルトの名無しさん2015/11/22(日) 18:34:49.04ID:fPUy/JrI
>>960
× 実際問題今時のゲームプログラマってプログラマ全体の中でも地頭がよくないと出来ないんじゃないの?
○ プログラマって本当は地頭がよくないと出来ない

本来の問題は日本では頭が悪い奴がプログラマになって無駄なデスマーチ&生産性が上がらないための低給料
というデフレスパイラル的なものに陥っていることだろ。(アメリカではこれを回避できているらしい)
ゲームプログラマだけが特に頭がいい必要があるとは思えない、というか、
本来はどの方面のプログラマも頭がよくないと駄目なんだよ。

ただ、プログラミングなんて手段でしかないんだから、
ゲーム好きがゲームを作ろうとするのは自然なことだと思うし、いいことだと思うよ。
とはいえ、今ここでやろうとしている2人は両方とももう少し基本を押さえるべきではあるが。

C#は軽量言語ではない。ほぼ全てのケースに対して対応できる記述能力/ライブラリは既にある。
逆に言えば、初心者が先人が全く想定していなかったケースにいきなり当たる確率はほぼ無い。
今お前らがやろうとしていることが出来ないのは、やり方が間違っているからだ。
(普通は違うやり方で実装し、その方がいい/それで問題ないからその実装手段が提供されていない)
0964デフォルトの名無しさん2015/11/22(日) 18:42:55.24ID:NW0PnoYA
>>947
文脈わからんし動的に追加、削除の含意も知らんが
それってDictinary<string,int>の仕事じゃないのって、アドバイスしとくね

あとは列挙型の内部実装がどうなってるかしらないけどどうせクラスか構造体かでしょ
他にあるとすればリフレクション使ったりで列挙型クラスを動的構築するとかになるのか?
まあやりたくないよね、そんなこと
0965デフォルトの名無しさん2015/11/22(日) 18:47:35.92ID:j30Wwuuw
List<int,string,double>みたいなのは
将来使えるようになる?
0966デフォルトの名無しさん2015/11/22(日) 18:51:26.08ID:NW0PnoYA
>>965
なにそれ?どうやって使うの?
0967デフォルトの名無しさん2015/11/22(日) 19:03:27.41ID:Z+udvk0o
>>963
本質的にプログラマに向かない奴がプログラマになってる(それで2chとかでブラックがどうのとか自分の無能を棚上げして
被害妄想全開)って現状認識はその通りだと思うが、プログラマって一口に言っても要求される能力は全然違うわけで、
例えばC#で特定企業向けの業務ソフトを作ってる人間とゲームプログラマじゃ、恐らく後者の方が圧倒的に
高い能力が要求されるのはまあ事実だと思うよ。

そのくせ社会的な評価はあんまり高いように思えんから何か損な仕事だな。
俺はゲームプログラマじゃないけどね。
0968デフォルトの名無しさん2015/11/22(日) 19:03:55.53ID:DtMt13r7
Tupleの事でしょ
今でもプロパティ名がItem1~って固定な簡易Tupleならある
でもプロパティ名もその場で付けれるちゃんとしたTupleの実装予定はあるよ
0969デフォルトの名無しさん2015/11/22(日) 19:06:02.36ID:KDgQ57Ye
>>960
ゆとりの言い分はよく分った。
0970デフォルトの名無しさん2015/11/22(日) 19:08:06.34ID:+71DZHa4
技術を磨くだけだったら好きなら誰にでもできる
社会的に成功するのはその上ビジネスが分かってる奴で、これは稀
0971デフォルトの名無しさん2015/11/22(日) 19:12:42.09ID:Z+udvk0o
>>969
俺から見たらベーマガ世代こそどっぷりゆとり世代なんだけど。
0972デフォルトの名無しさん2015/11/22(日) 19:15:10.11ID:fPUy/JrI
>>968
ちょっと脱線するが、Tupleって結局何がいいんだ?
構造体やクラスで問題なく実装できるよね?
ただ流行っているみたいだから、何か利点があると思うのだが、、、
0973デフォルトの名無しさん2015/11/22(日) 19:21:08.24ID:+71DZHa4
>>972
タプルがじゃなくて関数型プログラミングが(意識高い系の連中の中で)流行ってる
関数型プログラミングでは複数の値を一つにまとめて扱いたいことが多いのでタプルが必要
オブジェクト指向プログラミングならフィールド書き換えればいいので本来不要
0974デフォルトの名無しさん2015/11/22(日) 19:30:38.64ID:KDgQ57Ye
>>971
中高生が一種や二種を取るんだ。そして当時の試験範囲は大学レベルの英語や数学、そして商業、工業も含まれてる。
おれも余裕で合格したけどね。今みたいに簡単じゃないよ?選択マークじゃなく筆記だし。
0975デフォルトの名無しさん2015/11/22(日) 19:37:26.35ID:fPUy/JrI
>>967
ゲーム:チューニングゴリゴリ、ただし基本的に1発出して終わり
特定企業向け業務ソフト:動けばいいが、長期的メンテナンスが求められる

ゲームプログラミングの方が単品では難しいのは事実だけど、
業務ソフトには長期メンテを考慮した構成が求められる。(難しさの方向が違う)

ただ、チームとしては、ゲームは10人中10人バリバリでないと駄目なのに対し、
業務ソフトなら、トップ1人が美しい構成を考え、残り9人は並みでいい。
だからゲームチームを作る方が難しいし、
一般論としてゲームプログラミングの方が難しいというのもその通りだろう。
0976デフォルトの名無しさん2015/11/22(日) 19:55:16.96ID:NW0PnoYA
ゲームはオクルージョンカリングとか空間分割木とか意味不明なまでに難しい世界があるからな
単純な2Dゲーなら今はマシンパワーもあるし、複雑怪奇な最適化はしなくてもいいと思うけど
マルチスレッドとか、メモリアクセスやファイルアクセスのタイミングとかやりだすと
複雑そうな感じは受ける
0977デフォルトの名無しさん2015/11/22(日) 20:19:08.43ID:fPUy/JrI
>>973
さらに脱線して申し訳ないのだが、関数型プログラミングは何で流行っているの?
正直、余りメリットを感じないのだが。(なお使っているのはJavaScript)
HaskellかLispやらないと理解不能かな?

言っちゃ悪いが、Lispなんて昔からあっても誰も使ってなかった=実用レベルに達していないゴミ
だと考えている。それとは別に、内部状態を持たないとか、カリー化とかで検証がし易くなるのは事実だけど、
今その手の言語を使っている奴らがそこまでの検証レベルを要求されているとは到底思えない。
(言語いじって遊んでいるだけのように見える)

JavaScriptとかでも(俺は本業ではないが)
・ローレベルコードは書かない(キリッ (for文を絶対に使わず、map(匿名関数)で処理)
・内部状態を持たない(キリッ (途中一部分だけで済む場合も頭から全部処理)
も多くて、確かにこの方法ならバグりにくいが糞遅い。実感としては大半がこんな感じ。
お前ら明らかに方向を間違ってるよなーとしか思えないのだが。
(問題ない場合はこの手の超富豪プログラミングもありだが、問題あっても対策しない感じがある。
宗教がかった聖域というか。)
0978デフォルトの名無しさん2015/11/22(日) 20:38:22.50ID:xDxhP+Cq
流行ってねえよ
声がでかい奴が拡声器でわめいてるからそう感じるだけだ
0979デフォルトの名無しさん2015/11/22(日) 20:45:30.67ID:NW0PnoYA
Lispが使われないのは、JavaやC#のように熱心な営業攻勢が無かったからだよ
関数型を学ぶメリットはドキュメントが営業的観点で腐っていないということ
コミュニティがそれによって質の高い状態が保たれている
一番のメリットは「ユーザーにバカが少ない」ということこれに尽きる
LispやHaskellなんて、それこそ熱心な勉強家でなければ手に取らないということ

純粋関数はマルチスレッドに良い影響をもたらす
というかGUIとかスレッドとかどう見ても関数が主役でオブジェクトがシンタックスの邪魔をしている
最近勢力を誇っているwebサービスもほとんどが関数型指向でかかれているし
Javascriptが今隆盛を誇っているのも結局はそういうことなんだよな
まあHadoopやMapReduceとか必要になるようなアプリケーション書くような企業は限られてるけど
マルチコアが前提となってくると結局関数の純粋性が常に問われてくる

幸いまだC#はLINQやTaskで関数型やマルチスレッドをサポートしてるので生存の余地はあるけどね
というかC#にLINQが導入されたのは、どう考えてもSQLではなく関数型の影響だしな

内部状態を極力持たずにというのはweb(HTTP)の考え方だし
JsonやXMLや(S式)で非同期処理するということを考えると関数型は流行らざるをえない
関数型が流行っているというよりwebベンチャーが流行ってるというのが正しいな

まあJavascriptがそのポテンシャルを見いだされるまでに10年近くかかったわけだし
Javascriptが微妙なのは同意するよ
0980デフォルトの名無しさん2015/11/22(日) 21:03:03.77ID:T8hXZH4x
関数型は、スクリプト等の言語を作りたい人とか、高度な文字列処理が必要不可欠な人とか
科学計算駆使しなきゃならない人とかが使うんだよ
そういった領域では実用的というより必須になる
最近話題にのぼりやすい言語では、R言語とかがあるが関数型になっている
C#は汎用言語なので色々な領域の処理をする人が居て、こういった処理をしたいと望む人には欲しい機能なんだ
最近は、ビッグデータとか取り扱う人も多いでしょうし、例えば金融関係とかトレーディング等でHaskellの採用があったりする
そういう意味では地味に流行ってはいるかもしれない、ビッグデータもバズワードになる程度には流行ってるからね
タプルは自分も欲しいと思っている機能、オブジェクト指向が不向きな領域の処理多いが
ユーザーインターフェイスと別けて別言語でというのも煩わしいので

>声がでかい奴が拡声器でわめいてる
ラムダ式の人とかうざいよね、これだけは同感w
昨日の要求はしたいが、声高々に流行っている言う程のもんかよwww
0981デフォルトの名無しさん2015/11/22(日) 21:07:02.69ID:o24m0lwv
なにこれ、自演祭り?
0982デフォルトの名無しさん2015/11/22(日) 21:09:34.06ID:T8hXZH4x
あぁ、また自演なのかな、例のヤツの自演なのかもしれん
>>980 だけは違いますんでw
0983デフォルトの名無しさん2015/11/22(日) 21:31:52.46ID:GP1Qn5OD
「スレチ」という便利な言葉がある
0984デフォルトの名無しさん2015/11/22(日) 21:35:46.49ID:T8hXZH4x
自演してでも自分の話したい話題に流れを変えたい酷いかまってちゃんが居るだけですよw
彼にとって、スレチとか関係ないのです、誰もお前とは話したないから、さっさと自殺すればいいのに
0985デフォルトの名無しさん2015/11/22(日) 21:54:59.54ID:fPUy/JrI
>>979
> 純粋関数はマルチスレッドに良い影響をもたらす
これは確かにその通りなのだが、同じ事はオブジェクト指向でも言われていたはず。
OOPも1オブジェクトに対して1スレッドを割り当てれば干渉しない。
関数型で自動マルチスレッドを期待するのなら、結果的に完全に同じものになる。

> 内部状態を極力持たずにというのはweb(HTTP)の考え方だし
JavaScriptに関してはこれは多少弁解の余地があって、
実際やっていると503エラーとかで内部状態がずれる時がよくあるので、
最初から管理しないというのも一つの方法にはなる。(ただし糞遅い)

> JsonやXMLや(S式)で非同期処理するということを考えると関数型は流行らざるをえない
これはよく分からない。関数型の方が綺麗に書けるか?
ちなみにPromiseとか欲しいとも思わない。主に手続き型で書いているからというのもあるとは思うが。
JavaScriptはPromiseを採用、async/awaitも検討中だ。
C#はPromiseなし、async/awaitありだ。俺はこっちの方が理解しやすいのだが、これもスタイルの違いなのか?
0986デフォルトの名無しさん2015/11/22(日) 22:09:26.92ID:xDxhP+Cq
口から下痢たれ流すの止めてくんない
0987デフォルトの名無しさん2015/11/22(日) 22:09:50.22ID:fPUy/JrI
>>980
> 例えば金融関係とかトレーディング等でHaskellの採用があったりする
これは知っているが、結局のところ、今Haskellが出来る=それなりの頭である事がある程度期待できる
だけであって、>>979の指摘通りで、別にHaskellが適しているわけではない気がするのだが。

> C#は汎用言語なので色々な領域の処理をする人が居て、こういった処理をしたいと望む人には欲しい機能なんだ
俺はJavaScriptをやって初めてクロージャを知り、確かに便利だと実感した。
ただもっと驚いたのは、C#も2.0からクロージャを普通に使えたことだ。
とはいえC#がクロージャをガンガン使っているイメージはない。
逆に言えば、C#のスタイルなら大して恩恵がないのだと思う。で、以下なのだが、

> タプルは自分も欲しいと思っている機能
これ何がうれしいんだ?
既に書いたが、普通に構造体やクラスでやるのと同じとしか思えない。
関数型風に書いたらタプルの方が綺麗に書けるって事?(それでも変わらない気がするが、、、、)
0988デフォルトの名無しさん2015/11/22(日) 22:12:50.69ID:rVLRuBGq
3行以上書く奴はキチガイって嘘じゃなかったね
ゴメンね(ゝω・)v キャピ
0989デフォルトの名無しさん2015/11/22(日) 22:24:15.75ID:yPUHF/WV
>>980
> そういった領域では実用的というより必須になる

たかが言語で必須とか…

関数型言語がない時代は、

> スクリプト等の言語作成
> 高度な文字列処理
> 科学計算を駆使

する奴は居なかったのかよ
0990デフォルトの名無しさん2015/11/22(日) 22:29:28.42ID:fPUy/JrI
誰と勘違いしているのかは知らんが、スレを変えたい場合は俺は問題ない。
誰かが俺に対して他のスレでレスを付けた場合、俺がレスを返すのならそこで返す。
だからレスをくれる奴がいるのなら、スレを選んでくれていい。(テストスレでも可)
0991デフォルトの名無しさん2015/11/22(日) 22:41:52.29ID:iT1tZCI1
Tupleは複数値リターンのために導入されたものと思っていたが、複数値リターンが未だ導入されない
0992デフォルトの名無しさん2015/11/22(日) 22:50:34.89ID:fPUy/JrI
>>991
てか問題なくね?
http://www.atmarkit.co.jp/fdotnet/dotnettips/1024tuple/tuple.html
0993デフォルトの名無しさん2015/11/22(日) 22:57:18.42ID:T8hXZH4x
そんなタプルは問題ありありだよw
0994デフォルトの名無しさん2015/11/22(日) 22:59:26.10ID:Bfhlr/Lz
Item1,Item2とかソースに出てくる時点で失格
多重代入と引数リストへの展開ができない限りは使うべきでない
0995デフォルトの名無しさん2015/11/22(日) 23:58:35.59ID:SVdGikuE
>>973
まぁ、そのためだけに構造体とか作るの面倒くさいしな
0996デフォルトの名無しさん2015/11/23(月) 00:24:30.36ID:NS56NU1F
>>980, ID:T8hXZH4x
自分がついていけない話になるとすぐスレチだと言い出すクソガキはどこのスレにもいる。
お前が嘘を嘘と見抜けない池沼でいるのはお前の自由だが、
荒らしでないつもりなら>>1読んでスレ立てろ。
0997デフォルトの名無しさん2015/11/23(月) 00:51:40.63ID:2bvpc+pi
説教怖〜い
0998デフォルトの名無しさん2015/11/23(月) 00:55:30.12ID:d/p1Vajd
埋まりそうだったので宣言無しで建てました、失礼

ふらっと C#,C♯,C#(初心者用) Part118 [転載禁止]©2ch.net
http://peace.2ch.net/test/read.cgi/tech/1448207673/
0999デフォルトの名無しさん2015/11/23(月) 01:36:08.01ID:5/8mbdQh
ついていけるとかついていけないとか関係ない、キモすぎ、触りたくない
1000デフォルトの名無しさん2015/11/23(月) 02:03:44.01ID:V0PiNkF/
おれが神
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
10021002Over 1000Thread
2ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。


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

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

▼ プレミアム会員登録はこちら ▼
http://premium.2ch.net/
http://pink-chan-store.myshopify.com/
レス数が1000を超えています。これ以上書き込みはできません。