[過去ログ] ふらっと C#,C♯,C#(初心者用) Part154 (1002レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
850: (ワッチョイ 03ad-aelZ) 2022/06/13(月)04:07 ID:Vh92aGQu0(1) AAS
>>844
VB.NETと同じCLS準拠の言語
851
(2): (ワッチョイ 7305-yYLg) 2022/06/13(月)05:47 ID:QonCP77t0(1/3) AAS
 switch文は各caseの末尾にbreak必須で、main関数もJavaと同様にクラスで囲い込まないと
いけなくて、それで同じ.net frameworkのプログラムを作るだけだからVBと同じだ。
 C#は関数にデフォルト引数が使えない。旧VB6の関数も使うならVBが良し、そして文字列
の扱いでは、VBならLike演算子も使える。C#でExcelを制御するCOM対応のDLLも作ったこと
もあるが、元々VBAでやることをDLLで作るなら、素直に同じ系統の言語であるVB(.net)でや
ればいいものを、何でC#で作るのか疑問だ。
 C#なら複雑な文字列の扱いはどうやってるんかいな。VBならLike演算子で済ませられるもの
でも、毎度正規表現クラスを使ったりしてるんかいな。
 C#はC++の良さもVBの良さも生かせない言語とちゃうんかいな。
852: (ワッチョイ 7305-yYLg) 2022/06/13(月)06:02 ID:QonCP77t0(2/3) AAS
最も基本的なところの記述はCに似てるが、switch文のbreak必須仕様はVBのSelect Case文と結局同じで、
ヘッダーファイルというものはなく、#include文もなく、クラスの書き方はC++とは類似点が皆無と
言えるもので、実際にはVBのほうが十分に似てる。
853: (ワッチョイ 7305-yYLg) 2022/06/13(月)06:06 ID:QonCP77t0(3/3) AAS
マネージ拡張C++ならボクシングやアンボクシングも必要になるところも、C#にはそれが
無くて、VBとの書き方は末尾にセミコロンを付けるだけの違いでしかない。
854
(1): (ワッチョイ ffad-gL1p) 2022/06/13(月)07:10 ID:SowNiufC0(1) AAS
>>851
VBと同じで何が問題なの?
Basicに慣れてる人はVB、C/C++に慣れてる人はC#、と多くの人に対してハードルを低くしてる

