X



ふらっと C#,C♯,C#(初心者用) Part144
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん (ドコグロ MM2f-DHp5)
垢版 |
2019/07/16(火) 15:36:23.74ID:i1fbuZ/pM
!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
0191デフォルトの名無しさん (アウウィフ FF39-Azad)
垢版 |
2019/08/10(土) 15:01:33.84ID:/ATKT2HCF
昨日アクセス不能だったのは事実
ただし鯖は生きてたのでDNSの問題
回避できるDNSのアドレス知ってるひとは
そっちに変更して普通に読み書き出来てた
方法は避難所に書いてあった
今は元に戻しても通常通り読み書きできる状態
0192デフォルトの名無しさん (アウアウウー Sa39-fALZ)
垢版 |
2019/08/10(土) 15:36:24.79ID:ddvhW9sGa
>>191
へーそういう状況だったのか
0193デフォルトの名無しさん (アウウィフ FF39-Azad)
垢版 |
2019/08/10(土) 15:40:36.25ID:/ATKT2HCF
ついでに言うとDNSが死んだ原因は
2chを乗っ取った5chのjimの会社が
米の銃乱射の件でテロリスト認定されて
DNSサービスの停止になったってこと
さらにjimは指名手配で逃亡
5chは復旧したけどいつまで続くか判らんω
0195デフォルトの名無しさん (ワッチョイ 2e4a-WAxD)
垢版 |
2019/08/12(月) 10:36:30.39ID:HTWZ+S1Q0
SelectedTextやSelectionStart、SelectionLengthのような機能をカスタムコントロールに付けたいんですが
やっぱりMeasureStringとかでいちいち文字列の長さを測定したりするんでしょうか?
もしくは2次元配列を用意して1文字ずつその文字コードと座標を格納しておくか
0196デフォルトの名無しさん (ワッチョイ 76a7-4xPj)
垢版 |
2019/08/12(月) 10:57:06.87ID:kI0RZN1g0
コレクションに要素が存在するかを判定するとき、Count > 0ではなくLinqのAny()を使う意味ってあるのでしょうか?
可読性のためだけにこちらを使ってるんですかね?
0197デフォルトの名無しさん (ワッチョイ 2117-+P8T)
垢版 |
2019/08/12(月) 11:01:09.66ID:2iL+RtWU0
>>195
TextBoxコントロールを使わないのならそうなるだろうね
等倍フォントなら少しは楽できるけどやることは変わらない
IMEの操作も考えてるんならAzukiっていうエディタコントロールを参考にすると良いよ
0199デフォルトの名無しさん (ワッチョイ 761b-q/Jr)
垢版 |
2019/08/12(月) 11:41:48.29ID:ssrYJHqQ0
>>196
リンクの式はイテレータを返すだけだからCountやLengthのプロパティを持ってない。Count()メソッドがあるけどこれは全件評価が走ってしまうので、最終的に欲しい値が件数の場合以外は使わない。
その状態でイテレータに引っかかるのがあるかどうかを判定する際に使うのがAny()。普通のリストや配列に対してCountやLengthを使わずにAnyを使う意味はない。
0202デフォルトの名無しさん (ワッチョイ 7db0-8lAC)
垢版 |
2019/08/13(火) 15:58:52.24ID:hrddazny0
どこが「初心者用」だよ?って質問と回答ばかりだけどなww
昔は上級者用の質問スレもあったようだが
まあ一つに集約されてるほうが情報収集には便利だけど
スレタイはこっちが気に入ってるし
シャープとフラットをかけてる辺り
0203デフォルトの名無しさん (ワッチョイ 9a7d-X5Lh)
垢版 |
2019/08/13(火) 18:46:02.38ID:PAgqa6Je0
NuGetパッケージの管理より
Seleniumパッケージを最新にしました。

しかし、それから

Chrome は自動テスト ソフトウェアによって制御されています。

という文言が画面に出る様になってしまいました。

options.AddArgument("disable-infobars");

を指定する事でこれまでは、
この様なエラーメッセージは表示されていませんでした。

どうすれば消えますか?
0207デフォルトの名無しさん (アウアウウー Sa39-fALZ)
垢版 |
2019/08/13(火) 20:54:18.53ID:yZEhfFzKa
>>205
すごい字余りの川柳かと思った
0211デフォルトの名無しさん (ワッチョイ 8963-cVv4)
垢版 |
2019/08/13(火) 22:29:42.70ID:4ID4APxI0
>>209
君が解説ブログかけばいいんでは?
てか解説ブログあること前提なの?

