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

レス数が1000を超えています。これ以上書き込みはできません。
2021/05/16(日) 10:45:59.00ID:8qTwOc620
!extend:checked:vvvvv:1000:512
次スレを立てる時は↑を2行冒頭に書くこと(1行分は消えて表示されない為)

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

■前スレ
ふらっと C#,C♯,C#(初心者用) Part150
https://mevius.5ch.net/test/read.cgi/tech/1616471904/
■関連スレ
C#, C♯, C#相談室 Part94
https://mevius.5ch.net/test/read.cgi/tech/1553075856/
■コードを貼る場合は↓を使いましょう。
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/
・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
2021/08/17(火) 13:04:33.78ID:ENzl2Kob0
githubでソース公開されてるから自分でビルドはできるよ多分
2021/08/17(火) 16:03:07.73ID:XddNQS6P0
先生さんくそです
2021/08/17(火) 20:48:53.60ID:9BvuS0Oq0
さんくそだと礼を言ってるか罵倒してるか分かんないね
両方って可能性もあるか
2021/08/17(火) 21:32:03.99ID:ECKc58190
テキストファイルを開いて比較しまくるアプリを作ってつかってたら
Windows Defenderが重大な脅威と判断してアプリを消された
なんで脅威扱いになるんだか
2021/08/18(水) 00:47:38.32ID:K7TyhsAl0
chartの正式な対応っていつなのかな
chart好きだからずっと待ってるんだけどな
975デフォルトの名無しさん (ワッチョイ e5b0-NTPF)
垢版 |
2021/08/18(水) 18:46:34.79ID:LMksndsA0
複数のダイアログで定義して、メソッド中でHttpClientで外部のAPIにアクセスするクラスがあります。
複数のメソッドがあるのですが、それぞれのメソッドの中でHttpClientをnewするのは
ダメだと言うのを今さら知り、修正をもくろんでいます。

そうなると、各ダイアログで宣言するのも良くないとか、ついでに外部に接続せずに
テスト出来るようにしたいとか、直したいところが増えてしまい、どこから手を出せば良いか
分からなくなってしまいました(全面的に直さなければいけないことは分かる)。

この手のクラスについて、わかりやすいサンプルコードがありましたら教えてください。
2021/08/18(水) 19:20:10.31ID:GqIaKxua0
>>975
1つずつ全部やってけよ
アホか
2021/08/18(水) 19:24:56.77ID:GqIaKxua0
あー、でも、扱いが厄介であるとわかってるクラスなら自分が使いやすいようにラップしちゃえば?
そうすれば後で

実はこのクラスこうやって使うんですよ(・∀・)ニヤニヤ

ってなったときにそこさえ直せば良くて
他のクラスにはそのクソな部分が伝播しないじゃん
2021/08/18(水) 19:31:33.97ID:kXiitRhKM
>>975
ダイアログ開くときくらいなら毎回newで全く問題ないよ
使い回したほうがいいのは、ループ内で毎回newするとか、多数のユーザーが同時に利用するWebシステムでリクエスト毎にnewするとかのレベルの話
2021/08/19(木) 17:14:51.36ID:t0DU0NHa0
WinFormsのDataGridViewColumnのAutoSizeMode.Fillって一番隅じゃないと機能しないの?
ColumnHeader, Fill, ColumnHeaderって並べると一番右がColumnHeader無視されて押しつぶされるんだけど
2021/08/19(木) 18:18:37.26ID:YT8TdaSe0
>>979
右端の表示カラムにしか使ったことが無い
2021/08/19(木) 20:57:49.44ID:qYwmEXM80
>>979
今やってみたけど、普通に真ん中のカラムもFillされたよ。

https://ideone.com/nC8AFr
※Formに1個だけDataGridViewを置いて、デザイナではプロパティ一切編集していない状態。
2021/08/20(金) 09:19:57.77ID:o3I8mN8U0
>>980>>981
ありがとう
ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.AutoSize
こうしてたのが不味かったらしくAutoSize以外にしたらちゃんと右端のもColumnHeader機能するようになった
983デフォルトの名無しさん (ワッチョイ ff02-VfHF)
垢版 |
2021/08/21(土) 23:10:50.06ID:7GAoG1Iq0
Rustのメモリ安全性はボローチェッカーによって担保されているが、
Nimと比較してRustはタイプ量が多い事により限りなく低い生産性と
C++のような高い難読性、超巨大なバイナリ生成性能を兼ね備えています

Nimはバージョン1.5.1でRustのボローチェッカーに似た「View types」が実装されれば、
GC無しのView typesで参照の有効性を検証することによってメモリ安全性を保証しつつ
限りなく抑え込まれたタイプ量で高速化したCのソースコードを吐き出せます

Nimソースコード ==nimコンパイラ==> Cソースコード ==Cコンパイラ==> バイナリ

なので、nimコンパイラが通った時点でメモリ安全性が担保されませんか?

Nimの実験的特徴
著者: アンドレアス・ルンプ
バージョン: 1.5.1
http://nim-lang.github.io/Nim/manual_experimental.html


Nimは限りなく抑え込まれたタイプ量で高い生産性とPythonのような高い可読性を実現し
ているにもかかわらず、高速なCのソースコードを吐き出せるのでC言語でリモートワーク
されている方は割り振られた仕事が早く終わっても終わってないふりをして怠けることができる

