[過去ログ] ふらっと C#,C♯,C#(初心者用) Part141 (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
781: (ワッチョイ a7da-MZ+k) 2019/02/15(金)10:33 ID:QcXsKv+O0(1/2) AAS
2番じゃ駄目なんですか
782(1): (ワッチョイ 5f47-0jsH) 2019/02/15(金)11:41 ID:a5xYZsMx0(2/2) AAS
>>780
そんなもん例外キャッチすればいいでしょ
783: (アウアウウー Sa4b-F6dR) 2019/02/15(金)12:42 ID:VCl1o3iCa(1/2) AAS
>>782
ArgumentException系をcatchするのは悪手だと思う
.Distinct().OrderByDescending(x => x).Cast<int?>().ElementAtOrDefault(1)
とするのはどうだろう
784: (ドコグロ MM3b-3Kdw) 2019/02/15(金)12:53 ID:Qph8FA2WM(1/2) AAS
>>780
そういう状態を想定するならそもそも2番目が無い時の要件書いてないやつが悪い
785: (スププ Sd7f-0jsH) 2019/02/15(金)12:56 ID:dZvrqvyod(1) AAS
>>780
ちょっとしたQAにあらゆる異常系処理にまで対応したコードまで求めるのは違うと思う
786: (オッペケ Sr7b-/+m/) 2019/02/15(金)13:01 ID:tYLxs8Yjr(1) AAS
みんなLinkつこてるの?
787(1): (ササクッテロレ Sp7b-13Kq) 2019/02/15(金)13:02 ID:juddEHEPp(1/2) AAS
二番目に高い要素を取得っちゅーてんのに二番目が無い場合に
例外じゃなく勝手に既定値を返す方がよほど悪手じゃね?
788(1): (ワッチョイ bfef-l0e6) 2019/02/15(金)13:04 ID:Ayyf6Kdi0(1/5) AAS
c#で作られているソフトって何があるのですか
789(1): (アウアウウー Sa4b-F6dR) 2019/02/15(金)13:18 ID:VCl1o3iCa(2/2) AAS
>>787
強調し忘れてたから念の為書いておくと
Null許容型にしているから「二番目に高い要素が0」の場合と「二番目が無い場合」は区別できる
それを踏まえた上で指摘してくれているなら……Null許容型使ってたらnullチェックしてくれると信じてるんだがどうだろう
790: (ササクッテロレ Sp7b-13Kq) 2019/02/15(金)13:44 ID:juddEHEPp(2/2) AAS
>>789
正直そのへんは踏まえずケチつけたけど
結局エラー分岐が戻り値か例外かって話になるなら
質問者そっちのけでどちらがスマートか殴りっこしても不毛だなあ
791(1): (ワッチョイ bfef-l0e6) 2019/02/15(金)17:22 ID:Ayyf6Kdi0(2/5) AAS
vs2017でただの波括弧で特定部分を囲うと、インデントされますが、これはどのような意味を持ちますか?
792(1): (ワッチョイ 5f61-yQ/S) 2019/02/15(金)17:37 ID:l6xRE0dp0(1) AAS
超かっこいい
793(1): (ワッチョイ a70c-yQ/S) 2019/02/15(金)17:54 ID:VXffwVEC0(1) AAS
>>791
ブロックという意味です
794(3): (ワッチョイ bfef-l0e6) 2019/02/15(金)18:14 ID:Ayyf6Kdi0(3/5) AAS
>>793
if{}
みたいな条件がない
{}
だけの状態でもエラーとはなりませんが、何の意味があるのですか?
見た目を整えるだけですか?
795: (ワッチョイ a7da-MZ+k) 2019/02/15(金)18:34 ID:QcXsKv+O0(2/2) AAS
>>788
nikon の現像ソフト
796: (ドコグロ MM1f-udZ6) 2019/02/15(金)18:35 ID:T7xyRbUnM(1) AAS
>>794
一時変数を何度も使うときに便利
797: (ドコグロ MM3b-3Kdw) 2019/02/15(金)18:54 ID:Qph8FA2WM(2/2) AAS
>>794
C# ブロックスコープ
でぐぐれ
798: (ワッチョイ bfef-l0e6) 2019/02/15(金)18:57 ID:Ayyf6Kdi0(4/5) AAS
↑ありがとう
799: (ワッチョイ 0788-eHko) 2019/02/15(金)19:10 ID:A45VNw280(1) AAS
>>794
スコープを制限するからその中で宣言したローカル変数は外で使えない
たぶん、それ以外に違いはない
800(1): (ワッチョイ bfef-l0e6) 2019/02/15(金)20:08 ID:Ayyf6Kdi0(5/5) AAS
c#のwinformのmenustripの背景というのは変更できないのでしょうか
この辺はそれぞれのPCに依存してるのかなーと思います
801(1): (ワッチョイ 7f7b-uWgP) 2019/02/15(金)20:12 ID:gfFuWLI70(1) AAS
>>800
BackgroundImageのプロパティに設定
802: (ワッチョイ 0743-amp2) 2019/02/15(金)21:35 ID:jCkiam8S0(1) AAS
>>792
俺の事か?
803: (ワッチョイ bfef-l0e6) 2019/02/16(土)05:07 ID:d5pUUzr/0(1/5) AAS
>>801
ありがつぅ
804(2): (ワッチョイ bfef-l0e6) 2019/02/16(土)05:57 ID:d5pUUzr/0(2/5) AAS
c#でスクリーンショット撮影するソフトは不可能ですか?
805: (スッップ Sd7f-/Qxi) 2019/02/16(土)07:29 ID:+4z8MAVsd(1) AAS
いいえ
806: (ワッチョイ 2717-yQ/S) 2019/02/16(土)11:13 ID:I7KLi1I90(1) AAS
>>804
検索すればすぐわかる
807: (ワッチョイ a761-yQ/S) 2019/02/16(土)11:55 ID:mmBt6tnL0(1) AAS
>>804
MessageBox.Show("PrintScreenボタンを押せろください");
808(2): (ワッチョイ 2702-yQ/S) 2019/02/16(土)16:07 ID:n2t8JUOl0(1) AAS
Cでは数値型変数を複数の場所から参照するためには、変数のポインタ得てそれを使いますが
C#ではポインタ無いんで、数値フィールド持つクラスを作って
そのインスタンスから参照するしか無いんですか?
809: (スップ Sdff-K7Ax) 2019/02/16(土)17:01 ID:dfsqwbBrd(1) AAS
別にポインタはあるぞ。
行儀わるいから、使うべきかよくかんがえたほうがいいだけ。
810: (ワッチョイ df32-A2tD) 2019/02/16(土)17:01 ID:mSWYdTC80(1) AAS
>>808
スカラー型なら直接読み書きすれば良いのでは無いかと思いますが…配列なら参照型です
変数参照を扱うなら強化されたrefやoutを使えます、またunsafeだとポインタも使えます
TypedReferenceというのも有りますがコレを扱うための__makerefなどは些かアレなので…
.NETには値参照用のSystem.Runtime.CompilerServices.StrongBox<T>などジェネリック既存型も有ります
811: (スププ Sd7f-amp2) 2019/02/16(土)17:09 ID:eqms90yHd(1) AAS
定数参照的な話?
812: (アウアウエー Sa1f-x6Gg) 2019/02/16(土)17:11 ID:PR5Tb5Rba(1) AAS
>>808
Cでもスコープ内の変数は普通に読み書き可能。
スコープ外の変数でもその値を引数として関数に渡すことができる
ポインタが必用になるのは変数を書き換える汎用的な関数を書く場合だけ
C#の場合、同じことはrefやout付きの引数で実現できる
813(1): (ワッチョイ bfef-l0e6) 2019/02/16(土)17:20 ID:d5pUUzr/0(3/5) AAS
外部リンク:nn-hokuson.hatenablog.com
個々のサンプル通りにゲームを作成中なのですが、paintイベントハンドラってなんでしょうか
paintというイベントは何によって発生するのかよくわかりません
814: (ササクッテロレ Sp7b-13Kq) 2019/02/16(土)17:27 ID:NXeshUsvp(1/2) AAS
>>813
> paintイベントハンドラってなんでしょうか
描画をするためのハンドラです
> paintというイベントは何によって発生するのかよくわかりません
描画をしたい時に発生します
815(1): (ワッチョイ bfef-l0e6) 2019/02/16(土)17:31 ID:d5pUUzr/0(4/5) AAS
↑描画とはどういう操作のことでしょうか?
フォームがロードされた時点で実行されます
816: (ササクッテロレ Sp7b-13Kq) 2019/02/16(土)17:37 ID:NXeshUsvp(2/2) AAS
>>815
ゲームの場合は勝手に描画が実行され続けます
817: (ワッチョイ bfef-l0e6) 2019/02/16(土)18:16 ID:d5pUUzr/0(5/5) AAS
↑自動的にですか
ありがとうございます
818(2): (ワッチョイ bfef-l0e6) 2019/02/17(日)12:34 ID:Cn2cXppc0(1/6) AAS
using System;
public class Hello{
public static void Main(){
// Your code here!
private void myfunction(){
Console.WriteLine("jfoasd");
}
省6
819: (ワッチョイ c701-cT+3) 2019/02/17(日)12:38 ID:51VRzV3m0(1) AAS
staticな関数から動的な関数を呼び出してるんじゃない?
820: (ワッチョイ 2717-yQ/S) 2019/02/17(日)12:59 ID:j6Gi9YSR0(1) AAS
ローカル関数をサポートしてないだけでしょ
821: (ササクッテロレ Sp7b-13Kq) 2019/02/17(日)13:00 ID:I+dbukVsp(1/2) AAS
>>818
private voidの部分がおかしいですね
822(2): (ワッチョイ 077b-Pt61) 2019/02/17(日)14:31 ID:cAaLtQSp0(1) AAS
>>818
まずこういう質問はpaizaの問題でC#のスレでやられても混乱するからVisualStudioでの話以外はやめてくれ
コード書けるサイトが間違っていないって保証が無い。実際動くコード転載してもエラーって何度も経験しているからな
VisualStudioで書くのならターゲットフレームワークを.Net4.7以上にしてprivate void myfunction()からprivate外してvoid myfunction()で動く
823(3): (ワッチョイ 7ff2-5Hf3) 2019/02/17(日)16:38 ID:Agaj4T0x0(1/2) AAS
たすけて!これ何が違うの?
どっちも普通に使えるよね?
ちな初心者
?List<T> list = new List<T>();
?List<T> list;
824: (ワッチョイ 87e7-Hwlg) 2019/02/17(日)16:55 ID:2ynU5zYy0(1) AAS
後者は中身が無いからそのままじゃ使えない
825(1): (アウアウウー Sa4b-FXSN) 2019/02/17(日)17:04 ID:KqlDIF5Pa(1) AAS
>>823
1はlistという変数の定義と同時にList型のインスタンスで初期化している、普通に使える
2はlistという変数を定義しただけの状態
ローカル変数の場合は後で初期化する必要がある、未初期化のまま使おうとするとコンパイルエラー
クラスや構造体のフィールドの場合は暗黙でnullで初期化される、「普通に使う」ためには後でList型インスタンスを代入してやる必要がある
826(1): (ワッチョイ 5f01-3Kdw) 2019/02/17(日)17:07 ID:naWxhgEk0(1/2) AAS
>>823
> ?List<T> list = new List<T>();
は
List<T> list;
list = new List<T>();
と同じ
> ?List<T> list;
省1
827: (スッップ Sd7f-/Qxi) 2019/02/17(日)17:07 ID:B/nvmulQd(1/2) AAS
>>822
.NETのバージョンなにか関係あるか?
828(1): (ワッチョイ df32-A2tD) 2019/02/17(日)17:12 ID:tKx1WgvG0(1) AAS
>>823
C++と違ってクラスは強制的に参照型で変数宣言がポインタと同等なのよ
宣言だけではコンストラクタはもちろんインスタンスも割り当てられない
829: (ワッチョイ bfef-l0e6) 2019/02/17(日)17:26 ID:Cn2cXppc0(2/6) AAS
>>822
paiza だと挙動が少し違うようです
このサイトはやめときます
830(3): (ワッチョイ bfef-l0e6) 2019/02/17(日)17:35 ID:Cn2cXppc0(3/6) AAS
ちょっとコードを確認したいというときに、使えるツールありますか?
わざわざプロジェクト作るほどではないときですね
python のidleのようなものです
831: (ワッチョイ 275f-8zyB) 2019/02/17(日)17:38 ID:Ox4HquXb0(1) AAS
>>830
C#インタラクティブ
832: (ワッチョイ a7da-MZ+k) 2019/02/17(日)17:41 ID:0sFVNd3o0(1) AAS
cscは標準で入っているでしょ
833(1): (スッップ Sd7f-/Qxi) 2019/02/17(日)17:54 ID:B/nvmulQd(2/2) AAS
>>830
LINQPad
834: (ワッチョイ 5f47-0jsH) 2019/02/17(日)18:01 ID:/k3HmPSI0(1) AAS
csiだな
835: (ブーイモ MMcf-lPFl) 2019/02/17(日)18:03 ID:owh3i+7dM(1) AAS
スクリプトみたいに対話型でできる?
836: (ワッチョイ bfef-l0e6) 2019/02/17(日)18:18 ID:Cn2cXppc0(4/6) AAS
↑ありがとうございました
837: (ワッチョイ 5f01-3Kdw) 2019/02/17(日)18:21 ID:naWxhgEk0(2/2) AAS
>>830
notepad.exe + csc.exe
838: (ワッチョイ 7ff2-5Hf3) 2019/02/17(日)18:28 ID:Agaj4T0x0(2/2) AAS
>>825
>>826
>>828
NEWはしなきゃいけないのね
有難う御座います
839: (ワッチョイ bfef-l0e6) 2019/02/17(日)18:29 ID:Cn2cXppc0(5/6) AAS
>>833
これいいっすね
初心者なのでしばらく練習します
840(1): (ワッチョイ bfef-l0e6) 2019/02/17(日)20:45 ID:Cn2cXppc0(6/6) AAS
vs codeもちょっとしたコードの確認に使うものなんでしょうか?
841: (ササクッテロレ Sp7b-13Kq) 2019/02/17(日)21:29 ID:I+dbukVsp(2/2) AAS
>>840
使うひともいれば使わないひともいますね
842(3): (ワッチョイ 7fda-cT+3) 2019/02/18(月)01:50 ID:pxm+KTrW0(1/3) AAS
入力項目が沢山ある画面で、変更を保存せず画面を閉じようとしたときは警告を出したいです。
何も変更せず画面を閉じる場合は警告を出さずに閉じたいです。
この場合の変更チェックは入力項目に紐づく変数1個1個をチェックする以外に、スマートな方法は無いでしょうか?
入力項目に紐づく変数はデータクラスとして用意しているので、画面開く直前にハッシュのようなものを計算し退避しておき、
画面を閉じる直前にハッシュを再計算し比較すれば行けると思うのですが、オブジェクトのハッシュを求めるのは
GetHashCodeでいいのでしょうか?
843: (ワッチョイ a761-udZ6) 2019/02/18(月)01:58 ID:0Vx/m/dz0(1) AAS
ないね
上に1dot
下に1dot
って動かされて終了したときは
出したくないんでしょ?
何か妥協点がない限り全部比較するしかないよ
844: (ワッチョイ 275f-8zyB) 2019/02/18(月)02:13 ID:Y8U6L+e90(1) AAS
>>842
データクラスとして纏めてあるなら、GetProperties()やGetFilelds()で抽出した各変数を
ループで比較すればそこそこスマートなんじゃない。
845(1): (ワッチョイ 5f47-0jsH) 2019/02/18(月)02:29 ID:GC8vaMYY0(1/2) AAS
俺ならデータクラスにINotifyPropertyChangedを実装するかな
846(1): (アウアウエー Sa1f-x6Gg) 2019/02/18(月)02:53 ID:+SQV8UeVa(1) AAS
>>842
直接の回答でなくてごめん。
そういうMSにありがちなUIはたぶん
(1) 変更をキャンセル可能であること
(2) OKボタンをクリックした時点で初めて変更が反映されること
が要件になってるからそういう仕様になるんだと思うけど、こんな要件が必用ないなら
画面の入力項目の変更を変更があった時点でその都度対応するオブジェクトの
省3
847(1): (ワッチョイ 7fda-cT+3) 2019/02/18(月)03:23 ID:pxm+KTrW0(2/3) AAS
>>845
いいアイデアですね。
プロパティ1つ1つに
if(beforeValue!=afterValue)
OnPropertyChanged();
みたいな実装が必要なのが若干だるい気がしますが。
>>846
省4
848: (ワッチョイ 5f47-0jsH) 2019/02/18(月)08:27 ID:GC8vaMYY0(2/2) AAS
>>847
データクラスのベースクラスをPrism.MvvmのBindableBaseにするとまあまあタイプ量減らせたりするよ
849(2): (ワッチョイ bfef-l0e6) 2019/02/18(月)11:29 ID:huM3ZKfN0(1/2) AAS
画像リンク[jpg]:i.imgur.com
vs codeを使っているのですが、どこから実行できるんでしょうか?
言語はc#で、マイクロソフトのc#のアドオンを入れました
ctr shift pでrunというコマンド?が出てくるので、それをクリックしたのですが、outputには何も出ません
また、ヴィジュアルスタジオの場合はイベントハンドラーがありますが、常に実行させるようなイベントというのはただのC#にあるんでしょうか?
850: (スッップ Sd7f-/Qxi) 2019/02/18(月)11:34 ID:FChOt/Xad(1) AAS
>>849
チュートリアルくらいやれよ
851(1): (ブーイモ MMcf-lPFl) 2019/02/18(月)12:06 ID:RBxZ7FEaM(1) AAS
>>849
ターミナルでdotnet runと打ち込んでEnterや
852(1): (スフッ Sd7f-Phvs) 2019/02/18(月)12:13 ID:vM1YVHVQd(1) AAS
>>842
そう言うの割とダルいから、データをクラスにまとめといて、開いた時点でシリアライズして文字列で持っちゃう。
保存時にシリアライズして文字列一致しなかったら、変更されてると言うことにする。
一個ずつ比較したら改修で漏れるよ。
853(1): (ワッチョイ bfef-l0e6) 2019/02/18(月)12:41 ID:huM3ZKfN0(2/2) AAS
>>851
ありがとうございます
そうやって実行するんですね
visual studioよりむずいです
ただ、Program.csという自動生成されたファイルが実行されます
同じフォルダに自分で作ったsample.csがあるんですが、こっちを実行させる設定はどこからするんでしょうか?
パスを指定してからdotnet runしてもエラーになるます
854: (スップ Sdff-/Qxi) 2019/02/18(月)12:42 ID:OjJXAwBNd(1) AAS
>>853
いやだからチュートリアルくらいやれって
855: (ワッチョイ 7fda-lPFl) 2019/02/18(月)12:59 ID:pxm+KTrW0(3/3) AAS
>>852
それもいい考えですね。
メンバ変数に[DataMember]とアノテーションを
つければいいだけですね
856(1): (アウアウエー Sa1f-x6Gg) 2019/02/18(月)13:05 ID:99WFuefSa(1) AAS
まあ一度変更があった時点で実際には等価でも別物と見なす実装が一番簡単だねたぶん。
実際そういうソフト結構あるよね。
そういう手抜きが気に入らないなら素直にEquals実装するのが結局シンプルじゃないのかな。
フィールドが全部値型の構造体ならデフォルト実装で済むと思ったし
...と思って調べてみたけど、なんかドキュメントによって書いてるこが微妙に違うなw
外部リンク:docs.microsoft.com
↑には「リフレクションを使用して、型のフィールドとプロパティをすべて調べます。」と書いてあるが
省3
857: (アウアウウー Sa4b-F6dR) 2019/02/18(月)18:49 ID:L0NbuPbAa(1/2) AAS
>>856
> 外部リンク[2]:docs.microsoft.com
のRemarksには、thisとobjの全フィールドが参照型でなければbyte単位の比較、そうでなければリフレクションを使うとある
外部リンク:docs.microsoft.com
他に知っているもので↑では、リフレクションを使うとだけある
外部リンク[cs]:referencesource.microsoft.com
少なくとも.NET Framework 4.7.2では、ビット比較だけしていそうなFastEqualsCheckを呼ぶパスが存在する
省1
858: (アウアウウー Sa4b-F6dR) 2019/02/18(月)19:16 ID:L0NbuPbAa(2/2) AAS
ごめん「他に知っているもの」に貼るURL間違えた
外部リンク:docs.microsoft.com
859(1): (ワッチョイ bfef-l0e6) 2019/02/19(火)11:05 ID:t+ZZI+Uh0(1/2) AAS
vs codeのproblemの欄なんですが、間違ったコードを入力しても自動で更新されないようです
デバッグを実行しないとだめなようですが、リアルタイムにエラーを表示してくれる設定はできますか?
以前はできたんですが
860: (スップ Sd7f-/Qxi) 2019/02/19(火)12:03 ID:IsM0ebyqd(1) AAS
日本語でよろしく
861: (オイコラミネオ MMdb-KRFs) 2019/02/19(火)12:33 ID:efthhon4M(1) AAS
そいつは難しいproblemだな
上下前次1-新書関写板覧索設栞歴
あと 141 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.023s