リリースノート見るなりソース読むなりすればいいのでは?
できないならなんでバージョンあげたの?
問題出たならバージョン戻せば?
なんのためにnuget使ってるの?
0214デフォルトの名無しさん (ワッチョイ 9a7d-X5Lh)
垢版 |
2019/08/13(火) 23:01:57.10ID:PAgqa6Je0
>>211
常に最新を使った方がいいのかな〜と思いまして。
戻した事がなかったので調べてみます。

この手の技術系は、
詳しい人がブログにまとめてくれてるのでいつもそれらを参考にしています。

>>212 >>213
エヌユーゲット
0215デフォルトの名無しさん (ワッチョイ da2c-8lAC)
垢版 |
2019/08/13(火) 23:10:42.03ID:kJJDzO2R0
漏れは、Ruby で、Selenium WebDriver を使っているけど、

「Chrome は自動テスト ソフトウェアによって制御されています」というメッセージは閉じれるけど、
その部分を閉じても、その幅が消えないから、使える画面が少なくなる
0218デフォルトの名無しさん (ワッチョイ 7d9f-PMB1)
垢版 |
2019/08/13(火) 23:29:34.04ID:mICjniMU0
selenium君はRuby君を反面教師にするといいよ。
スレ違いを繰り返すのがどれだけ他人から見て迷惑でみっともない行為なのかをこれ程上手く伝えられる教材はとても稀だから。
0220デフォルトの名無しさん (ワッチョイ 8963-cVv4)
垢版 |
2019/08/14(水) 01:38:02.43ID:GCJub4Dp0
誘導を無視することは正しいことですか?
ライブラリの問題であって言語の問題ではないから誘導しているのです
使用しているのがC#であっても言語の質問でなければ正しくはありません
問題が言語なのかライブラリなのかわからない人もいるので初めてレスするなら何の問題も無いし、誘導してくれるでしょう

今まで何度誘導を無視しましたか?
長期間、言語ではなくライブラリを起因とする質問を繰り返すのは正しいのですか?
0222デフォルトの名無しさん (アウアウウー Sa39-fALZ)
垢版 |
2019/08/14(水) 03:08:22.27ID:YX6BCcxFa
芸人の押すなよは押せって意味だからどんどんやっていいよ
どうせ過疎スレで人口なんか恐らく数十人しかいないw
0226デフォルトの名無しさん (ワッチョイ b138-lqkE)
垢版 |
2019/08/14(水) 08:59:28.69ID:gdRXPT/U0
ライブラリが即NGじゃなく
サードパーティ制のライブラリがメインの質問&原因だからスレ違いでしょ

標準ライブラリは勿論OKだし
C#に関連の深い.NETやVisualStudio周りなら多少逸れてもOKだろうし
サードパーティでも例えばODP.NETとかのら基本的な質問なら答えても文句言われないでしょ
逆にUnity絡みならC#であっても専門スレのが有益だから誘導されるだろうし

誘導には、スレが汚れるから他所へ行けって側面と
ここだとまともな回答が得られないからこっちを当たれって案内の面があるんよ
0231デフォルトの名無しさん (アウアウウー Sa39-fALZ)
垢版 |
2019/08/14(水) 12:38:54.90ID:Ct2lHzgAa
誘導してる人の動機が利他的なものなら素晴らしいことだけど、
実際は人を批判しないと気が済まないだけだからねw

そこを見透かされてからかわれているのに、それがわからないところが何とも滑稽だね
だいたいこんな過疎スレで周辺分野の質問があって誰が困るのかねw
誰も困らないと思うけど。
0242デフォルトの名無しさん (ワッチョイ 8963-cVv4)
垢版 |
2019/08/14(水) 17:00:39.76ID:GCJub4Dp0
そもそもかなり長期間seleniumの質問が投げられてるのにseleniumに詳しい奴からの回答なんてruby君以外からほぼ無い状態
だからこそ誘導してるんじゃないか
スレ趣旨から多少ずれてようがわかる範囲なら回答してる
回答した上で誘導までしてるのに誘導だけは無視して延々と質問を投げるなら嵐とかわらんじゃないか
0244デフォルトの名無しさん (ワッチョイ 9161-R2sJ)
垢版 |
2019/08/14(水) 18:33:13.55ID:rSDdWO1t0
聞きたくなければ黙ってseleniumをNGワードに入れれば良い