「怠け者とはこうあるべきだ!」と言うとても大事な事を Nim は我々に教えてくれます
984デフォルトの名無しさん (ワッチョイ ff02-VfHF)
垢版 |
2021/08/22(日) 13:15:17.99ID:0Cz6ueFz0
Rustのメモリ安全性はボローチェッカーによって担保されているが、
Nimと比較してRustはタイプ量が多い事により限りなく低い生産性と
C++のような高い難読性、超巨大なバイナリ生成性能を兼ね備えています

Nimはバージョン1.5.1でRustのボローチェッカーに似た「View types」が実装されれば、
GC無しのView typesで参照の有効性を検証することによってメモリ安全性を保証しつつ
限りなく抑え込まれたタイプ量で高速化したCのソースコードを吐き出せます

Nimソースコード ==nimコンパイラ==> Cソースコード ==Cコンパイラ==> バイナリ

なので、nimコンパイラが通った時点でメモリ安全性が担保されませんか?

Nimの実験的特徴 バージョン1.5.1
http://nim-lang.github.io/Nim/manual_experimental.html

第二プログラミング言語として Rust はオススメしません Nim をやるのです
https://wolfbash.hateblo.jp/entry/2017/07/30/193412


Nimは限りなく抑え込まれたタイプ量で高い生産性とPythonのような高い可読性を実現し
ているにもかかわらず、高速なCのソースコードを吐き出せるのでC言語でリモートワーク
されている方は割り振られた仕事が早く終わっても終わってないふりをして怠けることができる

「怠け者とはこうあるべきだ!」と言うとても大事な事を Nim は我々に教えてくれます
2021/08/22(日) 14:58:48.54ID:6XaRws1Na
aws lambdaにdeployしたfunctionのステップ実行ってできる?
2021/08/24(火) 22:42:58.40ID:VqhrUkYM0
変数って全てカプセル化して関数でアクセスするようにしないと駄目ですか?
変数がたくさんあるとき
private float hoge;
private float fuga;

void GetFuga
void BetHoge;

って関数たくさん用意するのも見ずらいと感じるのですが
2021/08/24(火) 22:44:31.74ID:/tCnVXeL0
プロパティがあるでしょ
2021/08/25(水) 03:00:37.95ID:ZsIr98ED0
>>986
気にしなくて良いよ。ダメってことはない。
理由が出来てからカプセル化すれば良いんじゃないかな。
2021/08/25(水) 06:59:01.74ID:tgvUkE6r0
publicにしたいのは自動実装プロパティ使おう フィールドと大差なく書ける
public float Hoge { get; set; }
2021/08/25(水) 07:58:42.14ID:6XLAMhRo0
他の人使わないなら、プロパティーもフィールドも変わらん。
他の人使ってないなら別にdllでアセンブリ状態で参照させてないってことだから、
必要な段階でフィールドからプロパティーに変えればいい。
呼び出し側の書き換えも要らんし。
2021/08/25(水) 08:17:57.51ID:IF2R2rJ/r
結局なんでそうするかって言ったら想定外の値が入ることを避けるためと修正が必要になったときに修正範囲を小さくするためだからなあ
2021/08/25(水) 10:50:00.29ID:w4zcDk6l0
プロパティで実装しておくとVS上で何か所から参照されているのか表示されて
その参照場所へ簡単に飛べるようになるから個人開発でもお勧め
2021/08/25(水) 10:54:21.96ID:8yGiroeZd
個人で開発するなら入力チェックしなくて良いと思う。
見せかけだけのプロパティとか、そういう場合が多いかな。
2021/08/25(水) 10:55:37.16ID:sdRC5LrgM
機械的にプロパティやアクセサメソッドを実装するのはやめたほうがいいよ
面倒だと感じる時点で設計を疑ったほうがいい
DBのエンティティクラスみたいなのを除けば、本当にクラス外に公開する必要のある変数って極僅かなはず
2021/08/25(水) 11:03:46.23ID:dGOrb7NRM
>>994
そんなことねーだろハゲ
処理1-24までの出力が全部必要な
処理25とか普通にあるだろ
その時処理1-24の閉じられたクラスのプロパティが全部必要になるとか普通によく見るわ
お前はないの?
経験値が足りないんじゃない?
2021/08/25(水) 11:49:57.68ID:sdRC5LrgM
>>995
リファクタすりゃいいんじゃない?
まあSIみたいだから後で弄るのは難しいのかもしれないけど
2021/08/25(水) 12:22:10.74ID:uVderaMI0
privateなフィールドとプロパティどちらにするか迷ったけど、
プロパティにしとけばgetとset別々に検索できるから便利だと気づいた。
2021/08/25(水) 15:24:05.86ID:ZkAj8L4Pa
無意味なsetが後々悪さをすることがある
>>990
の言う通り他の人が使うか使わないかで左右されるが、3ヶ月後の自分はほぼ他人だったりする
2021/08/25(水) 19:45:50.20ID:tgvUkE6r0
次スレ立てられた
https://mevius.5ch.net/test/read.cgi/tech/1629888256/
2021/08/25(水) 19:53:31.05ID:2EffLwye0
また逢う日まで
10011001
垢版 |
Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 101日 9時間 7分 32秒
レス数が1000を超えています。これ以上書き込みはできません。
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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