ふらっと C#,C♯,C#(初心者用) Part159

■ このスレッドは過去ログ倉庫に格納されています
2023/08/08(火) 09:21:19.30ID:aeM2XQJJ0
!extend:checked:vvvvv:1000:512
!extend:checked:vvvvv:1000:512
次スレを立てる時は↑を3行冒頭に書くこと(1行分は消えて表示されない為、もう1行は予備)
「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。
他のスレッドでは書き込めないような低レベルな質問、質問者自身なんだか意味がよく分からない質問、ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。
内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。なお、テンプレが読めない回答者、議論をしたいだけの人は邪魔なので後述のC#相談室に移動して下さい。
C#に関係の無い話題や荒らしの相手や罵倒レスや酔っぱらいレスはやめてください。見かけたらNGしましょう。相手してしまったらあなたも荒らしです
>>980を踏んだ人は新スレを建てて下さい。>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。
■前スレ
ふらっと C#,C♯,C#(初心者用) Part158
https://mevius.5ch.net/test/read.cgi/tech/1679783460/
■関連スレ
C#, C♯, C#相談室 Part97
https://mevius.5ch.net/test/read.cgi/tech/1671585518/
■コードを貼る場合は↓を使いましょう。
https://ideone.com/
https://dotnetfiddle.net/
初心者はまずVisual Studioを使いましょう。なおVisual Studioの使い方などに関しては各バージョンで違うので専用スレでお願いします
http://www.visualstudio.com/downloads/
■情報源
https://learn.microsoft.com/ja-jp/dotnet/standard/class-libraries
https://learn.microsoft.com/ja-jp/dotnet/csharp/language-reference/
https://learn.microsoft.com/en-us/dotnet/standard/class-libraries
https://referencesource.microsoft.com/
https://source.dot.net/
・Insider.NET > .NET TIPS - @IT
https://www.atmarkit.co.jp/ait/subtop/features/dotnet/dotnettips_index.html
・DOBON.NET .NET Tips
https://dobon.net/vb/dotnet/index.html
++C++; // 未確認飛行 C
https://ufcpp.net/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
280デフォルトの名無しさん (ワッチョイ 9bcb-2pcI)
垢版 |
2023/09/30(土) 06:20:57.56ID:lCW6xIVF0
他人のコードを理解する、読み解く上でのやり方が確立されていない感じです
2023/09/30(土) 06:40:22.13ID:EIBJTlDv0
読み解き方が確立されてるかされてないか以前の問題のような……
2023/09/30(土) 08:57:55.29ID:1LHvsOST0
基礎が身についてないのにやみくもに書き写したところで書く能力が身につくわけないじゃん
自分語りの詐欺的商法に騙されるなよ
ちょっと考えればわかるだろ

キミに必要なのは公式チュートリアルと入門書
2023/09/30(土) 09:50:03.07ID:tFuDf2bYM
40年ぐらい前の小学3年生よりあなたは賢いのかどうかと言う問題
現状スキルレベルでは負けている
環境では勝っている
2023/09/30(土) 10:00:47.45ID:RNKSTVVAd
>>280
小難しい理屈はどうでもいいから、>>239のソースを読んでて分からないところを具体的に質問しよう
質問が具体的な方がこちらも質問者のレベルを推し量れるしアドバイスもしやすい
285デフォルトの名無しさん (ワッチョイ 9bcb-2pcI)
垢版 |
2023/09/30(土) 10:21:02.95ID:lCW6xIVF0
>>284
手を動かさないと何が分からないかも、分からないという状態から脱せないでしょうか?
2023/09/30(土) 10:27:45.96ID:tFuDf2bYM
入門したてはタイピングが苦痛だった
一文字ずつキーボードとにらめっこ
p r i n t と一文字ずつ探してやっと一行を入れ終わる
そして実行

自分が今一行入力した分だけ画面が変わったりする
今書いたコードはこういうことなんだと分かる
それが体験で経験