あと、デフォルト引数もあるし、Like演算子の代わりもあるよ
855: (オッペケ Sr87-JPbs) 2022/06/13(月)08:02 ID:BEV+i+nur(1) AAS
トップレベルステートメントとか出たし、
VB使ってるからって妙にc#だけを意識してない?
活かせないとか皆無とか強い言葉で自分を守ろうとしてるのが見え見えで悲しい
856: (ワッチョイ c301-l+B+) 2022/06/13(月)08:08 ID:uSrHV9F/0(1) AAS
次の患者さんどうぞ~
857: (スップ Sd1f-asUV) 2022/06/13(月)08:10 ID:si/cekt2d(1) AAS
デフォルト引数が導入されたのがC#4だから昔のC#を思い出しながら書いてるのかもしれん
858: (テテンテンテン MM7f-/Ibo) 2022/06/13(月)11:07 ID:9GYOsPFhM(1) AAS
>>848
まあそれでも選択肢増えたのはありがたいわ
ランタイム別で単一EXEにするのも出来るし
859
(1): (ワッチョイ ffad-WqZx) 2022/06/13(月)11:32 ID:de8S7gm20(1) AAS
デフォルト引数がないwww
860: (ワッチョイ bf2d-IRXD) 2022/06/13(月)11:38 ID:DMu0O5hM0(1/4) AAS
C# 4.0って出たの12年前だよな
861: (スッププ Sdff-TUn1) 2022/06/13(月)12:16 ID:o5rEnsm9d(1) AAS
VB→Delphi→C#←C/C++
の進化は古参なら皆知ってるよね
右矢印は同じ人の仕業だし
862: (アウアウアー Saff-APne) 2022/06/13(月)12:17 ID:C6CMrLssa(1/3) AAS
Int16,32,64の使い分けって必要でしょうか
メモリが非常に少ない環境であればシビアになるべきでしょうが
普通の環境であればInt32を使用すれば問題ないと考えていますが合ってますかね
863
(1): (テテンテンテン MM7f-/Ibo) 2022/06/13(月)12:25 ID:jMLb0TIiM(1) AAS
合ってる
864
(1): (アウアウアー Saff-APne) 2022/06/13(月)12:48 ID:C6CMrLssa(2/3) AAS
>>863
即レスありがとうございます
型について書かれてるサイトやブログはありますが、各数値型の用途についてまで言及されているサイトはあまりなくて困っていました
助かりました
865: (ワッチョイ 1349-JPbs) 2022/06/13(月)13:05 ID:cpO+ItGK0(1) AAS
いえいえ
866
(1): (ワッチョイ bf2d-IRXD) 2022/06/13(月)13:15 ID:DMu0O5hM0(2/4) AAS
>>864
Int16,Int32,Int64ではなく、それぞれの別名であるshort, int , longと記述することが多い
大抵のお手本はintとだけ書いてあるでしょ
long(Int64)は32bitでは表現出来ない大きな数値を扱う時に使う
それ以外はint(Int32)
short(Int16)はあまり使わないな
867
(2): (オッペケ Sr87-JPbs) 2022/06/13(月)13:27 ID:XRTwYvhJr(1) AAS
クソ長い円周率とか宇宙規模の計算とか、doubleでもlongでも無理とかのとき、型はどうするん
まあ聞いてどうすることもないんやけど
868: (ワッチョイ bf2d-IRXD) 2022/06/13(月)13:34 ID:DMu0O5hM0(3/4) AAS
>>867
整数ならBigInteger構造体があるよ
869: (ワッチョイ cf33-BMQg) 2022/06/13(月)13:37 ID:sEeBHTnm0(1) AAS
宇宙規模の計算とか、桁数が有ってればOKみたいな世界やからへーきへーき(何が
870
(1): (ブーイモ MM7f-rAXT) 2022/06/13(月)14:45 ID:aFoq3UZeM(1) AAS
1ビットも無駄にしてはならない
shortでいいのにintなんか使った日には島流し
871: (ワッチョイ ff7c-GGE9) 2022/06/13(月)14:53 ID:5L5eEzJU0(1) AAS
DBならまだしもC#でshortとか使う価値が無いのだけどね
872: (ワッチョイ cfbb-7/FS) 2022/06/13(月)15:07 ID:13gVP5w60(1) AAS
細かい型を使ってもRustみたいにメモリギチギチに詰めてもらえる訳でもなく、何をするにもキャストばかり発生・・・・使い所は難しい
873: (ワッチョイ ff24-ISw1) 2022/06/13(月)15:51 ID:kOcD7AOC0(1) AAS
>>870
ビット単位で言うなら組み込み型そのまま使ってる時点で無駄にしまくり
上限値が分かってる場合はC/C++のビットフィールドを利用すると以下の3フィールドで4バイトしか使われない
int Year : 23; //MaxValue = 8388607
int Month : 4; //MaxValue = 15
int Day : 5; //MaxValue = 31
874
(1): (アウアウアー Saff-APne) 2022/06/13(月)16:15 ID:C6CMrLssa(3/3) AAS
>>866
そのshortを使わなくてよい根拠を知りたかったのです
サンプルやお手本がつかってないからではなく、ハードウェアの制限があるシーンで使うとか…
ただそんなシーンでC#は選ばれない気もしますが。

整数型以外も
>>867
にもありますが、例えばdouble型ってどういう用途で使うんでしょうかね。
decimalはお金等の電卓通りの計算になるような(ならないケースもありますが)項目に使いますよね。
floatはポリゴンの計算とか?

そういった数値型の利用シーンが知りたかった次第です。
875: (ワッチョイ bf2d-IRXD) 2022/06/13(月)17:00 ID:DMu0O5hM0(4/4) AAS
>>874
shortをあまり使わないのはメモリー効率以外に恩恵が無いから
・16bit変数は思ったよりもすぐに表現出来なくなることが多い
・キャストが面倒
大した意味は無いよ
876: (ワッチョイ c301-M2VI) 2022/06/13(月)17:16 ID:btkDjrJL0(1) AAS
スタックの幅は可変じゃ無いから 32bit幅なら16bitの値を入れても32bit喰うよ
877
(2): (ワッチョイ 13da-xATt) 2022/06/13(月)17:39 ID:eBuUTzcD0(1) AAS
o/rマッパのコードファーストでテーブルカラム定義する場合にもよく使う。
postgreのsmallintならC#のshortとか。

また小型機器なんかとバイナリ通信する場合もshortが2バイト幅って原理を使って通信フォーマット組み立てたりする
878: (アウアウウー Sa67-d8PR) 2022/06/13(月)17:56 ID:jfMe+W5qa(1) AAS
>>877
そうそう、組み込みデバイスとの通信はshort,floatを使うことが多いね

それとC言語出身者は char=1バイトと勘違いし易いみたい
879: (ワッチョイ 3302-/e9c) 2022/06/13(月)18:06 ID:oD70VLNY0(1) AAS
バイナリフォーマットが決まってるケースならともかく、通常はintでええやろ
1-
あと 123 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ

ぬこの手 ぬこTOP 0.031s