ふらっと C#,C♯,C#(初心者用) Part144
■ このスレッドは過去ログ倉庫に格納されています
!extend:checked:vvvvv:1000:512 次スレを立てる時は↑を2行冒頭に書くこと(1行分は消えて表示されない為) 「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。 他のスレッドでは書き込めないような低レベルな質問、 質問者自身なんだか意味がよく分からない質問、 ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。 内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。 なお、テンプレが読めない回答者、議論をしたいだけの人は邪魔なので後述のC#相談室に移動して下さい。 C#に関係の無い話題や荒らしの相手や罵倒レスはやめてください >>980 を踏んだ人は新スレを建てて下さい。 >>980 が無理な場合、話し合って新スレを建てる人を決めて下さい。 ■関連スレ C#, C♯, C#相談室 Part95 https://mevius.5ch.net/test/read.cgi/tech/1508168482/ ■コードを貼る場合は↓を使いましょう。 http://ideone.com/ https://dotnetfiddle.net/ ■前スレ ふらっと C#,C♯,C#(初心者用) Part143 https://mevius.5ch.net/test/read.cgi/tech/1558002486/ ■情報源 https://docs.microsoft.com/ja-jp/dotnet/standard/class-libraries https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/index https://docs.microsoft.com/en-us/dotnet/standard/class-libraries http://referencesource.microsoft.com/ VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured 1000万越えのC#erはいないのか? てか、そのくらい高額になるともはやコード書く仕事ではなくなるからC#erを名乗らなくなる? そういう話はさすがにスレ違いでプログラマ板でやった方がいいと思うが、 C#に限らずサラリーマンプログラマで1000万越えは少ないだろうね。 フリーランスの優秀な人はもっと貰ってるかもしれない。 意外だろうけど零細企業は景気がいい時は大手より高給が貰えるところもある。 ただいかんせん不安定 プログラマに限らんけど、優秀な人はアメリカにでも行った方がいいね。 日本はいろいろ終わってると思うw そうですね、確かに年収ネタは荒れやすいしすれ違いでした。これでこの話題は終わりにしときましょう。 まあ色々な意味でも終わってるのかもねw この不寛容さの社会を作ってしまった「市民」として責任を少しだけ感じます C言語スレとマルチですが質問がスルーされてるので質問させてください。 コマンドライン引数というのは具体的に何が出来る引数なのでしょうか? WisdomSoftって入門サイトと苦しんで覚えるC言語って本を読んでるのですがイマイチ何が伝えたいか分かりません。 ファイルをダブルクリックされた時に なんのファイルをダブルクリックされたか 知るためなどに使う 関連付けされたファイルをダブルクリックして起動された時などに…だな 言葉が足りなさすぎた >>126 ありがとうございます。 しかしファイルをダブルクリックしても何も起こりません; 読んでるサイトにはD&Dすると白紙のメモ帳にプログラムが書き写されるみたいなこと書いてあるので 試しましたが何もおこらず・・・ 使ってる環境VS2019なのですがそれが駄目なんでしょうか? >>128 その読んでるサイトとやらのURLを見せてみ? >>125 まあなんだ、引数を指定してバッチ起動できるわけよ。 すると引数に応じた処理をすることが出来たりする。 >>125 アプリ実行時に引数で指定した文字列の配列を渡せるだけ それを使って何が出来るかはアプリ次第 >>129 http:ああwisdom.sakura.ne.jpあprogrammingあcあc32.html と https:ああ9cguide.appspot.comあ17-03.html です URL禁止みたいなのでスラッシュを置き換えてます。スイマセン 後者に関してはstdin等なんの説明もなく使ってるので更に分からないです >>130-131 メモ帳とかを使ってそれを実行できたりしないのでしょうか? わかり易く解説してサイトとかあったら教えて頂けると助かります; もしかして実行して一瞬チラッと何か出てすぐ終了する感じ? >>133 関数に引数を渡すのは知ってる? 渡す引数の内容でその関数の動作は変わるよね? コマンドライン引数はmain関数への引数になる その引数はファイル名だったりexeを起動する人が入力する文字列だったりする まずはコマンドライン引数を出力してみて何が入っているか確認しよう 出力先はテキストファイルでもコンソール(stdout)でもいい >>133 これコンパイルして、以下のようにコマンドライン引数渡して起動してみて。 C:\どっかのフォルダ> MainClass.exe 引数1 引数2 引数3 using System; public class MainClass { public static void Main(string[] args) { Console.WriteLine("最初の引数は" + args[0]); foreach(string s in args) { Console.WriteLine(s); } Console.ReadLine(); } } バッチ使うなら、exeと同じフォルダに、以下の内容のバッチファイル(***.bat)置いて、バッチファイル起動してみて。 hello.exe 引数1 引数2 引数3 >>134 いえ、コードをVS2019で実行して実行画面を出したままデスクトップのメモ帳をD&Dしました >>125 どのスレのどの書き込みがマルチポスト元なの? 質問系のスレならスルーはあまりないと思うけど書き込むスレ間違えてない? ↓のスレあたりで、開発環境やコンパイラー種類、実行している方法などを添えて書き込んで見ればいいんじゃない C言語なら俺に聞け 152 https://mevius.5ch.net/test/read.cgi/tech/1560763630/l50 スレ立てるまでもない質問はここで 149匹目 https://mevius.5ch.net/test/read.cgi/tech/1529199088/l50 >>137 実行画面にドラッグアンドドロップするのではなく実行ファイルにする ファイルの上にファイルをのっけるってこと >>139 あまり深く考えたことないけど、それでドロップしたファイル名がとれるのってどこで仕様化されてるのだろ OSの仕様だね 実行ファイルにファイルをドロップすると ファイルのフルパスが引数になって起動する 複数ファイルドロップするとファイルが全部引数で入る 送る(sendto)フォルダにexeのショートカットを置いて 右クリックして送るとやっても同じ動作をする ダブルクリックとかドラッグ&ドロップよりも dirやpingとかの例から教えてやれよ 説目下手かよw 君は質問者がCUIを知らないとわかった途端に 必死でマウントするタイプっぽいねw まあ文句があるなら君が教えれば良いじゃない OSというかエクスプローラの仕様では? まぁOSみたいなもんだけど macも一緒だっけ? まあコマンドライン引数という言葉は出てるんだからコマンドラインとはこれのことって説明にはコマンドプロンプトを用いる方がわかりやすいかもしれないけどどっちもどっちかなあ プログラミング初心者に PC初心者がいないと思える方が理解に苦しむ >>140 Win32API なら WinMain の LPSTR lpCmdLine 定義なら HKEY_CLASSES_ROOT\exefile OSの仕様とAPIの仕様とC言語の仕様がごっちゃになるから 昔より初心者は大変よな。 ただ質問の仕方はジャンル関係ないから もうちょっと伝わるように書いた方がいいと思うぞw 最も低コストな2点間時間差の測定って何なのでしょうか? 元々DateTime型を利用していましたが、超高精度である必要もなくマシンの長時間稼働で符号が反転することがあるのを承知でEnvironment.TickCountを利用しています。 Environment.TickCountよりも低コストなものはあるのでしょうか? コストの意味によって違う。 プログラム量なのか、費用なのか、所要時間なのか。 C# で無限Undo/Redoが出来るテキストエディタコンポーネントを探してるんですが、 使い勝手がいいものは何でしょうか? >>155 兆円単位の資産持ってる人がスーパーの食材の値段を比較するような話で、 意味ないよそんなのw コストなんかどっちにしろゼロと同じだ >>155 https://referencesource.microsoft.com/#mscorlib/system/datetime.cs,1503 ご覧の通りDateTime.operator -()は InternalTicksプロパティ内部でのビット論理積各1回と、減算と、TimeSpan型のコンストラクター呼び出し(内部はlong値の代入のみ)だけで 最適化されたら小さな計算だけになると思うんだが Environment.TickCountを使ったほうが優位な速度差が出ると測定したの? 測定して有意差があってかつ本当に速度を追求する場所ならEnvironment.TickCountはintだけで低コストだろうから使えばいいし そうでないのなら「早すぎる最適化」について調べればいいよ >>156 少なくともWPFのTextBoxはUndoLimitプロパティがあって、初期値では無制限になってる >>158 減算のみだとそこまでの差は無いのかもしれませんが現在のタイムを取得する命令もセットで測定した場合に結構な差が出たため乗り換えました。 具体的にはこのような方法で現在時刻を取得し int lastTime = Enviroment.TickCount; DateTime lastTime = DateTime.Now; 下記のようにして指定秒数以上立ったかなどの判定を行っています if (Enviroment.TickCount - lastTime > 10000) {} if ((DateTime.Now - lastTime).TotalMilliseconds > 10000) {} その辺りはDDKの領分だから深入り しない方が吉かも 尚、OSとしての仕様と実際に動作している ハードの仕様の差異もあるし >>159 一定時間経過したかをより正確に判定したい、が本当にやりたかったことか ドキュメントによるとEnvironment.TickCountは「resolutionは通常10〜16ms」とあるけど DateTime.Nowでは「0.5〜15ms」とあるから 判定1回の処理時間ではなくて、精度を測定したほうが良いと思うよ Stopwatchクラスは「high-resolution performance counter」を使えるから精度出るんじゃない? 指定秒数経過の判定で実行パフォーマンスを気にするのが間違ってる そういうのは秒間1万回処理する必要があるとかいう処理で考えるべき OS上で動作するからミリセカンドより細かい粒度での正確性はそもそも無理 stopwatch以上の細かい精度が必要ならC#じゃ厳しい どんな要件か知らんけどそんな細かな精度なくても大丈夫 120FPSのゲームでもフレーム間で80msあるんだから 文章読んでる限りそんな頭悪そうじゃないのに 何でそんな部分の最適化は無意味だっていう簡単な事実が分からないのかねw 昔からそういう人一定数いるけどほんと不思議 >>164 この人が該当するかはわからないけど、発達障害で脳の特性により一般の人よりも拘りが強いという人は珍しくないよ。知能の高低ではなく、引っ掛かるところが普通と異なる。相手に自覚がない場合、いくら理屈で説明しても受け入れてもらえないことが多い。 どうでもいい細部に拘って動けなくなるのは中途半端に知恵がついてきた初心者にありがち 俺も経験あるからわかるわ そこから経験を積んでいくとスケール感がわかってきて「ゴミは無視」ができるようになってくるもんだけど、 そうならずにどんどん偏屈になっていく人も一部存在する 質問者がそうでないことを祈る どうでもいい細部かもしれないんですが、フォーム名やイベント名は、動詞と名詞どっちを先にするのがいいのでしょうか? 例えばユーザー登録フォームの場合、RegisterUserForm と UserRegisterForm ユーザーが選択された時のイベントの場合、 SelectUserEvent と UserSelectEvent どっちがいいでしょうか? >>168 私は旧人なので、まずは Formですよが知りたい(プレフィクス派)ので、 Formユーザー登録 w イベントはイベントハンドラー名そのまま(わざわざ変えない) まあ、全ての時計は独自の時間を刻んでいるので、そもそも一致させるのは不可能だし無駄なんだけどな。 >>168 イベントはUserSelectedが基本じゃないかな >>161 >>162 具体的にはゲームのスキルクールタイム計算なので、数十ms程度の誤差は別に許容範囲であるため高精度である必要はないと書きました 深刻な回答してくれた方が多いようですが、別に今の方法でボトルネックになってる訳でもなく単純にこれよりベストな方法あるのかな?程度の感覚で聞きました ゲームなら共通の世界時計を持っといて各ゲームコンポーネント側でそれに基づいて時間の差分を取るようにするべき 各自が勝手に時間を測るとポーズの実装とかで困ることになるよ 誤差が許容できるんだったらコードから意図が読みとれる奴がベター >>165-166 今朝のテレビでコンビニに苦情入れて出禁になったと訴えていた被害者が まさにそんな感じの人だった (苦情自体は正当でコンビニにミスがあったのは確かだが コンビニが謝ってるのにどうでもいいことで納得しないで文句言い続けてた) ファイルを大量に更新するアプリを作ってるんだけど クラウドストレージ上でやると同期に問題が多くて困ってる 単一のファイルをディレクトリのように扱えて 可変長・不特定多数のデータをファイル名をつけて格納できる ライブラリとかないものだろうか クラウドで同期して別のPCで実行したりするので 環境変数やサーバ構築、DBエンジンのインストールが必要なものは避けて ポータブル系アプリのようにUSBで持ち運べる実装にしたい 理想は仮想ドライブを動的にアプリ内でマウントして 読み書きさせるような感じ なにかいい知恵はないものだろうか… ただの質問から人格攻撃にまで発展してる奴の方が妄想癖ありそうで怖いわ なんかC#スレやVSスレって変な奴増えてきてるな >>168 https://docs.microsoft.com/en-us/dotnet/standard/design-guidelines/names-of-type-members#names-of-events イベント名は動詞か、時制つきの動詞にするのが習慣 既に書かれてるけど UserRegisterd や UserSelected のような名前にするのが一般的かな 命名に困ったら.NET標準のものを参考にするといいよ >>169 のような「いちいちFormをプレフィックスにする」のは少なくとも.NETにはそぐわない >>172 > 別に今の方法でボトルネックになってる訳でもなく やはり「早すぎた最適化」について知っておくべき >>177 > 単一のファイルをディレクトリのように扱えて > 可変長・不特定多数のデータをファイル名をつけて格納できる についてもう少し詳しく もっともクラウドで同期の問題があるのなら、どんなライブラリを使おうとも大して変わらない気もするけれど パフォーマンス系の質問に対して無意味系の答えが返ってくるのって質問者も大体織り込み済みな上で質問してるだろうしそれなら返さなくて良いんじゃないかね ガチの初心者ならまだしも質問者のレス内容的にその辺は分かった上で聞いてるだろう まぁ初心者スレでパフォーマンスに関する質問する方が悪いとも言えるが >>177 データベースのblobにファイルを突っ込むのが一番手っ取り早いが、速度や効率はまあ... つか、クラウドストレージでやると同期の問題ってどんな問題か気になる >>177 サーバー型のDBがだめならsqlite使えば? >>183 例えばonedriveだとフォルダ下のファイル数が一定数を超えると フォルダに警告表示が出て同期できなくなったりする あと変更箇所のチェックで異様に時間がかかるようになるんだよね zipだと圧縮されている10万ファイルのうち 1個変更しただけでも再圧縮が必要にならない? あ、ごめん zipって結構柔軟性あるんだね 削除も追加もできそうだしやってみる sqliteも試してみる ありがとね >>177 OLE複合ファイルってのがwindows標準 只、私ならZipで実装するね なんか昨日一日まったく5chにアクセス不能だったけど、 俺の環境固有の問題だったのか普通に書き込んでる人いるなw >>168 UserRegistrationFormとか? Formはサフィックスするなって意見もあるが、これは少数派の意見だと思うので 真に受けない方がいいと思う。 ほとんどの場合は付けた方が結局分かりやすいね。 あと、コントロールの変数名だけはハンガリアンを認める人も結構多い。 昨日アクセス不能だったのは事実 ただし鯖は生きてたのでDNSの問題 回避できるDNSのアドレス知ってるひとは そっちに変更して普通に読み書き出来てた 方法は避難所に書いてあった 今は元に戻しても通常通り読み書きできる状態 ついでに言うとDNSが死んだ原因は 2chを乗っ取った5chのjimの会社が 米の銃乱射の件でテロリスト認定されて DNSサービスの停止になったってこと さらにjimは指名手配で逃亡 5chは復旧したけどいつまで続くか判らんω >>190 スマン、質問の「フォーム名」を見落として「イベント名」だけ拾ってしまっていた フォーム名ならFormのプレフィックスやサフィックスを付けるのは全然問題ないね SelectedTextやSelectionStart、SelectionLengthのような機能をカスタムコントロールに付けたいんですが やっぱりMeasureStringとかでいちいち文字列の長さを測定したりするんでしょうか? もしくは2次元配列を用意して1文字ずつその文字コードと座標を格納しておくか コレクションに要素が存在するかを判定するとき、Count > 0ではなくLinqのAny()を使う意味ってあるのでしょうか? 可読性のためだけにこちらを使ってるんですかね? >>195 TextBoxコントロールを使わないのならそうなるだろうね 等倍フォントなら少しは楽できるけどやることは変わらない IMEの操作も考えてるんならAzukiっていうエディタコントロールを参考にすると良いよ >>197 ありがとうございました 何行目の何文字目とか指定できれば簡単なんですが いちいち文字列の長さを測定しなければならないというのは不便ですね >>196 リンクの式はイテレータを返すだけだからCountやLengthのプロパティを持ってない。Count()メソッドがあるけどこれは全件評価が走ってしまうので、最終的に欲しい値が件数の場合以外は使わない。 その状態でイテレータに引っかかるのがあるかどうかを判定する際に使うのがAny()。普通のリストや配列に対してCountやLengthを使わずにAnyを使う意味はない。 >>199 ありがとうございます SortedDictionaryに対してAny()で判定していたので、これについてはCountプロパティがあるのでCount > 0で良いということですね どこが「初心者用」だよ?って質問と回答ばかりだけどなww 昔は上級者用の質問スレもあったようだが まあ一つに集約されてるほうが情報収集には便利だけど スレタイはこっちが気に入ってるし シャープとフラットをかけてる辺り NuGetパッケージの管理より Seleniumパッケージを最新にしました。 しかし、それから Chrome は自動テスト ソフトウェアによって制御されています。 という文言が画面に出る様になってしまいました。 options.AddArgument("disable-infobars"); を指定する事でこれまでは、 この様なエラーメッセージは表示されていませんでした。 どうすれば消えますか? >>203 標準でもなんでもないサードパーティーライブラリの話はスレ違い ↓あたりで適切なスレを探して web制作管理 - 5ちゃんねる掲示板 https://mevius.5ch.net/hp/ WebProg - 5ちゃんねる掲示板 https://medaka.5ch.net/php/ >>203 その文言そのままgoogleにブチ込んで見る人生よ >>204 >>205 新しいNuGetパッケージについての 解説ブログはないんだよ。 >>209 君が解説ブログかけばいいんでは? てか解説ブログあること前提なの? リリースノート見るなりソース読むなりすればいいのでは? できないならなんでバージョンあげたの? 問題出たならバージョン戻せば? なんのためにnuget使ってるの? ちなみにこれってエヌユーゲッツなんかねヌゲッツなんかね。稀に他人と会話することがあるんだけど口頭で言う時に困る単語のひとつ…! >>211 常に最新を使った方がいいのかな〜と思いまして。 戻した事がなかったので調べてみます。 この手の技術系は、 詳しい人がブログにまとめてくれてるのでいつもそれらを参考にしています。 >>212 >>213 エヌユーゲット 漏れは、Ruby で、Selenium WebDriver を使っているけど、 「Chrome は自動テスト ソフトウェアによって制御されています」というメッセージは閉じれるけど、 その部分を閉じても、その幅が消えないから、使える画面が少なくなる selenium君もruby君もスレからずれたレスしないでね >>213 ヌゲットにしとくかな… Nuclear unlimited gigantic enhanced technology selenium君はRuby君を反面教師にするといいよ。 スレ違いを繰り返すのがどれだけ他人から見て迷惑でみっともない行為なのかをこれ程上手く伝えられる教材はとても稀だから。 誘導を無視することは正しいことですか? ライブラリの問題であって言語の問題ではないから誘導しているのです 使用しているのがC#であっても言語の質問でなければ正しくはありません 問題が言語なのかライブラリなのかわからない人もいるので初めてレスするなら何の問題も無いし、誘導してくれるでしょう 今まで何度誘導を無視しましたか? 長期間、言語ではなくライブラリを起因とする質問を繰り返すのは正しいのですか? ■ このスレッドは過去ログ倉庫に格納されています
read.cgi ver 07.5.5 2024/06/08 Walang Kapalit ★ | Donguri System Team 5ちゃんねる