誰がどのように入力しても結果は同じ
2023/09/30(土) 10:29:22.27ID:tFuDf2bYM
そのころコードを読んでも絶対意味なんて判らない
手を動かして実行
これ以外上達の方法はない
2023/09/30(土) 10:38:44.22ID:RNKSTVVAd
>>285
初歩的なところから聞くけどこのソースを実行できる環境はちゃんとある?
実際に動かしてみた?
289デフォルトの名無しさん (アウアウウー Sa89-5C2y)
垢版 |
2023/09/30(土) 10:44:33.67ID:+WV6fTrGa
>>252
東京パソコンクラブのノリだな
2023/09/30(土) 10:49:18.06ID:tFuDf2bYM
英単語なんか知らないから一文字ずつアルファベットを暗唱しながらタイプしていく
呪文を打ち込んでいく
一行入力も辛いので途中で実行して進展を見る
入力したコードの理解が深まる
そうして小さな成功体験を積み重ねる

そのうち前に入力したのと同じような内容が出てくる
今度は実行しなくても結果がわかる
実行してみて違うなら違いを探す

こうして一歩ずつ進む

コードを読んだりコメントを読むだけだとこういうのが失われて分かった気にだけなる
実際にコードを書けないし着想もできない
291デフォルトの名無しさん (アウアウウー Sa89-5C2y)
垢版 |
2023/09/30(土) 11:04:04.96ID:+WV6fTrGa
>>285 は手が動いても頭が動かないタイプと観た
2023/09/30(土) 13:07:46.30ID:Xbo2Ry+C0
それ、逆じゃないのかな。
手を動かす前にうだうだ考えるウチに投げ出すタイプというか。

なにも考えずにとりあえずコードを打ち込んでみて、動かしてみればいいじゃない。
そしてその動くプログラムのコードを書いているときや後から眺めたときに「こうした方がいいんじゃない?」って思ったところを何度でも直して、また動かしてみる、と。

実際、自分がやるのもそれに近いところがなくもないし。
分からないところをネットで調べてコピペして動かして、足りないところや考慮すべきところを直し加えてってのを何回かやったりやらなかったり。
293デフォルトの名無しさん (ワッチョイ 9bcb-2pcI)
垢版 |
2023/09/30(土) 14:30:45.31ID:lCW6xIVF0
>>288
unityで動かしております
>>290
やはり手を動かします
>>284
では質問させてもらいます
gptに聞いたのですが、良くわかりませんでした

https://gist.github.com/baba-s/e4da98f6fce2b6cca36b0cf3bb91f9d0
TileTypeという列挙型があり、tiletype型を使用してtilelist変数を宣言しているのが分からないです。
普通、インデックスにアクセスする場合は整数型を使うと思うんですが。

やはり、基礎が出来てないなと
2023/09/30(土) 14:47:09.79ID:jRqEkae9M
例えばデバッガーでマップの配列の中を確認する場合、無味乾燥な整数で状態表示されるより列挙変数で表示された方が分かりやすいだろ
プレイヤー視点ではなく開発者視点で分かりやすくしているだけ
2023/09/30(土) 15:02:25.67ID:RNKSTVVAd
>>293
>普通、インデックスにアクセスする場合は整数型を使うと思うんですが。
インデックスってのはtileList[x, y]のxとyのこと
この場合もxとyは整数型でしょ
インデックス「に」って表現してるけど何かと勘違いしてる?
2023/09/30(土) 15:10:09.10ID:RNKSTVVAd
で、tileListは配列要素の型がTileType列挙型なわけだけど、その理由は>>294も書いてるように可読性や保守性のため
2023/09/30(土) 15:27:57.46ID:tFuDf2bYM
抽象的な話じゃない説明

例えば数値で壁を1で荷物を3とかにすると…
コード内で1とか3の数字が出てくるがそれが何なのか覚えてないとわからない
データの種類が100種類とかあると管理だけで大変

それを改善する場合に数字じゃなくて文字で '壁' とか'荷'とか'人'とかにもできる