匿名掲示板なので日記書くやつもいるだろうし
他人の服装まで直す行為は無駄
ごちゃごちゃ発言するな
0248デフォルトの名無しさん (アウアウカー Sa4d-ahKc)
垢版 |
2019/08/14(水) 21:11:16.53ID:eGLvTmmqa
業務アプリって比較的新しい技術ってあんま使わなくね?
使えるように勉強するのは多いに結構なことだとは思うけど
0249デフォルトの名無しさん (ワッチョイ 4602-2Yos)
垢版 |
2019/08/14(水) 21:34:40.40ID:oxhAJDr00
RPAスレはSeleniumの話題OKだからそっちいきなよ
0251デフォルトの名無しさん (ワッチョイ 132c-BF++)
垢版 |
2019/08/15(木) 00:01:22.09ID:5MxOdPEK0
options.add_argument( '--disable-infobars' ) # 通知バーを消す
Ruby で、こう書いても、通知バーを消せない!

Chrome なんて、仕様をコロコロ勝手に変えるし、文書も作らないだろ。
ソースコードを読めって、無茶苦茶だろw

各ブラウザの機能なんて、相手にしないほうが良い
0252デフォルトの名無しさん (ワッチョイ 3302-QMAU)
垢版 |
2019/08/15(木) 00:17:18.78ID:4RLQ3HFd0
>>246
WPFやFormアプリケーションで描画しきれないケースのみ採用するパターンが多いかと。
習得する分には、もしもの時に出せる手札が増える(知見が広がる)ので良いとは思います。
0254デフォルトの名無しさん (ワッチョイ d9da-QMAU)
垢版 |
2019/08/15(木) 05:13:06.12ID:YYpr9nEd0
dapper で、dynamic型で取得したレコードのカラム名は、どうやってプロパティにマッピング?すればよいでしょうか?
以下のようなイメージです。

var list = connection.Query<dynamic>(@"SELECT cd, name FROM hoge_table").ToList();
list.ForEach(item =>
{
this.cd = item.cd;   //cdカラムは存在しているが、この方法では取得出来ない。
});
0257デフォルトの名無しさん (ワッチョイ 132c-gphu)
垢版 |
2019/08/15(木) 13:17:25.77ID:XW4rFrdd0
using (var conn = new SQLiteConnection("Data Source=:memory:"))
{
conn.Open();
conn.Execute("CREATE TABLE test (cd INTEGER, name TEXT)");
conn.Execute("INSERT INTO test VALUES (@cd, @name)", new { cd = 1, name = "a" });
conn.Execute("INSERT INTO test VALUES (@cd, @name)", new { cd = 2, name = "b" });
foreach (var row in conn.Query<dynamic>("SELECT cd, name FROM test"))
{
Debug.WriteLine($"{row.cd} - {row.name}");
}
}
問題なかったけど?
コンパイルエラーになってるんだったらその内容書いて
0270251 (ワッチョイ 132c-BF++)
垢版 |
2019/08/15(木) 23:18:45.58ID:5MxOdPEK0
まあ、Ruby では、
driver.execute_script で、JavaScript(JS)のソースコードを実行できるから、
通知バーの要素を取得して、その部分を、JS で削除できるかも知れない

例えば、漏れは普段、Showroom の多くのアバターなどを、こうやって削除している

jsCode = <<'EOT'
var elem = document.getElementById('js-avatar');
elem.parentNode.removeChild(elem);
EOT

