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

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ 0fe3-wadS)
垢版 |
2022/02/09(水) 23:13:39.45ID:1A90hyai0
!extend:checked:vvvvv:1000:512
次スレを立てる時は↑を2行冒頭に書くこと(1行分は消えて表示されない為)

「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。
他のスレッドでは書き込めないような低レベルな質問、質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。
内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。
なお、テンプレが読めない回答者、議論をしたいだけの人は邪魔なので後述のC#相談室に移動して下さい。
C#に関係の無い話題や荒らしの相手や罵倒レスや酔っぱらいレスはやめてください
>>980を踏んだ人は新スレを建てて下さい。>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。

■前スレ
ふらっと C#,C♯,C#(初心者用) Part153
https://mevius.5ch.net/test/read.cgi/tech/1639403601/
■関連スレ
C#, C♯, C#相談室 Part96
https://mevius.5ch.net/test/read.cgi/tech/1639965805/
■コードを貼る場合は↓を使いましょう。
https://ideone.com/
https://dotnetfiddle.net/
■情報源
https://docs.microsoft.com/ja-jp/dotnet/standard/class-libraries/
https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/
https://docs.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
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
2022/02/13(日) 00:08:15.38ID:FGdWJXDS0
何でシャープなのにフラットなんですか?
2022/02/13(日) 03:05:32.20ID:VSC7OudY0
何でだと思いますか?
2022/02/15(火) 23:10:38.63ID:cOFK9ujT0
多次元配列とジャグ配列ってメモリ使用量は同じですか?
(例えばint[3,3]とint[3][3])
2022/02/15(火) 23:16:22.58ID:V26FO7wsa
>>4
意地悪な言い方をすれば、配列のメモリ使用量 = 要素数だと考えると
ジャグ配列の方が要素数が少ないのでメモリ使用量も小さいことになる。
2022/02/16(水) 00:42:55.65ID:zdbyhmola
c#の実装がどうなってるのかは知らないけど普通に考えて
多次元より配列の配列の方がメモリ効率悪くなるからメモリ使用量も多いはず
2022/02/16(水) 09:24:38.60ID:9PrGaEWW0
シャグ配列は配列の配列のためのヒープ+配列それぞれのヒープ、つまりint[3][3]だと4つのオブジェクトからなる
メモリ的にも連続してない上に4つのオブジェクトヘッダ分(32bitだと8byte?64bitだと16byte?)余計に要する
int[3,3]の多次元配列は実体はint[9]の1オブジェクトとしてレイアウトされてそうだけど実際どうなってるかはunsafeで確かめてみないと分からない
Console.WriteLine(Unsafe.AsPointer(ref array[0,0]));とかでアドレスを調べてみると良い
2022/02/16(水) 10:02:32.42ID:xaORQRwj0
小細工せずにシンプルに富豪的プログラミングすりゃええやん
2022/02/16(水) 10:20:29.58ID:FqYQ+dJNM
ソース忘れたけどジャグ配列の方がアクセス速いらしい
2022/02/16(水) 11:20:29.58ID:FqYQ+dJNM
すまん嘘ついたわ
シーケンシャルはジャグのが速いけど、ランダムだと逆らしい
普通に考えると >>7 の言うようにジャグは配列のヘッダ分余分に使うと思うけど、プリミティブ型の配列は最適化で何か消し飛びそうな気もするから、正直あんま変わらなさそうな気がする
2022/02/16(水) 14:03:09.07ID:RtFWZL7LM
全部詰め込むならジャグ配列のほうが容量は食う
多次元配列はint[M x N]で確保されて計算経由でアクセス
速度は環境や使い方によって違うので自分の使い方で計測したほうがいい
2022/02/16(水) 15:12:12.97ID:t9owAYRA0
もっと楽観的に取り組もうぜ
2022/02/17(木) 10:51:36.86ID:GVuWfQald
正直いって、メモリや速度より組みやすさで選びたいよね。
性能を求めるなら、Rustとかの方が良いんでしょ?
2022/02/17(木) 12:14:06.04ID:JwXvZXiU0
え?それ、実際に計測していってんの?
2022/02/17(木) 12:26:13.49ID:eZZ7a2UPM
後々の保守考えると、実際のとこ見やすさと組みやすさが最重要だと思う
16デフォルトの名無しさん (ワッチョイ bfbd-oz1W)
垢版 |
2022/02/21(月) 21:06:11.37ID:8NF9kOJ70
VBAからのC ♯に挑戦中です。
visual studio使ってるんですが、予測変換やらその他諸々便利な事が多く感動しております。。
質問なんですが、VBAでやる場合は印刷=Excel sheetでみたいな固定概念なんですがこっちの場合って印刷出力は物によるとは思うんですが、どんな感じですか?調べると、print document??なるもので頭でイメージして印刷用のベースを自作して作るのですか?
印刷内容は至ってシンプルな文字列やら数値です。
2022/02/21(月) 21:40:50.41ID:dmBIFY6O0
そもそもプリンタから紙を出すということ自体発想がなかったわ

ライブラリ使うにしても
入力の文字列やら数値から印刷用のレイアウトを起こさなきゃいけないし、
プリンタに印刷データを投げなきゃいけない

簡単に印刷と言うけど結構やることは多い
2022/02/21(月) 21:44:55.46ID:i5JttRhRa
プリンタは画像描画みたいなもの
縦横ピクセルサイズ決めて、そこのxy座標どこにどのくらいの大きさで文字を描く〜ってイメージ
印刷プレビューも使えるから適当にググって試せばすぐわかるよ
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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