でもこの場合も問題がある

気まぐれで壁や荷物を赤い壁と青い壁、赤い荷物と青い荷物などにしたくなった場合にどうするか?
別に色情報持つとか考えなくてはならない
それだったらTypeでRedWallとかにしたほうがいい

更に後でRedWallをやめたくなった場合にはenumからRedWallを削る
そうするとIDEにエラー表示が出て修正箇所がわかる
これが数字だと修正を自力で探して頑張るしかない
298デフォルトの名無しさん (ワッチョイ 9b0c-RAiU)
垢版 |
2023/09/30(土) 16:04:48.60ID:fUSk+kCE0
>>293
ウザイことこの上ない
まずは入門書を買って読め
2023/09/30(土) 16:20:33.29ID:kuFk0VAS0
勘違いしてそうなので基本的なことから書くと
int[3]は[0, 0, 0]のように各要素がint型で長さ3の1次元配列を示す型
string[3]は[“a”, ”bb”, “ccd”]のように各要素がstring型で長さ3の1次元配列を示す型
TileType[3]は[TileType.NONE, TileType.PLAYER, TileType.GROUND]のように各要素がTileType型で長さ3の1次元配列を示す型

var tiles = new TileType[3]{TileType.NONE, TileType.PLAYER, TileType.GROUND};
if (tiles[0] == TileType.PLAYER) do_something;
のような使い方をする

TileType[10, 10]は各要素がTileType型で10×10の2次元配列を示す型
2023/09/30(土) 16:43:41.11ID:rxNaOE9c0
可読性の高いRuby で、3目並べが並んだかどうかの判定だけでも、こんなに書く。
ましてや他言語は可読性も低いし、他人のコードなど読めるわけがない!

他人のコードを読むことを勧めるような香具師は嘘。
100行の内、5行ぐらいしか読んでいない

input_ary = [ ["x","","", "x","","", "o","o","o"],
["o","","x", "","o","x", "","o","x"],
["x","o","o", "","x","", "o","","x"],
["x","","o", "x","o","", "o","",""],
["o","x","o", "","x","", "","o","x"] ]

def check_win( board_ary )
puts "-" * 40

diag_ary = Array.new( 3 ) # 斜め
diag_ary[ 0 ] = board_ary[ 0 ]
diag_ary[ 1 ] = board_ary[ 4 ]
diag_ary[ 2 ] = board_ary[ 8 ]
return true if diag_ary.all? { |cell| cell == "o" } ||
diag_ary.all? { |cell| cell == "x" }

diag_ary[ 0 ] = board_ary[ 2 ]
# diag_ary[ 1 ] = board_ary[ 4 ]
diag_ary[ 2 ] = board_ary[ 6 ]
return true if diag_ary.all? { |cell| cell == "o" } ||
diag_ary.all? { |cell| cell == "x" }

次へ続く
2023/09/30(土) 16:44:26.02ID:rxNaOE9c0
前の続き

p outer_ary = board_ary.each_slice( 3 ).to_a # 3×3 の配列
outer_ary.each do |inner_ary|
p inner_ary
return true if inner_ary.all? { |cell| cell == "o" } ||
inner_ary.all? { |cell| cell == "x" }
end

puts "転置後"
p outer_ary2 = outer_ary.transpose # 転置
outer_ary2.each do |inner_ary|
p inner_ary
return true if inner_ary.all? { |cell| cell == "o" } ||
inner_ary.all? { |cell| cell == "x" }
end

false
end

res = input_ary.map { |ary| check_win( ary ) }
puts "-" * 40
p res #=> [true, true, true, true, false]
2023/09/30(土) 16:56:49.16ID:rxNaOE9c0
仕様から、コードは書けるが、
コードから仕様を推測するのは、10倍以上難しい

他人のコードを読むと、膨大な時間の無駄で、
自作していないから身につかない

3目並べとか、じゃんけんとか、素数判定とか、
簡単な所から自作すべき!