driver.execute_script jsCode
0275デフォルトの名無しさん (ワッチョイ 299f-+XXD)
垢版 |
2019/08/16(金) 00:57:25.58ID:Capr2asl0
>>273
いくらやめろと言われてもところ構わず唐突にRubyの話を始める頭のおかしい奴が、この板にいついているから。スレタイにRuby禁止と書かれているスレがいくつかあるが、コイツが原因。
0276デフォルトの名無しさん (ワッチョイ 596e-DuLZ)
垢版 |
2019/08/16(金) 00:58:13.28ID:2i9/2j960
C#っつーかプログラミング言語一般の話になっちゃうかもしれないんですけど
勉強してて例外のところに差し掛かったんですけどめっちゃ色々種類あるじゃないですか
んでもって例えば関数一つ作るにしても考えようによってはほんと沢山の種類の例外が発生する可能性がありますよね
そういうのをとにかく可能性が少しでもあれば例外をスローするようにしてたらコードが例外ばっかになっちゃう気がします
書く例外と書かない例外の境界線はどこにあるのでしょうか
0278デフォルトの名無しさん (アウアウウー Sa5d-h434)
垢版 |
2019/08/16(金) 01:08:02.04ID:G0Kx7mvIa
>>276
よくわからん理屈だな
仮にその例外を「書かない」と判断したとして、その「例外的な状態」を例外の代わりにどう処理するつもり?
放置しても問題なく動き続けられるorその場で適切な対処をして回復できるなら、そりゃ例外投げるよりその方がいいに決まってる
0279デフォルトの名無しさん (ワッチョイ 299f-+XXD)
垢版 |
2019/08/16(金) 01:13:52.65ID:Capr2asl0
>>276
ライブラリ関数に渡す引数が正しくないとかのように、自分が書いているコードが正しくない場合に発生する例外、逆に言えば正しいコードを書けば発生しない例外は基本的にその場ではいちいちcatchしない。
ただし完全にバグがないということを保証するのは困難なので、プログラムの上流でまとめてcatchして何らかのメッセージを出すなどした方が良い。どう対処すべきかはそのシステムに求められる要件次第だけど。
ファイルにアクセスできないとか、ユーザからの入力データが正しくないことにより発生するような例外とか、自分のコードの外部の要因で発生する可能性のある例外は、その都度catchして適切に対処する必要がある。
0281デフォルトの名無しさん (ワッチョイ 132f-BF++)
垢版 |
2019/08/16(金) 02:16:34.36ID:3ldAil1N0
>>276
その処理内で対処できるなら投げない
できないなら例外なげる

>>279-280
キャッチする話じゃなくて投げるほうの話だろ
まあ、キャッチも同じ考え方で、自分で対処できる例外はキャッチする
それ以外はそのまま上位へ

今はこういう考え方が主流だと思う
0282デフォルトの名無しさん (アウアウウー Sa5d-woyF)
垢版 |
2019/08/16(金) 02:17:58.68ID:KW3/fLy3a
>>276
そんなの手を動かさずに机上で考えてるからそうなるだけw

処理できない問題は(基本的には)例外を投げて呼び出し側に通知するしかない。
処理できない例外は投げるしかない。
処理できないのにcatchして握りつぶしてよい例外なんかない。
何が難しいの?
0283デフォルトの名無しさん (ワッチョイ 51ba-/tGK)
垢版 |
2019/08/16(金) 05:58:38.34ID:RrHjcCxL0
初心者マークの人へのアドバイスとしては

例外をthrowするケースは
・事前条件が崩れる場合、例えば引数がおかしい場合や処理の準備が整わない場合
・処理に失敗したことを伝える場合
まずはこのあたりを基準に

逆にcatchはむやみやたらにしてはいけないし、特に握り潰してはいけない

他人のソースをたくさん読んで、たくさん考えて書くしかないよね
0290デフォルトの名無しさん (アウアウウー Sa5d-woyF)
垢版 |
2019/08/16(金) 12:43:54.88ID:vQM55/5Pa
いやとにかく

(1) 例外を投げるかどうか
(2) 例外をcatchするかどうか

こんなことで悩むなんてありえないよ。悩む理由がない。
悩みどころなんて、どの例外を投げるかの選択、あるいは例外をどの程度
場合分けするか、ぐらいしかない。

これは例えば、引数が変だった場合にとにかくいつでもざっくりArgumentExceptionを投げて済ますか、
引数がどう不適切なのか、細かく場合分けしてより適切な例外を投げるようにするかの選択

余談だけどこういうと怒る人もいるかもしれんが、個人的には例外の場合分けなんて
本当はどうでもいいと思ってるw

役に立つことはほぼないwほとんど場合プログラマの自己満足だw
そのコードを見られる場合にはね。(だから他人が使うライブラリを書いてる場合は別問題)
■ このスレッドは過去ログ倉庫に格納されています

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