解説が無いような、他人のコードを絶対に読んではならない!
膨大な時間の無駄
303デフォルトの名無しさん (ワンミングク MMa3-E1cW)
垢版 |
2023/09/30(土) 18:10:18.46ID:Ag7bGIUIM
しつこい馬鹿のせいでrubyキチガイまで出てきた
2023/09/30(土) 18:43:08.79ID:UMbhW8aD0
昔々BASICインタプリタと横スクロールゲーを全てレポート用紙に逆アセンブルして分析したのはメチャ役に立った
初心者が(簡単な)ゲームの分析、理解することは役立つこと多いと思うよ
305デフォルトの名無しさん (ワンミングク MMa3-AwC8)
垢版 |
2023/09/30(土) 20:59:11.77ID:U9V2qVkaM
人に聞きまくるだけの奴には無理だぞ
方法論以前の問題
306デフォルトの名無しさん (ワッチョイ 9bcb-2pcI)
垢版 |
2023/10/01(日) 10:33:20.05ID:5ao4WmOt0
>>294
回答どうも
理解が悪いです

列挙型って数字でもあるんですか?
それぞれの文字列にインデックスがあると。
2023/10/01(日) 10:43:13.42ID:Zy/Xpldc0
列挙型、配列、インデックス
根本的にこのへんが正しく理解できてないな
>>299の言ってること理解できる?
分からないならどこが分からないな質問する
2023/10/01(日) 12:21:46.44ID:o8cy9tiS0
https://wikiwiki.jp/postmodern/
2023/10/01(日) 12:27:48.25ID:jo3dkEigM
>>306
配列の要素のデータ型が列挙型(の変数)というだけであって配列そのものが特殊なものという訳ではない
https://i.imgur.com/iA3fRKM.png
2023/10/01(日) 12:27:59.76ID:jo3dkEigM
>>306
配列の要素のデータ型が列挙型(の変数)というだけであって配列そのものが特殊なものという訳ではない
https://i.imgur.com/iA3fRKM.png
2023/10/01(日) 12:28:36.05ID:9rYgJ/eZ0
>>306
配列の要素のデータ型が列挙型(の変数)というだけであって配列そのものが特殊なものという訳ではない
https://i.imgur.com/iA3fRKM.png
2023/10/01(日) 12:28:44.44ID:9rYgJ/eZ0
>>306
配列の要素のデータ型が列挙型(の変数)というだけであって配列そのものが特殊なものという訳ではない
https://i.imgur.com/iA3fRKM.png
2023/10/01(日) 12:31:41.14ID:OrY06J6zM
ネットの調子が悪い
連投スマソ
314デフォルトの名無しさん (ワッチョイ 9bcb-2pcI)
垢版 |
2023/10/01(日) 12:44:57.25ID:Je269Bs00
>>307
ありがとうございます
https://baba-s.はてなぶろぐ.com/entry/2018/03/30/085000
tileList = new TileType[ columns, rows ];
の部分でtiletype型には定数の文字列が入ると思っていましたが、整数値であるcolumnsとrowsを代入しているあたりが分からないです。
何らかの文字列の定数が入ると考えていますた
2023/10/01(日) 13:26:19.97ID:jNjNNZOq0
>>314
君はそもそも配列宣言の記法、意味が分かってない
まず↓あたりをじっくり読んで、サンプルコードも実際に動かして理解して欲しい
https://ufcpp.net/study/csharp/st_array.html

そしてハッキリ言うけど今の段階で倉庫番のコードを理解しようとしても基礎が出来てないから無理
316デフォルトの名無しさん (ワッチョイ 9b9b-RAiU)
垢版 |
2023/10/02(月) 02:06:24.20ID:NgblnbYV0
他人の助言には絶対に耳を傾けないタイプ
317デフォルトの名無しさん (ワッチョイ 9bcb-2pcI)
垢版 |
2023/10/02(月) 06:20:59.94ID:TDDpdEaf0
>>315
必要なところだけやっていくやり方でやってますが、そういうやり方じゃ駄目なんですか?
配列宣言は分かっているんですが、型が違いますよね
>>316
聞きますが、全てではないです
318デフォルトの名無しさん (ワントンキン MMa3-E1cW)
垢版 |
2023/10/02(月) 07:26:58.07ID:lRooFwx4M
ダメだこいつ
2023/10/02(月) 07:50:32.09ID:eOR7lDrh0
>>314
>tileList = new TileType[ columns, rows ];
元ネタ見てないけど、↑を見てこう考えることができるように基礎知識、経験が必要
・tileListに画面の状態を格納するんだな
・二次元配列としてcolumns, rowsの数だけ確保と
・二次元配列に代入する値はTileType型ね(intとかのリテラル値でなくキチンと定義してるのか)
な感じ

>「tiletype型には定数の文字列が入ると思っていましたが」
ある程度予想しながらソースは読みますが、経験不足で予想外れるのはまだ仕方ない
>「整数値であるcolumnsとrowsを代入している」
代入はしていない。これから値を格納するための二次元配列を確保してるだけ

まだc#の記法がわかってない未熟なだけなので、何もかも貪欲に覚えて。
今やってることは無駄になることは何もない。間違えてても。頭と手をドンドン動かして吸収していくのだ
2023/10/02(月) 08:40:07.92ID:KRZkbw82M
>>317
この倉庫番のコードではマップのデータをcsv形式のテキストで設定してtileListという名の配列に格納している
格納する際に配列の要素はcsv内の整数データからTileTypeで定義された列挙型の変数に変換される
具体的な配列の中身を確認した結果が>>309
実際にコードを動かして見ればすぐ分かるだろ
2023/10/02(月) 08:40:23.40ID:KRZkbw82M
>>317
この倉庫番のコードではマップのデータをcsv形式のテキストで設定してtileListという名の配列に格納している
格納する際に配列の要素はcsv内の整数データからTileTypeで定義された列挙型の変数に変換される
具体的な配列の中身を確認した結果が>>309
実際にコードを動かして見ればすぐ分かるだろ
2023/10/02(月) 08:42:07.04ID:KRZkbw82M
何故かまた2回送信された
接続が不安定すぎるorz
2023/10/02(月) 08:56:34.32ID:Rca7jjjr0
最近の5chの問題だからいちいち気にしなくて良いぞい
2023/10/02(月) 09:26:07.11ID:lKJ+23Y70
>>317
配列宣言において型が違うことは重要じゃないよ
どんな型の配列だって作れるわけだから
それが分からないことこそが基礎ができてない証拠であって
君の言う「必要なところ」がやれてないということ
>>315のリンク先をきちんと理解すれば>>314
>tiletype型には定数の文字列が入ると思っていましたが、整数値であるcolumnsとrowsを代入しているあたりが分からないです。
>何らかの文字列の定数が入ると考えていますた
という疑問と想定が間違っていたことに気づく
まずそこから始めよう
2023/10/02(月) 09:31:44.43ID:ejm1uWXY0
自分が必要と思うところだけつまみ食いするのがタイパいいとでも思ってるんかねぇ
見当はずれなことやって結局無駄に時間を使うだけなのに
326デフォルトの名無しさん (ワッチョイ 9bc8-RAiU)
垢版 |
2023/10/02(月) 12:48:13.11ID:NgblnbYV0
批判は一切受付けません!のスタイル
そもそもこんなことに何日も掛けて進まない時点でこいつには無理
2023/10/02(月) 14:31:10.17ID:egrIJ/AE0
そろそろスルーしとけ
328デフォルトの名無しさん (ワッチョイ 9bcb-2pcI)
垢版 |
2023/10/02(月) 15:30:17.92ID:TDDpdEaf0
>>318
>>325
返信してくれた5人が違う事を言ってたら、その中からどれか選ぶしかないじゃないですか。
あと、基礎やるにしてもどうせすべて使うわけじゃないし、必要な部分だけやるスタイルです
>>324
リンク先見てきます
329デフォルトの名無しさん (ワッチョイ 9b9b-RAiU)
垢版 |
2023/10/02(月) 15:35:28.81ID:NgblnbYV0
要約すると、
基礎を学ぶ気はない貴様らは俺の聞いたことに答えればいいんだ

つまり、教えてもらおうではなく聞きだそうというスタイル
330デフォルトの名無しさん (ワッチョイ 9bcb-2pcI)
垢版 |
2023/10/02(月) 15:36:53.97ID:TDDpdEaf0
>>329情報源は色々です
2023/10/02(月) 16:01:32.92ID:MrhOADGQ0
こういうやつには答えないスタイル
332デフォルトの名無しさん (ワッチョイ 85ad-6Yc9)
垢版 |
2023/10/02(月) 16:21:12.93ID:f2fMpIlB0
このレベルの基礎はすべて使うけどね
2023/10/02(月) 16:26:16.56ID:ATaGJaaDM
とりあえず環境構築してるならまずサンプルコードそのままコピペして実行しろ
いろいろ考えながらコードを弄っているうちに分かってくるからさ
疑問点は人に聞く前にまず自分で試して経験しろ
334デフォルトの名無しさん (ワッチョイ 2d34-uQQ6)
垢版 |
2023/10/02(月) 16:36:07.28ID:c5cuOzSD0
visual studioでステップ実行汁
335デフォルトの名無しさん (アウアウウー Sa89-5C2y)
垢版 |
2023/10/02(月) 16:40:30.40ID:sFvf9xp1a
>>327
>>331
ほんそれ
荒らしの相手レスする香具師も荒らしと看做せばいい
質問オウム返しはそもそも問題解決する気が無くて荒らしたいのだろう
2023/10/02(月) 17:29:56.66ID:eOR7lDrh0
色々なブレイクポイントで止めて中身を確認、理解する
理解できない部分は置いといて次に進む繰り返し
過去の疑問も解けていく

これは必須の作業。これをやればほとんどの疑問、分析は自己解決できる

昔はPRINTいっぱい埋め込んだものだ
今は楽ちん
2023/10/02(月) 18:58:04.16ID:3brSOCVN0
>>328
リンク先の内容で理解できない部分や自分の想定と違う部分があったら具体的に示して質問して
338デフォルトの名無しさん (ワッチョイ 9bcb-2pcI)
垢版 |
2023/10/02(月) 20:13:50.59ID:TDDpdEaf0
>324
列挙型でも数字はありますもんね。
ようやく少し理解
2023/10/02(月) 20:34:20.45ID:LSI+DZgZM
列挙型は数字があるというより数値を別名で抽象化したもの
実際の正体は単なる整数値
ただし直接的に数値として扱うとエラーになる
2023/10/02(月) 20:54:18.72ID:3brSOCVN0
>>338
いや、理解できてない
数字がある(=型に数値と互換性があるという意味と推察)かどうかは配列で扱ううえで全く関係ないよ

君が「数字がないもの」と思っているものの配列は理解できる?
例えば文字列配列を配列の長さ3で宣言できる?
2023/10/02(月) 21:17:33.82ID:3brSOCVN0
>>338
なんで数字にこだわるのかわからなかったけど
> tileList = new TileType[ columns, rows ];
>の部分でtiletype型には定数の文字列が入ると思っていましたが、整数値であるcolumnsとrowsを代入しているあたりが分からないです

ひょっとしてcolumnsとrowsで二次元配列のサイズを指定してるのを
配列tileListにcolumnsとrowsの値を入れていると誤解してる?
342デフォルトの名無しさん (ワンミングク MMa3-AwC8)
垢版 |
2023/10/02(月) 21:19:04.73ID:lujPkxOVM
荒らしの相手をするのは荒らし
2023/10/03(火) 03:19:43.89ID:BRGjmQhNM
二週間も同じことをグダグダ質問してる馬鹿は荒らしか?そうでなければ才能ないから諦めて消えろ
2023/10/03(火) 08:07:13.74ID:Uvzxz0ni0
>>341
そうじゃなくて、配列宣言は定数値じゃないといけないと思ってるんでしょ
だから皆から他人のコードを読む以前、基礎がわかってない、先に本なり見て学べって散々言われてるんよ
2023/10/03(火) 09:08:59.95ID:64Y6xUk10
>>341
あーなるほどね
コレクション式も追加されてそういう誤解は増えそうだな
2023/10/03(火) 10:16:03.76ID:Ovgwwfj90
>>344
それだと「整数値であるcolumnsとrowsを代入している」とは言わないだろう
tileList = new TileType[]{columns, rows};
みたいに初期値を入れてると誤認してるからこそだろう
そして「tiletype型には定数の文字列が入ると思っていました」というのは
tileList = new TileType[]{TileType.PLAYER, TileType.BLOCK};
のような書き方を指していると推察できる
2023/10/03(火) 11:03:15.13ID:Uvzxz0ni0
>>346
「定数の文字列が入ると思っていましたが、整数値であるcolumnsとrowsを代入している」ね
要するに配列宣言には定数を使用すると思ってたのに整数型変数使ってるのなんで?ってことよ
2023/10/03(火) 11:27:59.78ID:So2x5x/40
配列の宣言には定数を使わないといけないという勘違いをするのはそういう制約のある他言語に慣れ親しんだ人だけだから
2023/10/03(火) 11:29:47.91ID:Ovgwwfj90
>>347
「tiletype型には定数の文字列が入ると思っていましたが、整数値であるcolumnsとrowsを代入している」ね
columnsとrowsが配列のサイズを指定していることを理解していればそうは言わんでしょ
TileType型の配列の初期値に整数値が入るのなんで?ってことよ
2023/10/03(火) 11:40:39.38ID:Ovgwwfj90
>配列宣言は分かっているんですが、型が違いますよね
とか
>列挙型でも数字はありますもんね
って発言からもTileType型の配列には数値は入らないと思ってたけど入るんだと自分を納得させてるフシがある
2023/10/03(火) 12:51:54.86ID:Uvzxz0ni0
配列の宣言わかってるならあれを初期値だと思うか?
まぁ結局どういう考えかは本人にしかわからんけど
2023/10/03(火) 13:13:20.28ID:E2u3qt3Tr
配列宣言は定数値じゃないといけないと思ってる、よりは言動の辻褄が合うのではないかという話
本人に聞かないと真実がわからんのはその通り
2023/10/03(火) 17:03:23.96ID:L0v6ZlZp0
単に定数値という言葉の意味をわかってないだけでしょたぶんTyleType型の各値のことを言ってる
なんなら宣言という言葉の意味もわかってないし代入すらわかってない可能性もある
354デフォルトの名無しさん (ワッチョイ 1b22-uQQ6)
垢版 |
2023/10/03(火) 17:33:35.58ID:1Tt4UNmg0
スレタイさ、見て発言してる?
2023/10/03(火) 17:52:34.34ID:CTojctYiM
再掲

配列の要素のデータ型が列挙型(の変数)というだけであって配列そのものが特殊なものという訳ではない

この倉庫番のコードではマップのデータをcsv形式のテキストで設定してtileListという名の配列に格納している
格納する際に配列の要素はcsv内の整数データからTileTypeで定義された列挙型の変数に変換される

https://i.imgur.com/iA3fRKM.png
2023/10/03(火) 18:15:58.67ID:F8D+VEMNd
>>354
初心者の建前でキチが暴れるスレよね
357デフォルトの名無しさん (ワッチョイ ae8d-OOOs)
垢版 |
2023/10/07(土) 18:26:09.89ID:kQU1DN1N0
interfaceのクラス変数としてintとかの変数持たせるのはstatic intにしても同じことって理解
でいいですか?
2023/10/07(土) 18:34:14.76ID:Dbx341NqM
クラス変数とはなんだ?C#にそんなものはない
359デフォルトの名無しさん (ワッチョイ ae8d-OOOs)
垢版 |
2023/10/07(土) 19:00:10.87ID:kQU1DN1N0
クラス変数は誤植ですねごめんなさい。interfaceの中に変数宣言できたことです。
2023/10/07(土) 19:22:08.91ID:M9UZ8U5c0
くだらない揚げ足取りは気にする必要なし
2023/10/07(土) 19:32:40.93ID:Dbx341NqM
揚げ足取りじゃない
質問も訂正もおかしなことを書いてる
2023/10/07(土) 19:38:58.26ID:isyrDxYL0
C#でインターフェイスにフィールド(メンバ変数)を定義することはできないよ
なのでどういうのを想定しているのか回答者は全然分からない
用語を間違ってる可能性もあるからまずこういうコードというのを示してみたら
2023/10/07(土) 19:45:19.06ID:M9UZ8U5c0
>>361
発言がおかしいと感じたならそこを問いただせばいい
>>358は揚げ足取りでしかない
それともまさか本気で言ってる?
2023/10/07(土) 19:56:23.04ID:Dbx341NqM
ないものについて質問されてもないんだから答えようがない
それがまともな回答
2023/10/07(土) 20:01:14.99ID:M9UZ8U5c0
他の言語に触れてなくてクラス変数という用語自体を知らないのだろうか
2023/10/07(土) 20:02:30.94ID:Dbx341NqM
c#のinterface内でミューテクシオン宣言が使えないのはなぜですか?

回答
c#にミューテクシオン宣言と言うものはございません


これは揚げ足取りか?
2023/10/07(土) 20:05:04.36ID:M9UZ8U5c0
>>366
クラス変数という用語をご存知ですか?
イエスかノーでお答えください
2023/10/07(土) 20:06:57.65ID:Dbx341NqM
>>367
知らない
2023/10/07(土) 20:11:20.39ID:Dbx341NqM
誤植ですねについてああだこうだ言うのが揚げ足取り
イエスかノーかで答えてくださいに知らないと答えたのについてああだこうだ言うのが揚げ足取り

全然どうでもいいことにいちいち突っかかってくるID:M9UZ8U5c0が悪い
2023/10/07(土) 20:13:55.52ID:M9UZ8U5c0
>>368
これは失礼
他の言語の知識がなくてクラス変数自体を知らなかったのなら>>358の発言も仕方ない
ちなみにC#で言う静的メンバ変数に相当するものなので頭の隅に置いておこう
2023/10/07(土) 20:40:11.49ID:YtgTJ7v50
昔はできなかったがinterfaceにstatic memberを定義できるようになったんだよ
372デフォルトの名無しさん (ワッチョイ aea0-OOOs)
垢版 |
2023/10/07(土) 21:33:04.56ID:kQU1DN1N0
特に継承するわけでもないinterfaceの変数を使っていたので
staticでよくね?って思ったまでです。
2023/10/07(土) 21:41:19.16ID:kQU1DN1N0
>>362
メソッド以外定義できないんですか?普通にint xxx{get}みたいに変数定義してましたけど?
2023/10/07(土) 21:58:12.16ID:WiFpk8200
節子、それ変数やない、プロパティや
2023/10/07(土) 22:46:08.14ID:OKMBnv3y0
interfaceは実態まで定義できるようになって
これじゃ多重継承と何が違うんだろうね
2023/10/07(土) 23:10:34.30ID:Z0CAZWyi0
今や関数指向全盛じゃん
オブジェクト指向が諸悪の根源じゃねーーの
能力足りてないエンジニアばっかなんだから
2023/10/08(日) 01:41:02.74ID:G8JXzzlJ0
関数指向全盛って初めて聞いた
データとかあるんですか
2023/10/08(日) 02:27:58.84ID:4tUP3LVs0
>>376
まず構造化から学び直せ
2023/10/08(日) 07:23:28.50ID:dIUTdDjP0
>>376が関数嗜好なだけでは
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況