19/07/19 21:30:00.71 KvrVBoUe0.net
>>29
でもVSのモニタを見るとGCって結構な短期間で動いてくれるんだよな
GC.Collectはブラシーボ効果しかない
32:デフォルトの名無しさん
19/07/19 21:36:05.87 IuwL/lPHM.net
Bitmapはファイナライザを実装してるから2回GCが走らないと解放されない
あと頻繁に動いてるのは最も浅い世代のGen0GCで、GCを生き残って昇格してしまったオブジェクトを回収させるにはGC.Collectは有効
33:デフォルトの名無しさん
19/07/19 22:21:52.99 A6fR/TKy0.net
>>30
遅いマシンで
割と重めのアプリを一日経ってからやってみ
3分ぐらいはフリーズするよ
stop the worldというだけはある
34:デフォルトの名無しさん
19/07/20 02:43:36.72 HA7JgwCb0.net
>>30
試してみたらGCが一度も走らずに即死した
GC.Collectしないとマズそう
URLリンク(i.imgur.com)
35:デフォルトの名無しさん
19/07/20 20:49:53.26 hrLeGUFN0.net
時間はかかっても、MSゴシックなら正常に動作するんですが
游ゴシックを指定すると、なぜか文字が重なり合ったりして正常に表示されません
g.DrawString(new String('@', 5000000), drawFont, Brushes.Black, 0, 0);
36:デフォルトの名無しさん
19/07/20 21:01:47.46 IDb6GPRz0.net
>>34
描画先に十分なスペースはあるの?
フォントサイズ減らしたら改善するとかは無い?
それで無理なら一行ずつ描画するしかないな
37:デフォルトの名無しさん
19/07/20 21:13:32.08 hrLeGUFN0.net
文字列を短くするとちゃんと表示されます
38:デフォルトの名無しさん
19/07/20 21:23:14.33 IDb6GPRz0.net
あ、Rectangle指定しないと折り返さないのか?
URLリンク(dobon.net)
>>36
意図的に無茶な指定しているのなら不具合が起こってもしょうがないと思う
39:デフォルトの名無しさん
19/07/21 12:10:16.19 AXqQTYqQ0.net
Webbrowser で表示されているある部分をクリックしてAjaxで動的にHTMLが変化する場合
documentcompleted は発生しませんが
HTMLの変化を検知するにはどうするのがいいのでしょうか?
タイマーを使ってWebbrowser のHMTLの内容を比較するくらいしかないですかね?
40:デフォルトの名無しさん
19/07/21 12:43:20.58 P7LE/kkP0.net
>>38
UWPのWebViewなら、スクリプトを直接呼び出して完了待ちとか出来るよ
FormsやWPFからでも使えるようになっているみたいだから頑張ればなんとかなる
勿論UWPで作るってのもアリだが
41:デフォルトの名無しさん
19/07/21 13:44:31.17 AXqQTYqQ0.net
>>39
理想的な動作です
UWPでやってみます
ありがとうございます
42:デフォルトの名無しさん
19/07/22 01:46:10.70 fKk8m16B0.net
どんな処理に対してどんな例外処理をすればよいのか理解出来ないのですが、
「〇〇メソッドが投げる可能性がある例外」という感じの一覧みたいなものってないでしょうか?
43:デフォルトの名無しさん
19/07/22 02:11:10.76 Z/C74OJi0.net
>>41
Docsの.NET Framework API リファレンスの各メソッドの説明に載ってる
44:デフォルトの名無しさん
19/07/22 15:09:04.83 9U8T6M8Za.net
>>41
他にも、VisualStudio上でメソッドにカーソルを合わせると出てくるツールチップで「例外」箇所に型が載っていたり
F12で定義に移動した後のコメント中で「例外」箇所に型と理由が載っていたりする
45:デフォルトの名無しさん
19/07/22 20:31:22.66 bxEn3DSVr.net
>>38
WinFormのWebBrowserでajaxで読み込みはタイマーみたいなの使って取れてる
46:デフォルトの名無しさん
19/07/23 21:30:46.97 roLN7w1Qd.net
ざっくりで失礼します。
面白半分にc#でエロや風俗系を作れたらいいなと思ったのですが案ありますか?
なかなか思いつかなくてw
47:デフォルトの名無しさん
19/07/23 21:34:28.66 zEKbbod30.net
>>45
C#+Unityのエロゲなんかいっぱいあるでしょ
そしてこの板で聞くことじゃない
48:デフォルトの名無しさん
19/07/23 21:41:17.09 Uygc18n30.net
>>46
言われてみればそうですね
失礼しました。
49:デフォルトの名無しさん
19/07/23 23:55:04.04 SedAptpn0.net
草
50:デフォルトの名無しさん
19/07/25 16:27:29.05 UXkDZrqn0.net
変態さんでいっぱいだ
前スレのエロ画像スクレイピングマンは成功したのかな
51:デフォルトの名無しさん
19/07/26 03:11:13.96 8BXDtT/D0.net
エロ画像なんて厳選して保存しないとすぐ500GBぐらいいくだろうに
52:デフォルトの名無しさん
19/07/26 12:52:05.57 53dis5oN0.net
動画ならともかく画像で500GBはベテランの領域。
53:デフォルトの名無しさん
19/07/26 13:12:23.94 53dis5oN0.net
コンテキストメニューを定義して、それを別コントロールに割り当てて、
それを更に別のフォームからクリックで実行したく、下記の構造にしているのですが、ControlExの公開プロパティになっている点に、なんとなく違和感感じています。
もうちょっと綺麗な構造に出来ないでしょうか?
public class ContextMenuEx : ContextMenu
{
public ToolStripItem OpenMenu { get; private set; }
}
public class ControlEx : Control
{
public ContextMenuEx ContextMenuEx { get; set; }
public ControlEx()
{
ContextMenu = ContextMenuEx;
}
}
public class ViewControl : Form
{
private ControlEx MyControlEx = new ControlEx();
public ViewControl()
{
MyControlEx.ContextMenuEx.OpenMenu.Click += //クリックイベント
}
}
54:デフォルトの名無しさん
19/07/26 16:05:13.49 uxWd1qa6a.net
>>52
ごめん何がしたいのかさっぱり分からんw
55:デフォルトの名無しさん
19/07/26 16:28:06.90 Kg/2nYdc0.net
コンテキストメニューがnewされてないから例外が出るね
56:デフォルトの名無しさん
19/07/26 17:02:58.89 VkzQYvSYM.net
普通にメニュー出してsendmessageでええよ?
57:デフォルトの名無しさん
19/07/26 17:08:02.31 Kg/2nYdc0.net
なんとなくの違和感なんて知らんが
要するに何をどうしたいんだか
58:デフォルトの名無しさん
19/07/26 18:11:15.82 tpwQJJNh0.net
違和感
スポーツ選手みたいやなw
右肩に違和感を・・・
○○.cppに違和感を感じ納品を見送ったとのことです
59:デフォルトの名無しさん
19/07/27 07:50:47.17 1So0tMH70.net
質問する技術が足りてない
とにかく違和感とかいう抽象的なことじゃなくて具体的に
60:デフォルトの名無しさん
19/07/27 23:40:34.97 NQ4+UjHL0.net
配列添字演算子付のpropertyはありますか?
イメージ的には
public int MyIDList[int]{
set{this.myIDList[idx] = value;}
get{return this.myIDList[idx];}
}
みたいな事がしたいです
61:デフォルトの名無しさん
19/07/27 23:46:47.22 +ZEWiPdqa.net
>>59
ない
62:デフォルトの名無しさん
19/07/27 23:48:18.25 NQ4+UjHL0.net
>>60
ありがとうございます
63:デフォルトの名無しさん
19/07/27 23:49:00.45 F72yN9ZSM.net
できない
インデックスの渡し方しか考えてないようだけど
それだとLengthやforeachで回せる機構など
配列に必要な関数群も仕組みもないだろ?
素直にListから継承させるか
インデックスを引数で渡せばいいじゃない
64:デフォルトの名無しさん
19/07/28 00:26:47.42 vg9qDEAT0.net
んん、インデクサのことではなくて?
URLリンク(ufcpp.net)
65:デフォルトの名無しさん
19/07/28 00:35:17.04 GU+doGlgM.net
それはクラスにインデクサが付く話だし
プロパティには持たせられないじゃん
66:デフォルトの名無しさん
19/07/28 00:49:15.67 zR0XYwX4a.net
>>63
質問者がやりたいのはそのリンク先の「余談: VB のインデックス付きプロパティ」のこと
C#で出来ないようにしている理由はリンク先に書かれているし >>62 も書いてくれている
67:デフォルトの名無しさん
19/07/28 01:53:35.14 GU+doGlgM.net
まあたださ
class p {
List<double> da;
double center[int index]{
get {return (da[index+1] - da[index]; }
}
}
みたいに、クラスの配列データを元に
仮装配列的なものを作りたいんだろうなと思う
昔俺もやりたくて調べまくったよ
これを今のc#で実現しようとすると、わざわざプロパティごとにクラス化なきゃいけないし
クラスの生成や配列を振る舞うクラスに元データを渡すのとか非常に面倒になる
そこまで出来たとしてもメリットはインデックスを[]で渡せるだけで
配列(っぽいもの)ですよとコード上で示せるだけ
普通に関数実装で[]表記以外は同じことが出来るので
コードの美しさ的には不満があるけど
実装上は困らないんだよな
単純に関数の引数は()でも[]でも囲めるようにしてくれたら簡単なんだけどね
68:デフォルトの名無しさん
19/07/28 07:11:46.83 iidlab190.net
URLリンク(ideone.com)
69:デフォルトの名無しさん
19/07/30 09:26:09.88 IhJrxMBNM.net
constって継承できないもんかな
継承クラスで定数を変えたいんだけど
何か上手い方法はないだろうか
70:デフォルトの名無しさん
19/07/30 09:51:52.35 MQBecH/v0.net
できないので、諦めてオーバーライド可能なメンバでやって
そういう機能が欲しいなら、githubで提案してくるとよい
ここで喋っても入らないのでそのつもりで高説は垂れるように
71:デフォルトの名無しさん
19/07/30 09:53:45.93 aYg/q9jya.net
>>68
隠蔽(new)は出来るでしょ
継承というかoverrideはインスタンスメンバーを上書きするものであり、
constは本質的にstaticメンバーなんで、継承でconstを変更という発想はそもそも矛盾してるんじゃないの?
72:デフォルトの名無しさん
19/07/30 10:10:15.53 nToTFkzEd.net
constは埋め込みだから無理
コーディングを見やすくしてるだけなんよ
static virtual readonly とか…できるんかな書いたことないけど
73:デフォルトの名無しさん
19/07/30 10:22:24.95 IhJrxMBNM.net
単純にこんな実装がしたいんだよね
オブジェクトの詳細で表示する名称表示とかさ
class BaseObject{
const virtual string ObjectName=“(基底クラス)“;
string GetObjectName(){return ObjectName;}
}
class TextObject:BaseObject{
const override string ObjectName=“テキストボックス“;
}
class LineObject:BaseObject{
const override string ObjectName=“直線“;
}
class EllipseObject:BaseObject{
const override string ObjectName=“楕円“;
}
大して文字数も変わるわけでもないし、やっぱこう実装するよりないか
override string ObjectName{ return “楕円“; }
74:デフォルトの名無しさん
19/07/30 10:31:59.35 AKu0TaFKM.net
>>68
定数を返すだけの読み取り専用のプロパティにする
75:デフォルトの名無しさん
19/07/30 10:40:17.04 B9XYpo8O0.net
>>73
これ
76:デフォルトの名無しさん
19/07/30 12:17:38.06 AKu0TaFKM.net
>>72
読み取り専用プロパティはもうちょっとコンパクトに書ける
override string ObjectName => "楕円";
77:デフォルトの名無しさん
19/07/30 12:33:54.79 vSU/UXgGa.net
URLリンク(ideone.com)
あんまり面白くないねw
78:デフォルトの名無しさん
19/07/30 12:49:16.40 IhJrxMBNM.net
>>75
おお、いいですね!活用させてもらいます!
79:デフォルトの名無しさん
19/07/30 13:37:48.40 k9k21JDF0.net
>>68
readonly使うのが定石
80:デフォルトの名無しさん
19/07/31 15:31:35.93 tEceTxskd.net
MacでC#勉強してみたいんですがVisual Studio入れないと厳しいですか?
VS Codeだけでは難しいですか?
81:デフォルトの名無しさん
19/07/31 16:00:55.32 lLYOef6LM.net
MacでC#を勉強するメリットはないから他の言語にしとき
唯一意味があるのはUnityでゲーム作る用途だから、Unity入れてC#やってみるのはまあアリ
82:デフォルトの名無しさん
19/07/31 18:13:54.85 vBQ8AC7J0.net
>>79
言語の学習目的なら.NET Core SDKとVSCodeでじゅうぶん
83:デフォルトの名無しさん
19/07/31 18:27:29.21 SBa7OC8vd.net
>>79
難しくないよ
84:デフォルトの名無しさん
19/07/31 18:38:19.42 quxH8qSha.net
>>79
変な意地をはらずに一番イージーな道を選択した方がいいよ
つまらないことに時間を浪費したいの?w
85:デフォルトの名無しさん
19/07/31 18:43:57.13 lLYOef6LM.net
>>83
その理屈だとBootcampでWindowsをインストールするのが最善ということになってしまう
VS for Macなんかほとんど誰も使ってないんだから、時間の浪費という意味ではVSCodeといい勝負だわ
86:デフォルトの名無しさん
19/07/31 19:10:03.53 9TaORHsg0.net
Listでindex aのアイテムをindex bにインサートするスマートな方法はないだろうか
aをremoveしてbにインサートすると、a>=bならいいけど、a<bの時 removeでインデックスがズレるので狙いより1つ下に行ってしまう
一番下だと範囲外の例外が起きてしまう
できればこれを実行するメソッドを作って既にあるList<T>を拡張したいんだけど
ヘルパークラス的なものって作れないかな?
87:デフォルトの名無しさん
19/07/31 20:05:23.41 i+V4gIP9a.net
>>85
「拡張」という言葉の意図がわからないけど
ヘルパークラス作って静的メソッドや拡張メソッドとして定義すれば良いんじゃない?
List<T>を継承したオレオレListでメソッド定義、という方法は止めとけ
88:デフォルトの名無しさん
19/07/31 20:12:36.58 quxH8qSha.net
>>85
やってみたが例外なんか出ないけど
URLリンク(ideone.com)
89:デフォルトの名無しさん
19/07/31 21:18:24.59 uxU05rGA0.net
>>79
両方使って比較してみては
90:デフォルトの名無しさん
19/07/31 23:06:20.36 9TaORHsg0.net
>>87
2 to 9なのに1が9に移動しちゃうでしょ?
91:デフォルトの名無しさん
19/07/31 23:07:54.33 9TaORHsg0.net
ああごめん、リストの再生成をしてないのね
92:デフォルトの名無しさん
19/07/31 23:27:27.06 9TaORHsg0.net
申し訳ない、コードを見直したら質問の前提を間違えてました
やりたかったのは
List<T> というリストがあった場合に
リストに入っているかわからないオブジェクトaを
リストに入っているオブジェクトbの1つ後に挿入する
…というメソッドを作りたかったんです
List<T>.MoveAfter(T b,T a) //リスト内bの後ろにaを挿入、aがList内にある場合は元の位置から移動させる
で、このメソッド自体の実装はできているんですが
いただいたサンプルのextensionsの記述がよくわからず質問しました
おかげでうまく実装できました、ありがとうございます!
93:デフォルトの名無しさん
19/08/01 08:01:53.51 xGy0TEOb0.net
>>79
他の人も言ってるけど、unityでC#使ってるよ
C#自体の勉強ならこれで出来る
当然、WindowsアプリをC#で作れるようなスキルは得られないが
94:デフォルトの名無しさん
19/08/02 00:28:39.75 pwBgdUBF0.net
c#とvsの至れり尽くせり感に慣れすぎて他の開発環境でできなくなりました
95:デフォルトの名無しさん
19/08/02 00:45:41.15 RRmMDCsx0.net
そうなんだよなー
VSは使いやすすぎる
Delphiの開発者を引き抜いてきただけあるわ
96:デフォルトの名無しさん
19/08/02 00:52:16.45 80wMhccea.net
最低限IDEで自動ビルドなら慣れれば貧弱な環境も楽しいよ
インテリセンスなんかないから長い識別子をダブルクリック & Ctrl + C ⇒ Ctrl + V
ばっかりしてたら左手が腱鞘炎になっちゃったけどw
97:デフォルトの名無しさん
19/08/02 09:27:47.59 NmFjjWZQ0.net
秀丸ですらファイル内入力補完あるよ
98:デフォルトの名無しさん
19/08/02 13:45:35.78 E5BJDT7zM.net
秀丸御殿が建ってる偉大なエディタに対して「ですら」って
99:デフォルトの名無しさん
19/08/02 14:01:07.04 ktX3qXN3a.net
大昔試用したことあるけどまだ存在するんだw
いい加減タブ化とかしたのかな
しかし、日本人も真面目に作者に金払って使う人結構いるんだね
100:デフォルトの名無しさん
19/08/02 14:48:47.26 NmFjjWZQ0.net
いや秀丸はすげーと思うけど言語解析までするIDEと比較してテキストエディタですら入力補完あるのにコピペ頑張らんでもええやん、って話
タブ化は10年前くらいには対応してたはず
vscodeも良いけど軽さはやっぱ秀丸のほうが良いから今でもちょいちょい起動するよ
101:デフォルトの名無しさん
19/08/02 15:14:57.86 e58H0HHKF.net
Nif●y の決済システムってまだ稼働してるんか
最近使ってないから知らんけど
102:デフォルトの名無しさん
19/08/02 15:18:13.18 j/fAdfUcd.net
俺も秀丸とvscodeの併用だね
秀丸は起動が速いから
103:デフォルトの名無しさん
19/08/02 15:47:38.91 ktX3qXN3a.net
xyzzyなら一時期使ってたなあ
道具にこだわるたちじゃないんで、金払ってまで禿丸さんを使う気にはなれなかった
104:デフォルトの名無しさん
19/08/02 15:50:45.00 xzjh5WuB0.net
きたああああああああああああああああああああああああああああ
URLリンク(i.imgur.com)
105:デフォルトの名無しさん
19/08/02 16:01:20.35 4Xvk7WGTM.net
Rider使いは?
106:デフォルトの名無しさん
19/08/02 18:09:45.30 sXaRfN3S0.net
>>102
道具にこだわらないのにWindowsは金払ってまで使うんだ
107:デフォルトの名無しさん
19/08/02 22:46:17.18 UiHNxeJXa.net
ここにいる人は趣味プログラマーが多いんかな
本業なんだけど経験ないC#開発もやらないといけなくなったって人も結構いたりする?
108:デフォルトの名無しさん
19/08/02 22:52:43.67 ol3AyafF0.net
windowsはみんな使ってるからこだわってるとは言わない。普通。
109:デフォルトの名無しさん
19/08/02 22:54:15.89 j/fAdfUcd.net
>>106
本業だけどWin32から.NETへの移行期はC#の経験ないところから始めたね
110:デフォルトの名無しさん
19/08/02 23:19:14.53 bTVyt88NM.net
俺はDelphiからの転向
111:デフォルトの名無しさん
19/08/03 00:28:08.22 3YKHpYYf0.net
同じく本業。
事前に経験ってほどのものがあったことなんかほとんどないような気がするけどなあ。
最近なら python をやってみたり。これ ruby っぽくてそんなに好きになれそうにないや。C# は大好き。
112:デフォルトの名無しさん
19/08/03 00:31:46.15 n84PTU/80.net
本業C#erだわ
趣味時代はCとかPythonとかやってた
113:デフォルトの名無しさん
19/08/03 01:17:35.52 lgH4NInK0.net
組み込みだけど本業の開発よりc#でGUI作ってるほうが楽しい!
114:デフォルトの名無しさん
19/08/03 10:25:21.86 QMMl7Yx90.net
聞きたいこと
ライブラリ内の数値を、メインのプログラムで参照した。
arduinoを動かそうとプログラムを書いているのですが、
hoge.h
内に、
enum class Button : uint16_t{
A = 0x0001,
B = 0x0002};
というクラスがあります。
これを、
#include <hoge.h>
void setup()
{
const int BtPt[2] = {Button.A,Burron.B};
}
のように、代入したいんですけど、うまくいきません。
どうすれば参照できるんでしょうか。
そもそも概念的に間違ってるのかもしれませんが、、、
115:デフォルトの名無しさん
19/08/03 10:27:40.91 3ia1GLNcF.net
書き込むスレが間違ってる
116:デフォルトの名無しさん
19/08/03 11:44:13.94 6qsjMY4R0.net
俺も最近CからC#に移行したんだが、下痢ゲートだとか阿弥陀式とか、ワケ分からないw
117:デフォルトの名無しさん
19/08/03 16:40:29.95 n84PTU/80.net
Cもまともに書けてなさそう
118:デフォルトの名無しさん
19/08/03 19:56:50.53 voIsjIeCM.net
本業C#erの方、年収とキャリア教えて下さい!!
119:デフォルトの名無しさん
19/08/03 21:25:49.26 MA8i5rVM0.net
新卒5年目、約600万円や
120:デフォルトの名無しさん
19/08/03 22:06:36.96 WW7jv2oU0.net
>>117
40歳年収240万
121:デフォルトの名無しさん
19/08/03 22:07:55.00 n84PTU/80.net
新卒2年目450万くらい
122:デフォルトの名無しさん
19/08/04 03:03:55.72 JPscGmkT0.net
1000万越えのC#erはいないのか?
てか、そのくらい高額になるともはやコード書く仕事ではなくなるからC#erを名乗らなくなる?
123:デフォルトの名無しさん
19/08/04 03:23:55.03 jcz7NslOa.net
そういう話はさすがにスレ違いでプログラマ板でやった方がいいと思うが、
C#に限らずサラリーマンプログラマで1000万越えは少ないだろうね。
フリーランスの優秀な人はもっと貰ってるかもしれない。
意外だろうけど零細企業は景気がいい時は大手より高給が貰えるところもある。
ただいかんせん不安定
プログラマに限らんけど、優秀な人はアメリカにでも行った方がいいね。
日本はいろいろ終わってると思うw
124:デフォルトの名無しさん
19/08/04 03:39:09.71 JPscGmkT0.net
そうですね、確かに年収ネタは荒れやすいしすれ違いでした。これでこの話題は終わりにしときましょう。
125:デフォルトの名無しさん
19/08/04 16:
126:52:52.62 ID:idEgR3Nvr.net
127:デフォルトの名無しさん
19/08/06 17:15:33.24 8h96sAQZ0.net
C言語スレとマルチですが質問がスルーされてるので質問させてください。
コマンドライン引数というのは具体的に何が出来る引数なのでしょうか?
WisdomSoftって入門サイトと苦しんで覚えるC言語って本を読んでるのですがイマイチ何が伝えたいか分かりません。
128:デフォルトの名無しさん
19/08/06 17:23:41.64 lwH+jHue0.net
ファイルをダブルクリックされた時に
なんのファイルをダブルクリックされたか
知るためなどに使う
129:デフォルトの名無しさん
19/08/06 17:24:51.93 lwH+jHue0.net
関連付けされたファイルをダブルクリックして起動された時などに…だな
言葉が足りなさすぎた
130:デフォルトの名無しさん
19/08/06 17:37:01.47 8h96sAQZ0.net
>>126
ありがとうございます。
しかしファイルをダブルクリックしても何も起こりません;
読んでるサイトにはD&Dすると白紙のメモ帳にプログラムが書き写されるみたいなこと書いてあるので
試しましたが何もおこらず・・・
使ってる環境VS2019なのですがそれが駄目なんでしょうか?
131:デフォルトの名無しさん
19/08/06 17:38:57.54 lwH+jHue0.net
>>128
その読んでるサイトとやらのURLを見せてみ?
132:デフォルトの名無しさん
19/08/06 17:41:48.19 hdPDl6nEM.net
>>125
まあなんだ、引数を指定してバッチ起動できるわけよ。
すると引数に応じた処理をすることが出来たりする。
133:デフォルトの名無しさん
19/08/06 17:43:05.87 nV6bzp6s0.net
>>125
アプリ実行時に引数で指定した文字列の配列を渡せるだけ
それを使って何が出来るかはアプリ次第
134:デフォルトの名無しさん
19/08/06 17:44:52.93 8h96sAQZ0.net
>>129
http:ああwisdom.sakura.ne.jpあprogrammingあcあc32.html と
https:ああ9cguide.appspot.comあ17-03.html です
URL禁止みたいなのでスラッシュを置き換えてます。スイマセン
後者に関してはstdin等なんの説明もなく使ってるので更に分からないです
135:デフォルトの名無しさん
19/08/06 17:55:25.38 8h96sAQZ0.net
>>130-131
メモ帳とかを使ってそれを実行できたりしないのでしょうか?
わかり易く解説してサイトとかあったら教えて頂けると助かります;
136:デフォルトの名無しさん
19/08/06 18:02:11.72 lwH+jHue0.net
もしかして実行して一瞬チラッと何か出てすぐ終了する感じ?
137:デフォルトの名無しさん
19/08/06 18:11:09.99 D2KPblxl0.net
>>133
関数に引数を渡すのは知ってる?
渡す引数の内容でその関数の動作は変わるよね?
コマンドライン引数はmain関数への引数になる
その引数はファイル名だったりexeを起動する人が入力する文字列だったりする
まずはコマンドライン引数を出力してみて何が入っているか確認しよう
出力先はテキストファイルでもコンソール(stdout)でもいい
138:デフォルトの名無しさん
19/08/06 18:11:12.27 ruFXP44J0.net
>>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
139:デフォルトの名無しさん
19/08/06 18:11:17.28 8h96sAQZ0.net
>>134
いえ、コードをVS2019で実行して実行画面を出したままデスクトップのメモ帳をD&Dしました
140:デフォルトの名無しさん
19/08/06 18:13:03.10 6OOXAacva.net
>>125
どのスレのどの書き込みがマルチ
141:ポスト元なの? 質問系のスレならスルーはあまりないと思うけど書き込むスレ間違えてない? ↓のスレあたりで、開発環境やコンパイラー種類、実行している方法などを添えて書き込んで見ればいいんじゃない C言語なら俺に聞け 152 https://mevius.5ch.net/test/read.cgi/tech/1560763630/l50 スレ立てるまでもない質問はここで 149匹目 https://mevius.5ch.net/test/read.cgi/tech/1529199088/l50
142:デフォルトの名無しさん
19/08/06 18:13:46.50 D2KPblxl0.net
>>137
実行画面にドラッグアンドドロップするのではなく実行ファイルにする
ファイルの上にファイルをのっけるってこと
143:デフォルトの名無しさん
19/08/06 19:53:18.36 fRCzQnxrr.net
>>139
あまり深く考えたことないけど、それでドロップしたファイル名がとれるのってどこで仕様化されてるのだろ
144:デフォルトの名無しさん
19/08/06 20:12:17.66 V0Kuh8Wnd.net
>>140
osの仕様じゃないの?
145:デフォルトの名無しさん
19/08/06 20:16:01.22 hi1INabv0.net
OSの仕様だね
実行ファイルにファイルをドロップすると
ファイルのフルパスが引数になって起動する
複数ファイルドロップするとファイルが全部引数で入る
送る(sendto)フォルダにexeのショートカットを置いて
右クリックして送るとやっても同じ動作をする
146:デフォルトの名無しさん
19/08/06 20:36:54.80 Dc7UiKoCM.net
ダブルクリックとかドラッグ&ドロップよりも
dirやpingとかの例から教えてやれよ
説目下手かよw
147:デフォルトの名無しさん
19/08/06 20:42:48.62 Dc7UiKoCM.net
>>138
すまんCの質問者だったわ
誘導乙です
148:デフォルトの名無しさん
19/08/06 20:45:30.56 hi1INabv0.net
君は質問者がCUIを知らないとわかった途端に
必死でマウントするタイプっぽいねw
まあ文句があるなら君が教えれば良いじゃない
149:デフォルトの名無しさん
19/08/06 21:44:06.23 h96rX+BU0.net
OSというかエクスプローラの仕様では?
まぁOSみたいなもんだけど
macも一緒だっけ?
150:デフォルトの名無しさん
19/08/06 22:15:41.42 2e28HN3n0.net
ここがPC初心者スレに見える連中がいるみたいだな
151:デフォルトの名無しさん
19/08/07 06:57:51.84 HD57Pps60.net
まあコマンドライン引数という言葉は出てるんだからコマンドラインとはこれのことって説明にはコマンドプロンプトを用いる方がわかりやすいかもしれないけどどっちもどっちかなあ
152:デフォルトの名無しさん
19/08/07 12:43:02.55 0NR5yQ8YM.net
プログラミング初心者に
PC初心者がいないと思える方が理解に苦しむ
153:デフォルトの名無しさん
19/08/07 13:17:43.31 +fGjf0jSF.net
>>140
Win32API なら WinMain の LPSTR lpCmdLine
154:デフォルトの名無しさん
19/08/07 22:34:55.42 7okrY9pr0.net
定義なら
HKEY_CLASSES_ROOT\exefile
155:デフォルトの名無しさん
19/08/08 01:37:38.81 ihcgMCFx0.net
OSの仕様とAPIの仕様とC言語の仕様がごっちゃになるから
昔より初心者は大変よな。
ただ質問の仕方はジャンル関係ないから
もうちょっと伝わるように書いた方がいいと思うぞw
156:デフォルトの名無しさん
19/08/08 14:29:31.16 zX15bpOA0.net
最も低コストな2点間時間差の測定って何なのでしょうか?
元々DateTime型を利用していましたが、超高精度である必要もなくマシンの長時間稼働で符号が反転することがあるのを承知でEnvironment.TickCountを利用しています。
Environment.TickCountよりも低コストなものはあるのでしょうか?
157:デフォルトの名無しさん
19/08/08 14:34:41.65 mB2We2tKp.net
コストの意味によって違う。
プログラム量なのか、費用なのか、所要時間なのか。
158:デフォルトの名無しさん
19/08/08 14:37:19.14 zX15bpOA0.net
>>154
実行パフォーマンス的なコストです
159:デフォルトの名無しさん
19/08/08 15:38:41.10 mhwi8eEg0.net
C# で無限Undo/Redoが出来るテキストエディタコンポーネントを探してるんですが、
使い勝手がいいものは何でしょうか?
160:デフォルトの名無しさん
19/08/08 17:25:58.20 EGuA/4uga.net
>>155
兆円単位の資産持ってる人がスーパーの食材の値段を比較するような話で、
意味ないよそんなのw
コストなんかどっちにしろゼロと同じだ
161:デフォルトの名無しさん
19/08/08 18:00:45.46 tebxUNsfa.net
>>155
URLリンク(referencesource.microsoft.com)
ご覧の通りDateTime.operator -()は
InternalTicksプロパティ内部でのビット論理積各1回と、減算と、TimeSpan型のコンストラクター呼び出し(内部はlong値の代入のみ)だけで
最適化されたら小さな計算だけになると思うんだが
Environment.TickCountを使ったほうが優位な速度差が出ると測定したの?
測定して有意差があってかつ本当に速度を追求する場所ならEnvironment.TickCountはintだけで低コストだろうから使えばいいし
そうでないのなら「早すぎる最適化」について調べればいいよ
>>156
少なくともWPFのTextBoxはUndoLimitプロパティがあって、初期値では無制限になってる
162:デフォルトの名無しさん
19/08/08 20:11:51.79 zX15bpOA0.net
>>158
減算のみだとそこまでの差は無いのかもしれませんが現在のタイムを取得する命令もセットで測定した場合に結構な差が出たため乗り換えました。
具体的にはこのような方法で現在時刻を取得し
int lastTime = Enviroment.TickCount;
DateTime lastTime = DateTime.Now;
下記のようにして指定秒数以上立ったかなどの判定を行っています
if (Enviroment.TickCount - lastTime > 10000) {}
if ((DateTime.Now - lastTime).TotalMilliseconds > 10000) {}
163:デフォルトの名無しさん
19/08/08 20:23:44.89 1yv5WNbeM.net
その辺りはDDKの領分だから深入り
しない方が吉かも
尚、OSとしての仕様と実際に動作している
ハードの仕様の差異もあるし
164:デフォルトの名無しさん
19/08/08 20:46:23.03 tebxUNsfa.net
>>159
一定時間経過したかをより正確に判定したい、が本当にやりたかったことか
ドキュメントによるとEnvironment.TickCountは「resolutionは通常10~16ms」とあるけど
DateTime.Nowでは「0.5~15ms」とあるから
判定1回の処理時間ではなくて、精度を測定したほうが良いと思うよ
Stopwatchクラスは「high-resolution performance counter」を使えるから精度出るんじゃない?
165:デフォルトの名無しさん
19/08/08 23:24:35.70 1oNCOrAR0.net
指定秒数経過の判定で実行パフォーマンスを気にするのが間違ってる
そういうのは秒間1万回処理する必要があるとかいう処理で考えるべき
OS上で動作するからミリセカンドより細かい粒度での正確性はそもそも無理
stopwatch以上の細かい精度が必要ならC#じゃ厳しい
どんな要件か知らんけどそんな細かな精度なくても大丈夫
120FPSのゲームでもフレーム間で80msあるんだから
166:デフォルトの名無しさん
19/08/08 23:27:17.60 J4rZTmDc0.net
>>162
計算間違ってるよ
167:デフォルトの名無しさん
19/08/08 23:57:14.98 d0Ff1eN7a.net
文章読んでる限りそんな頭悪そうじゃないのに
何でそんな部分の最適化は無意味だっていう簡単な事実が分からないのかねw
昔からそういう人一定数いるけどほんと不思議
168:デフォルトの名無しさん
19/08/09 00:05:32.58 yqHkFNZaa.net
>>164
この人が該当するかはわからないけど、発達障害で脳の特性により一般の人よりも拘りが強いという人は珍しくないよ。知能の高低ではなく、引っ掛かるところが普通と異なる。相手に自覚がない場合、いくら理屈で説明しても受け入れてもらえないことが多い。
169:デフォルトの名無しさん
19/08/09 00:24:39.62 kbBtOJ8C0.net
プログラマには特に多いかもね
170:デフォルトの名無しさん
19/08/09 00:50:27.63 ENN4/0zza.net
どうでもいい細部に拘って動けなくなるのは中途半端に知恵がついてきた初心者にありがち
俺も経験あるからわかるわ
そこから経験を積んでいくとスケール感がわかってきて「ゴミは無視」ができるようになってくるもんだけど、
そうならずにどんどん偏屈になっていく人も一部存在する
質問者がそうでないことを祈る
171:デフォルトの名無しさん
19/08/09 04:41:46.96 S4+H63Q60.net
どうでもいい細部かもしれないんですが、フォーム名やイベント名は、動詞と名詞どっちを先にするのがいいのでしょうか?
例えばユーザー登録フォームの場合、RegisterUserForm と UserRegisterForm
ユーザーが選択された時のイベントの場合、 SelectUserEvent と UserSelectEvent
どっちがいいでしょうか?
172:デフォルトの名無しさん
19/08/09 08:20:41.97 VQZHSvvcM.net
>>168
私は旧人なので、まずは Formですよが知りたい(プレフィクス派)ので、
Formユーザー登録
w
イベントはイベントハンドラー名そのまま(わざわざ変えない)
173:デフォルトの名無しさん
19/08/09 09:38:32.89 dc6G/Fnt0.net
まあ、全ての時計は独自の時間を刻んでいるので、そもそも一致させるのは不可能だし無駄なんだけどな。
174:デフォルトの名無しさん
19/08/09 10:33:45.61 NKKMFBro0.net
>>168
イベントはUserSelectedが基本じゃないかな
175:デフォルトの名無しさん
19/08/09 11:51:03.15 01aaYby70.net
>>161>>162
具体的にはゲームのスキルクールタイム計算なので、数十ms程度の誤差は別に許容範囲であるため高精度である必要はないと書きました
深刻な回答してくれた方が多いようですが、別に今の方法でボトルネックになってる訳でもなく単純にこれよりベストな方法あるのかな?程度の感覚で聞きました
176:デフォルトの名無しさん
19/08/09 12:13:27.68 WHBOK0wDM.net
ゲームなら共通の世界時計を持っといて各ゲームコンポーネント側でそれに基づいて時間の差分を取るようにするべき
各自が勝手に時間を測るとポーズの実装とかで困ることになるよ
177:デフォルトの名無しさん
19/08/09 12:23:56.96 /8nxdn6c0.net
誤差が許容できるんだったらコードから意図が読みとれる奴がベター
178:デフォルトの名無しさん
19/08/09 13:23:18.87 uqa/TGO4d.net
>>173
たしかに
179:デフォルトの名無しさん
19/08/09 13:40:04.45 VpFvSLvY0.net
>>165-166
今朝のテレビでコンビニに苦情入れて出禁になったと訴えていた被害者が
まさにそんな感じの人だった
(苦情自体は正当でコンビニにミスがあったのは確かだが
コンビニが謝ってるのにどうでもいいことで納得しないで文句言い続けてた)
180:デフォルトの名無しさん
19/08/09 14:08:51.82 vlGdUztx0.net
ファイルを大量に更新するアプリを作ってるんだけど
クラウドストレージ上でやると同期に問題が多くて困ってる
単一のファイルをディレクトリのように扱えて
可変長・不特定多数のデータをファイル名をつけて格納できる
ライブラリとかないものだろうか
クラウドで同期して別のPCで実行したりするので
環境変数やサー�
181:o構築、DBエンジンのインストールが必要なものは避けて ポータブル系アプリのようにUSBで持ち運べる実装にしたい 理想は仮想ドライブを動的にアプリ内でマウントして 読み書きさせるような感じ なにかいい知恵はないものだろうか…
182:デフォルトの名無しさん
19/08/09 15:12:17.76 OSNL5U/w0.net
ただの質問から人格攻撃にまで発展してる奴の方が妄想癖ありそうで怖いわ
なんかC#スレやVSスレって変な奴増えてきてるな
183:デフォルトの名無しさん
19/08/09 15:27:08.13 vlGdUztx0.net
夏休みだからじゃないかな
184:デフォルトの名無しさん
19/08/09 15:28:17.68 ti4i1VCta.net
>>168
URLリンク(docs.microsoft.com)
イベント名は動詞か、時制つきの動詞にするのが習慣
既に書かれてるけど UserRegisterd や UserSelected のような名前にするのが一般的かな
命名に困ったら.NET標準のものを参考にするといいよ
>>169 のような「いちいちFormをプレフィックスにする」のは少なくとも.NETにはそぐわない
>>172
> 別に今の方法でボトルネックになってる訳でもなく
やはり「早すぎた最適化」について知っておくべき
>>177
> 単一のファイルをディレクトリのように扱えて
> 可変長・不特定多数のデータをファイル名をつけて格納できる
についてもう少し詳しく
もっともクラウドで同期の問題があるのなら、どんなライブラリを使おうとも大して変わらない気もするけれど
185:デフォルトの名無しさん
19/08/09 15:42:32.52 l8EdBHZf0.net
パフォーマンス系の質問に対して無意味系の答えが返ってくるのって質問者も大体織り込み済みな上で質問してるだろうしそれなら返さなくて良いんじゃないかね
ガチの初心者ならまだしも質問者のレス内容的にその辺は分かった上で聞いてるだろう
まぁ初心者スレでパフォーマンスに関する質問する方が悪いとも言えるが
186:デフォルトの名無しさん
19/08/09 16:48:18.94 m7mfmdmp0.net
>>177
データベースのblobにファイルを突っ込むのが一番手っ取り早いが、速度や効率はまあ...
187:デフォルトの名無しさん
19/08/09 16:50:09.57 m7mfmdmp0.net
つか、クラウドストレージでやると同期の問題ってどんな問題か気になる
188:デフォルトの名無しさん
19/08/09 17:08:20.38 wy7G1+HC0.net
>>177
サーバー型のDBがだめならsqlite使えば?
189:デフォルトの名無しさん
19/08/09 17:56:29.89 vlGdUztx0.net
>>183
例えばonedriveだとフォルダ下のファイル数が一定数を超えると
フォルダに警告表示が出て同期できなくなったりする
あと変更箇所のチェックで異様に時間がかかるようになるんだよね
190:デフォルトの名無しさん
19/08/09 17:59:34.02 uqa/TGO4d.net
zipじゃだめなの?
191:デフォルトの名無しさん
19/08/09 18:00:19.74 vlGdUztx0.net
zipだと圧縮されている10万ファイルのうち
1個変更しただけでも再圧縮が必要にならない?
192:デフォルトの名無しさん
19/08/09 18:16:27.78 vlGdUztx0.net
あ、ごめん
zipって結構柔軟性あるんだね
削除も追加もできそうだしやってみる
sqliteも試してみる
ありがとね
193:デフォルトの名無しさん
19/08/09 19:02:58.69 GUJ7R2MVM.net
>>177
OLE複合ファイルってのがwindows標準
只、私ならZipで実装するね
194:デフォルトの名無しさん
19/08/10 14:54:00.10 ddvhW9sGa.net
なんか昨日一日まったく5chにアクセス不能だったけど、
俺の環境固有の問題だったのか普通に書き込んでる人いるなw
>>168
UserRegistrationFormとか?
Formはサフィックスするなって意見もあるが、これは少数派の意見だと思うので
真に受けない方がいいと思う。
ほとんどの場合は付けた方が結局分かりやすいね。
あと、コントロールの変数名だけはハンガリアンを認める人も結構多い。
195:デフォルトの名無しさん
19/08/10 15:01:33.84 /ATKT2HCF.net
昨日アクセス不能だったのは事実
ただし鯖は生きてたのでDNSの問題
回避できるDNSのアドレス知ってるひとは
そっちに変更して普通に読み書き出来てた
方法は避難所に書いてあった
今は元に戻しても通常通り読み書きできる状態
196:デフォルトの名無しさん
19/08/10 15:36:24.79 ddvhW9sGa.net
>>191
へーそういう状況だったのか
197:デフォルトの名無しさん
19/08/10 15:40:36.25 /ATKT2HCF.net
ついでに言うとDNSが死んだ原因は
2chを乗っ取った5chのjimの会社が
米の銃乱射の件でテロリスト認定されて
DNSサービスの停止になったってこと
さらにjimは指名手配で逃亡
5chは復旧したけどいつまで続くか判らんω
198:デフォルトの名無しさん
19/08/10 18:20:40.93 0gPdeKzpa.net
>>190
スマン、質問の「フォーム名」を見落として「イベント名」だけ拾ってしまっていた
フォーム名ならFormのプレフィックスやサフィックスを付けるのは全然問題ないね
199:デフォルトの名無しさん
19/08/12 10:36:30.39 HTWZ+S1Q0.net
SelectedTextやSelectionStart、SelectionLengthのような機能をカスタムコントロールに付けたいんですが
やっぱりMeasureStringとかでいちいち文字列の長さを測定したりするんでしょうか?
もしくは2次元配列を用意して1文字ずつその文字コードと座標を格納しておくか
200:デフォルトの名無しさん
19/08/12 10:57:06.87 kI0RZN1g0.net
コレクションに要素が存在するかを判定するとき、Count > 0ではなくLinqのAny()を使う意味ってあるのでしょうか?
可読性のためだけにこちらを使ってるんですかね?
201:デフォルトの名無しさん
19/08/12 11:01:09.66 2iL+RtWU0.net
>>195
TextBoxコントロールを使わないのならそうなるだろうね
等倍フォントなら少しは楽できるけどやることは変わらない
IMEの操作も考えてるんならAzukiっていうエディタコントロールを参考にすると良いよ
202:デフォルトの名無しさん
19/08/12 11:26:07.50 HTWZ+S1Q0.net
>>197
ありがとうございました
何行目の何文字目とか指定できれば簡単なんですが
いちいち文字列の長さを測定しなければならないというのは不便ですね
203:デフォルトの名無しさん
19/08/12 11:41:48.29 ssrYJHqQ0.net
>>196
リンクの式はイテレータを返すだけだからCountやLengthのプロパティを持ってない。Count()メソッドがあるけどこれは全件評価が走ってしまうので、最終的に欲しい値が件数の場合以外は使わない。
その状態でイテレータに引っかかるのがあるかどうかを判定する際に使うのがAny()。普通のリストや配列に対してCountやLengthを使わずにAnyを使う意味はない。
204:デフォルトの名無しさん
19/08/12 11:56:29.02 kI0RZN1g0.net
>>199
ありがとうございます
SortedDictionaryに対してAny()で判定していたので、これについてはCountプロパティがあるのでCount > 0で良いということですね
205:デフォルトの名無しさん
19/08/12 12:40:47.91 c1yJbHcz0.net
>>199
勉強になる
206:デフォルトの名無しさん
19/08/13 15:58:52.24 hrddazny0.net
どこが「初心者用」だよ?って質問と回答ばかりだけどなww
昔は上級者用の質問スレもあったようだが
まあ一つに集約されてるほうが情報収集には便利だけど
スレタイはこっちが気に入ってるし
シャープとフラットをかけてる辺り
207:デフォルトの名無しさん
19/08/13 18:46:02.38 PAgqa6Je0.net
NuGetパッケージの管理より
Seleniumパッケージを最新にしました。
しかし、それから
Chrome は自動テスト ソフトウェアによって制御されています。
という文言が画面に出る様になってしまいました。
options.AddArgument("disable-infobars");
を指定する事でこれまでは、
この様なエラーメッセージは表示されていませんでした。
どうすれば消えますか?
208:デフォルトの名無しさん
19/08/13 19:01:18.55 ZVs77qOsa.net
>>203
標準でもなんでもないサードパーティーライブラリの話はスレ違い
↓あたりで適切なスレを探して
web制作管理 - 5ちゃんねる掲示板 URLリンク(mevius.5ch.net)
WebProg - 5ちゃんねる掲示板 URLリンク(medaka.5ch.net)
209:デフォルトの名無しさん
19/08/13 19:57:44.52 v4xllOHk0.net
>>203
その文言そのままgoogleにブチ込んで見る人生よ
210:デフォルトの名無しさん
19/08/13 20:37:06.27 4ID4APxI0.net
ずーっとseleniumと格闘してんね
211:デフォルトの名無しさん
19/08/13 20:54:18.53 yZEhfFzKa.net
>>205
すごい字余りの川柳かと思った
212:デフォルトの名無しさん
19/08/13 20:59:35.55 Gdeao/QQ0.net
セレニウム野郎まだいたのかよw
213:デフォルトの名無しさん
19/08/13 21:33:22.43 PAgqa6Je0.net
>>204 >>205
新しいNuGetパッケージについての
解説ブログはないんだよ。
214:デフォルトの名無しさん
19/08/13 21:45:22.03 ZVs77qOsa.net
>>209
>>1
215:デフォルトの名無しさん
19/08/13 22:29:42.70 4ID4APxI0.net
>>209
君が解説ブログかけばいいんでは?
てか解説ブログあること前提なの?
リリースノート見るなりソース読むなりすればいいのでは?
できないならなんでバージョンあげたの?
問題出たならバージョン戻せば?
なんのためにnuget使ってるの?
216:デフォルトの名無しさん
19/08/13 22:56:59.36 eH0ENH5J0.net
ちなみにこれってエヌユーゲッツなんかねヌゲッツなんかね。稀に他人と会話することがあるんだけど口頭で言う時に困る単語のひとつ…!
217:デフォルトの名無しさん
19/08/13 23:00:05.96 RVQw4+nc0.net
URLリンク(monobook.org)
>NuGet(読み:にゅーげっと、ぬげっと)
らしい
218:デフォルトの名無しさん
19/08/13 23:01:57.10 PAgqa6Je0.net
>>211
常に最新を使った方がいいのかな~と思いまして。
戻した事がなかったので調べてみます。
この手の技術系は、
詳しい人がブログにまとめてくれてるのでいつもそれらを参考にしています。
>>212 >>213
エヌユーゲット
219:デフォルトの名無しさん
19/08/13 23:10:42.03 kJJDzO2R0.net
漏れは、Ruby で、Selenium WebDriver を使っているけど、
「Chrome は自動テスト ソフトウェアによって制御されています」というメッセージは閉じれるけど、
その部分を閉じても、その幅が消えないから、使える画面が少なくなる
220:デフォルトの名無しさん
19/08/13 23:18:57.47 4ID4APxI0.net
selenium君もruby君もスレからずれたレスしないでね
221:デフォルトの名無しさん
19/08/13 23:24:54.56 eH0ENH5J0.net
>>213
ヌゲットにしとくかな…
Nuclear unlimited gigantic enhanced technology
222:デフォルトの名無しさん
19/08/13 23:29:34.04 mICjniMU0.net
selenium君はRuby君を反面教師にするといいよ。
スレ違いを繰り返すのがどれだけ他人から見て迷惑でみっともない行為なのかをこれ程上手く伝えられる教材はとても稀だから。
223:デフォルトの名無しさん
19/08/14 00:36:59.18 jQtv4Yb60.net
C#+Seleniumなのでこのスレが正しい
224:デフォルトの名無しさん
19/08/14 01:38:02.43 GCJub4Dp0.net
誘導を無視することは正しいことですか?
ライブラリの問題であって言語の問題ではないから誘導しているのです
使用しているのがC#であっても言語の質問でなければ正しくはありません
問題が言語なのかライブラリなのかわからない人もいるので初めてレスするなら何の問題も無いし、誘導してくれるでしょう
今まで何度誘導を無視しましたか?
長期間、言語ではなくライブラリを起因とする質問を繰り返すのは正しいのですか?
225:デフォルトの名無しさん
19/08/14 02:14:02.89 jQtv4Yb60.net
それはあくまでもあなたの意見でしょうが
226:デフォルトの名無しさん
19/08/14 03:08:22.27 YX6BCcxFa.net
芸人の押すなよは押せって意味だからどんどんやっていいよ
どうせ過疎スレで人口なんか恐らく数十人しかいないw
227:デフォルトの名無しさん
19/08/14 03:17:28.62 GCJub4Dp0.net
1に書いてあることと同じだけど、どのへんがあなたの意見なの?
228:デフォルトの名無しさん
19/08/14 08:25:36.73 RPrYPUsF0.net
>>221
俺は>>220とは別人だが同意見だ
229:デフォルトの名無しさん
19/08/14 08:33:56.94 28G/wIAb0.net
そもそもWinFormsもWPFも言語仕様じゃなくてライブラリだ
ライブラリを外せってのは余りに酷い暴論だよ
230:デフォルトの名無しさん
19/08/14 08:59:28.69 gdRXPT/U0.net
ライブラリが即NGじゃなく
サードパーティ制のライブラリがメインの質問&原因だからスレ違いでしょ
標準ライブラリは勿論OKだし
C#に関連の深い.NETやVisualStudio周りなら多少逸れてもOKだろうし
サードパーティでも例えばODP.NETとかのら基本的な質問なら答えても文句言われないでしょ
逆にUnity絡みならC#であっても専門スレのが有益だから誘導されるだろうし
誘導には、スレが汚れるから他所へ行けって側面と
ここだとまともな回答が得られないからこっちを当たれって案内の面があるんよ
231:デフォルトの名無しさん
19/08/14 09:34:24.96 mrBPpWLv0.net
>>217
この前マイクロソフトの人柄ヌゲットと言ってたからヌゲットでOK
232:デフォルトの名無しさん
19/08/14 09:38:00.49 28G/wIAb0.net
標準とか外部ライブラリーって>>1のどこに書いてあるんだよ
つまり「個人の感想です」だな
233:デフォルトの名無しさん
19/08/14 12:04:33.55 RWvjQCFF0.net
馬鹿がなんと言おうとスレチ
234:デフォルトの名無しさん
19/08/14 12:05:06.26 HkWgtzgRM.net
つかSelenium君の問題は、Seleniumの問題というより
彼の頭の悪さの問題なんだよ
それを解決するのはこのスレじゃない
そこは明白だろ
235:デフォルトの名無しさん
19/08/14 12:38:54.90 Ct2lHzgAa.net
誘導してる人の動機が利他的なものなら素晴らしいことだけど、
実際は人を批判しないと気が済まないだけだからねw
そこを見透かされてからかわれているのに、それがわからないところが何とも滑稽だね
だいたいこんな過疎スレで周辺分野の質問があって誰が困るのかねw
誰も困らないと思うけど。
236:デフォルトの名無しさん
19/08/14 12:48:55.76 LymH/UUL0.net
質問者本人が(回答を得られないという点で)困るだろ
237:デフォルトの名無しさん
19/08/14 13:03:38.03 pFnHcoJr0.net
スレチな質問なんだから誘導して貰えるだけマシ
238:デフォルトの名無しさん
19/08/14 13:09:35.97 RPrYPUsF0.net
質問者以外も、どうでもいいやり取りを見せられて迷惑だと思うよ。
過疎っていても適切な話題が書き込まれていた方が良い状態だと思う。
239:デフォルトの名無しさん
19/08/14 13:40:20.40 mrBPpWLv0.net
>>231
君のようなオナニー野郎が1番気持ち悪いよ
240:デフォルトの名無しさん
19/08/14 14:49:03.49 jQtv4Yb60.net
そもそも
C#もSeleniumも根本はC++で実装さえれている
Seleniumに詳しいヤツがいないから
いいがかりつけられてばかりでかわいそう
241:デフォルトの名無しさん
19/08/14 15:26:24.08 RPrYPUsF0.net
>>236
かわいそうって、自分が?
何で実装されているかなんて尚更無関係だろうに、そんな頓珍漢なことばかり言ってるから煙たがられるんだよ。
242:デフォルトの名無しさん
19/08/14 15:39:01.35 pFnHcoJr0.net
>>236
そんじゃこれからはC++スレで質問してね
Seleniumに詳しい奴もいっぱいいるだろうからお前の助けになるだろうよ
243:デフォルトの名無しさん
19/08/14 16:13:47.02 jQtv4Yb60.net
C#の言語自体がC++で作られてる事をしらんふぬけども
244:デフォルトの名無しさん
19/08/14 16:16:19.89 IV/LzryA0.net
僕の内臓を返せ~
245:デフォルトの名無しさん
19/08/14 16:59:56.55 jDEWV9x2M.net
Roslynも知らないガイ
246:デフォルトの名無しさん
19/08/14 17:00:39.76 GCJub4Dp0.net
そもそもかなり長期間seleniumの質問が投げられてるのにseleniumに詳しい奴からの回答なんてruby君以外からほぼ無い状態
だからこそ誘導してるんじゃないか
スレ趣旨から多少ずれてようがわかる範囲なら回答してる
回答した上で誘導までしてるのに誘導だけは無視して延々と質問を投げるなら嵐とかわらんじゃないか
247:デフォルトの名無しさん
19/08/14 17:01:32.64 pFnHcoJr0.net
>>239
GitHub - dotnet/coreclr: CoreCLR is the runtime for .NET Core. It includes the garbage collector, JIT compiler, primitive data types and low-level classes.
URLリンク(github.com)
コア部分は間違いなくC++で開発されているから安心して巣立ってくれ
248:デフォルトの名無しさん
19/08/14 18:33:13.55 rSDdWO1t0.net
聞きたくなければ黙ってseleniumをNGワードに入れれば良い
匿名掲示板なので日記書くやつもいるだろうし
他人の服装まで直す行為は無駄
ごちゃごちゃ発言するな
249:デフォルトの名無しさん
19/08/14 18:48:49.85 Q4kX3C+k0.net
いいかげんseleniumの話題はやめて欲しいよね
250:デフォルトの名無しさん
19/08/14 21:06:43.58 dNTNWi1CM.net
業務アプリケーションでElectron.NET使ってる人いる?そういった技術も習得してた方がいいかな?
251:デフォルトの名無しさん
19/08/14 21:09:29.90 IV/LzryA0.net
どうしてなの―ッ!!
どうしてエレクトロンしないのよーッ!!
252:デフォルトの名無しさん
19/08/14 21:11:16.53 eGLvTmmqa.net
業務アプリって比較的新しい技術ってあんま使わなくね?
使えるように勉強するのは多いに結構なことだとは思うけど
253:デフォルトの名無しさん
19/08/14 21:34:40.40 oxhAJDr00.net
RPAスレはSeleniumの話題OKだからそっちいきなよ
254:デフォルトの名無しさん
19/08/14 22:21:04.82 bBZ00i3Q0.net
Seleniumスレでも発達障害は解決できるとは思えないけどな
255:デフォルトの名無しさん
19/08/15 00:01:22.09 5MxOdPEK0.net
options.add_argument( '--disable-infobars' ) # 通知バーを消す
Ruby で、こう書いても、通知バーを消せない!
Chrome なんて、仕様をコロコロ勝手に変えるし、文書も作らないだろ。
ソースコードを読めって、無茶苦茶だろw
各ブラウザの機能なんて、相手にしないほうが良い
256:デフォルトの名無しさん
19/08/15 00:17:18.78 4RLQ3HFd0.net
>>246
WPFやFormアプリケーションで描画しきれないケースのみ採用するパターンが多いかと。
習得する分には、もしもの時に出せる手札が増える(知見が広がる)ので良いとは思います。
257:デフォルトの名無しさん
19/08/15 01:51:37.30 yTBvPSIa0.net
業務アプリは大規模開発だったり要件が機能追加(既存ソースの流用)だったりが多いから知ってる人が少ない技術は敬遠される傾向があるよね・・・
258:デフォルトの名無しさん
19/08/15 05:13:06.12 YYpr9nEd0.net
dapper で、dynamic型で取得したレコードのカラム名は、どうやってプロパティにマッピング?すればよいでしょうか?
以下のようなイメージです。
var list = connection.Query<dynamic>(@"SELECT cd, name FROM hoge_table").ToList();
list.ForEach(item =>
{
this.cd = item.cd; //cdカラムは存在しているが、この方法では取得出来ない。
});
259:デフォルトの名無しさん
19/08/15 05:18:20.88 bD8BPP4C0.net
なぜdynamicなんか使ってるの?
260:デフォルトの名無しさん
19/08/15 09:03:09.32 NGEmLDBt0.net
>>248,>>252,>>253
今はあんまり使われていないんだ
休みだし今後のためにチラッと触ってみる
261:デフォルトの名無しさん
19/08/15 13:17:25.77 XW4rFrdd0.net
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}");
}
}
問題なかったけど?
コンパイルエラーになってるんだったらその内容書いて
262:デフォルトの名無しさん
19/08/15 15:14:02.56 jCEAQJdF0.net
常駐するアプリを作るとき、serviceにすると何が嬉しいのですか?
263:デフォルトの名無しさん
19/08/15 15:26:23.04 nQmxjzka0.net
ログインしてなくても動く
264:デフォルトの名無しさん
19/08/15 16:03:39.12 wwJYNY5r0.net
ありがとうございます
265:デフォルトの名無しさん
19/08/15 17:15:06.30 X+hhUeCb0.net
>>255
dapperはdynamic使うのが簡単でウマーだから
266:デフォルトの名無しさん
19/08/15 18:25:05.09 jCEAQJdF0.net
>>261
インジェクション対策は?
267:デフォルトの名無しさん
19/08/15 18:41:02.43 VbDuA0j40.net
>>262
ちゃんとパラメーター変数使ってるジャン
268:デフォルトの名無しさん
19/08/15 19:29:51.78 UYxtktoid.net
>>261
cdカラムとかを指定して取り出したいなら結局クラス作った方が楽やん
269:デフォルトの名無しさん
19/08/15 20:14:41.68 BPnFBcl20.net
大文字小文字の問題とか無いのかな?
止めて変数rowをウォッチしてみてね
270:デフォルトの名無しさん
19/08/15 20:56:25.88 X+hhUeCb0.net
>>264
ケースバイでしょ
271:デフォルトの名無しさん
19/08/15 20:58:03.96 bD8BPP4C0.net
>>266
うん、だけどそれで悩んでるのは事実やん
272:デフォルトの名無しさん
19/08/15 21:46:48.94 pWdXHbkI0.net
>>251
やっぱりそうだよね。
Seleniumを使いこなせないPGがC#パーには多すぎるのが問題だな
273:デフォルトの名無しさん
19/08/15 22:36:14.06 nQmxjzka0.net
あーハイハイ
274:251
19/08/15 23:18:45.58 5MxOdPEK0.net
まあ、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
275:デフォルトの名無しさん
19/08/16 00:31:14.40 Capr2asl0.net
一人でも煩いスレ違い居座り野郎が、二人になって相互作用まで始めてしまったか。
276:デフォルトの名無しさん
19/08/16 00:40:48.73 w8wDW0z80.net
せめてjavaスレいけよ
277:デフォルトの名無しさん
19/08/16 00:47:42.08 9Iug+Ez/0.net
ん?なんでrubyの話が突然出てくるんだ?
278:デフォルトの名無しさん
19/08/16 00:56:27.81 jFKiomKf0.net
だから。相手にすんなよ。
しつこくても枯死するまで放って置けばいいのに。
279:デフォルトの名無しさん
19/08/16 00:57:25.58 Capr2asl0.net
>>273
いくらやめろと言われてもところ構わず唐突にRubyの話を始める頭のおかしい奴が、この板にいついているから。スレタイにRuby禁止と書かれているスレがいくつかあるが、コイツが原因。
280:デフォルトの名無しさん
19/08/16 00:58:13.28 2i9/2j960.net
C#っつーかプログラミング言語一般の話になっちゃうかもしれないんですけど
勉強してて例外のところに差し掛かったんですけどめっちゃ色々種類あるじゃないですか
んでもって例えば関数一つ作るにしても考えようによってはほんと沢山の種類の例外が発生する可能性がありますよね
そういうのをとにかく可能性が少しでもあれば例外をスローするようにしてたらコードが例外ばっかになっちゃう気がします
書く例外と書かない例外の境界線はどこにあるのでしょうか
281:デフォルトの名無しさん
19/08/16 00:58:14.57 Capr2asl0.net
>>274
すまん、その通りだな
282:デフォルトの名無しさん
19/08/16 01:08:02.04 G0Kx7mvIa.net
>>276
よくわからん理屈だな
仮にその例外を「書かない」と判断したとして、その「例外的な状態」を例外の代わりにどう処理するつもり?
放置しても問題なく動き続けられるorその場で適切な対処をして回復できるなら、そりゃ例外投げるよりその方がいいに決まってる
283:デフォルトの名無しさん
19/08/16 01:13:52.65 Capr2asl0.net
>>276
ライブラリ関数に渡す引数が正しくないとかのように、自分が書いているコードが正しくない場合に発生する例外、逆に言えば正しいコードを書けば発生しない例外は基本的にその場ではいちいちcatchしない。
ただし完全にバグがないということを保証するのは困難なので、プログラムの上流でまとめてcatchして何らかのメッセージを出すなどした方が良い。どう対処すべきかはそのシステムに求められる要件次第だけど。
ファイルにアクセスできないとか、ユーザからの入力データが正しくないことにより発生するような例外とか、自分のコードの外部の要因で発生する可能性のある例外は、その都度catchして適切に対処する必要がある。
284:デフォルトの名無しさん
19/08/16 01:51:17.26 XNgAzUDc0.net
四則演算やっても
オーバーフローもゼロ除算もあるしね
一番上のcatchでまるっと処理したほうがええ
285:デフォルトの名無しさん
19/08/16 02:16:34.36 3ldAil1N0.net
>>276
その処理内で対処できるなら投げない
できないなら例外なげる
>>279-280
キャッチする話じゃなくて投げるほうの話だろ
まあ、キャッチも同じ考え方で、自分で対処できる例外はキャッチする
それ以外はそのまま上位へ
今はこういう考え方が主流だと思う
286:デフォルトの名無しさん
19/08/16 02:17:58.68 KW3/fLy3a.net
>>276
そんなの手を動かさずに机上で考えてるからそうなるだけw
処理できない問題は(基本的には)例外を投げて呼び出し側に通知するしかない。
処理できない例外は投げるしかない。
処理できないのにcatchして握りつぶしてよい例外なんかない。
何が難しいの?
287:デフォルトの名無しさん
19/08/16 05:58:38.34 RrHjcCxL0.net
初心者マークの人へのアドバイスとしては
例外をthrowするケースは
・事前条件が崩れる場合、例えば引数がおかしい場合や処理の準備が整わない場合
・処理に失敗したことを伝える場合
まずはこのあたりを基準に
逆にcatchはむやみやたらにしてはいけないし、特に握り潰してはいけない
他人のソースをたくさん読んで、たくさん考えて書くしかないよね
288:デフォルトの名無しさん
19/08/16 07:20:17.23 z6Pxs9AVa.net
javaみたいに「このメソッドはこんな例外を投げるから必ずtry-catch書けよ」ってできなかったっけC#
289:デフォルトの名無しさん
19/08/16 07:41:23.99 G0Kx7mvIa.net
>>284
Javaの最大の失敗の一つだね
C#に採用されなかったのはもちろん、Kotlinですら省かれた
290:デフォルトの名無しさん
19/08/16 09:30:31.26 1KF8kPqD0.net
そもそもチェック例外を採用した言語ってJava以外にあったか
291:デフォルトの名無しさん
19/08/16 09:33:04.09 w8wDW0z80.net
>>276
動作止めたくないなら例外拾って全部ログに書き込む
292:デフォルトの名無しさん
19/08/16 11:35:21.61 16ocBcE+p.net
全部のケースを全部継続可能か不可能か判断してケース分けするに決まってんだろ。
甘えんな
293:デフォルトの名無しさん
19/08/16 11:43:27.15 i2ShkSLcM.net
俺はtry入れないでまず作って
例外が頻発する箇所に追加していく感じ
最初から丁寧に入れていくのは時間の無駄が多い
294:デフォルトの名無しさん
19/08/16 12:43:54.88 vQM55/5Pa.net
いやとにかく
(1) 例外を投げるかどうか
(2) 例外をcatchするかどうか
こんなことで悩むなんてありえないよ。悩む理由がない。
悩みどころなんて、どの例外を投げるかの選択、あるいは例外をどの程度
場合分けするか、ぐらいしかない。
295: これは例えば、引数が変だった場合にとにかくいつでもざっくりArgumentExceptionを投げて済ますか、 引数がどう不適切なのか、細かく場合分けしてより適切な例外を投げるようにするかの選択 余談だけどこういうと怒る人もいるかもしれんが、個人的には例外の場合分けなんて 本当はどうでもいいと思ってるw 役に立つことはほぼないwほとんど場合プログラマの自己満足だw そのコードを見られる場合にはね。(だから他人が使うライブラリを書いてる場合は別問題)
296:デフォルトの名無しさん
19/08/16 12:50:25.25 vQM55/5Pa.net
あと、そもそもメソッドのデザインとして
例外を投げる代わりにout引数か戻り値でnull(あるいは例外オブジェクト)
を返すって選択肢もあるから、そこで迷うってケースもないことはないけどね。
呼び出し側でいちいちtryブロックを書く必要があるのは鬱陶しい、
って需要もあるから
297:デフォルトの名無しさん
19/08/16 12:59:06.06 mZqFzvyqa.net
キモいRuby厨はスレ追い出されてC#スレに引っ越した
298:デフォルトの名無しさん
19/08/16 13:33:31.65 w8wDW0z80.net
>>289
たぶん環境が緩いというか品質が知れるわ
299:デフォルトの名無しさん
19/08/16 14:56:57.30 /nFnP4zmd.net
>>291
out使うのはなぜ?
300:デフォルトの名無しさん
19/08/16 15:10:09.14 Boqt1xFK0.net
outでエラーコード返すのでは?
301:デフォルトの名無しさん
19/08/16 15:19:40.41 s9O3qxdqd.net
昔はout使う構文が嫌いだったけど、7.0でインライン宣言出来るようになってからそうでもなくなった
302:デフォルトの名無しさん
19/08/16 16:31:30.73 vdJZcXlx0.net
ValueTupleにエラーコード入れて返すじゃ駄目なの?
303:デフォルトの名無しさん
19/08/16 16:34:34.90 vQM55/5Pa.net
>>294
TryParse的な物を想定して書いたけど>>291じゃ端折り過ぎて意味不明だね申し訳ない
戻り値nullは(メソッドじゃないけど)as的な物を想定
例外オブジェクトをout変数で返すのはたぶんやってる人はほどんどいないけど、
tryブロックが嫌いなら場合によっては便利かも
304:デフォルトの名無しさん
19/08/16 16:37:56.56 AwRYym3H0.net
>>272
JavaとJavaScriptは別ものだ
あほ
Slenium以前の問題
305:デフォルトの名無しさん
19/08/16 16:52:07.81 /nFnP4zmd.net
>>298
タプルで返せばよくない?
306:デフォルトの名無しさん
19/08/16 17:53:53.26 9StEh2pLd.net
例外はログ拾う時に絶望したくないから適切に投げるなぁ。
どうでも良いという論調は作るだけで保守しない人の発想みたいで少し嫌かもしれん。
アプリケーションのロジックをバッチでも使いたい、みたいな時に、毎度戻り値を検証するんじゃなくてバッチの一連のトランザクション自体落としちゃいたい時に二度手間な気がするんだが、その辺どう作ってるんだろう?
307:デフォルトの名無しさん
19/08/16 19:27:37.17 16ocBcE+p.net
>>301
二度手間と思うのは一人で全部コード書いてるから。
308:デフォルトの名無しさん
19/08/16 19:30:21.63 O2kbbLouM.net
>>299
え?なぜjsを指定してると思うの?
元々javaのつもりで書いてるんだけど。
沸いてるの??
309:デフォルトの名無しさん
19/08/16 21:32:15.51 HNLZHpWT0.net
>>303
javaの拡張子は【.java】だよ
【.js】は、思いっきりJavaScriptの拡張子
少しググって勉強してね
310:デフォルトの名無しさん
19/08/16 23:41:19.50 AADFbgN80.net
プログラム板住人は煽られるとすぐムキになるから、転載アフィブロガーの種まきに最適な場所になっちまってんだろう
311:デフォルトの名無しさん
19/08/17 00:34:58.82 1HSNgy8G0.net
Seleniumって便利だな
もっとユーザが増えてほしい
312:デフォルトの名無しさん
19/08/17 02:16:51.47 EsYhqRXq0.net
>>304
え?全然噛み合わない。
なにこのアスペ
313:251
19/08/17 02:31:35.40 fYRni8gj0.net
Ruby on Rails では、作者のDHH が、2014年に「TDD(テスト駆動開発) is dead」と発言して、
ユニットテストから、Selenium を使った、E2E(end to end)テストへ移行した!
それで、Rails 6 では、
DHH のいるBasecamp 社から、GitHub へ移籍した、Eileen Uchitelle によって、
テストを複数CPU コアで、並列実行する機能が実装された!
314:デフォルトの名無しさん
19/08/17 10:48:29.26 uGEbzf6ra.net
気狂いしかいねーのかよ
315:デフォルトの名無しさん
19/08/17 12:36:57.19 zUPT7dbd0.net
見てわかんねーのか
316:デフォルトの名無しさん
19/08/17 13:25:59.90 Mqg+a2XP0.net
暑さで脳味噌が溶けちまったんだろう
317:デフォルトの名無しさん
19/08/17 14:35:53.37 sCIOh4/p0.net
なんでRubyスレで言わねえんだ?
318:デフォルトの名無しさん
19/08/17 15:08:20.60 BwzrwDPv0.net
>>303
なんでJavaのつもりで書く必要があったの?
319:デフォルトの名無しさん
19/08/17 15:55:56.68 qUgpJGd70.net
>>307
あんたの272の近辺にはJavaの話は全く出てきていないが、もしかするとRubyがJavaだと思った?
320:デフォルトの名無しさん
19/08/17 19:21:30.41 lWdyvSQl0.net
エスパーすると、ASP.NETがあるがデスクトップアプリがメインだったC#よりまだJavaスレの方がまだselenium詳しそうなやつ多そうだから、せめてjavaスレ行けって事だろ。
ほんとこれぐらいもエスパーできなきゃアホやろ
321:デフォルトの名無しさん
19/08/17 21:04:14.52 qUgpJGd70.net
それなら「Rubyスレに行け」が流れ的に当然であるのに何故か「Java」
彼にとってサーバーサイドの言語は全部Java
ほぼ「ゲーム機を全部ファミコンと呼ぶおかん」状態と考えるのが妥当と思われる
322:デフォルトの名無しさん
19/08/17 22:31:29.74 2lsOlPOTd.net
>>315
それはあまりにも苦しい擁護だな
323:デフォルトの名無しさん
19/08/17 22:32:06.22 fWrg11mTM.net
seleniumがjavaで書かれてるからじゃないの
>>236->>238のC++云々からの流れかと思ったけど
324:デフォルトの名無しさん
19/08/17 22:34:51.12 8QP5rwWB0.net
KeyValuePair c=func1();
cをnull判定できないんですがどうしたらいいですか?
Myclass c=func2();
の場合、null判定できます。
クラスは出来て、KeyValuePairは出来ないのは何故ですか?
325:デフォルトの名無しさん
19/08/17 22:35:45.47 1som7JJwa.net
>>319
C# クラス 構造体
でググれ
326:デフォルトの名無しさん
19/08/17 22:37:54.74 RvVfsurb0.net
KeyValuePairにnullなんて入らないからな
327:デフォルトの名無しさん
19/08/17 23:10:53.90 u5xmISorM.net
>>314
以後アスペはNG
328:デフォルトの名無しさん
19/08/17 23:12:11.34 u5xmISorM.net
>>316
流石に頭が悪すぎるのでこれ以上会話するのは不可能
329:デフォルトの名無しさん
19/08/17 23:22:57.32 w7ZVAy9F0.net
>>319
func1をTryParseみたいにbool func1(out KeyValuePair c)にして値入れたくないときはfalseを返すようにしたら?
構造体にnullは入れられないし、どうせそのあとnullで分岐するでしょ
330:デフォルトの名無しさん
19/08/17 23:30:37.14 u5xmISorM.net
>>316
先走った場違いな発言を認めたくなくて必死過ぎ、こーゆう使えない部下は直ぐに切るからこいつは低収入確定
331:デフォルトの名無しさん
19/08/17 23:35:04.26 BwzrwDPv0.net
>>319
KeyValuePair?
を返すようにしたらいい
332:デフォルトの名無しさん
19/08/17 23:36:59.53 +vBKVSmmM.net
>>325
無職のおっさんに言われてもなぁ
333:251
19/08/17 23:47:28.51 fYRni8gj0.net
そりゃ、C#・Java は、静的言語で同じだから、
静的言語になれているなら、Selenium の話は、Java で聞くのがよい
動的言語なら、Ruby, Python で聞けばよい
Seleniumデザインパターン&ベストプラクティス、2015、オライリー
これは、Rubyでテストを書いた本
ウェブ系・HTML は基本、Ruby。
まあ、Java のSelenium の本も出てるけど
Java は、Spring Boot か?
動的言語のGroovy じゃないのか?
334:デフォルトの名無しさん
19/08/18 01:25:10.35 KlRCzn4x0.net
javaの話が出てきても勘所がないから検討違いな粘着になるんだよな
Seleniumについて知識があれば文献的に充実してるのはjavaだろうに
335:デフォルトの名無しさん
19/08/18 03:58:12.87 9i6q0zGn0.net
c#からc#をインタプリタで実行できるライブラリってありますか?
336:デフォルトの名無しさん
19/08/18 06:08:49.00 t6n5brFa0.net
>>330
URLリンク(ufcpp.net)
みたいな話か?
337:デフォルトの名無しさん
19/08/18 13:41:29.71 +4zzAGlV0.net
WinForms で質問です。
標準の Form から継承した MyForm を abstract で作りました。
この MyForm は abstract なのでデザインで開けません。
(ここまでOK)
MyForm をもとに SubForm なるものを継承して作りました。
これには abstract は付けていないのですが、これもまたデザイナで開けません。
あまりに残念すぎる挙動だと思うのですが、これは仕様でしょうか。
338:デフォルトの名無しさん
19/08/18 13:43:21.22 +3q0UZxZ0.net
Visual Studio .NET (2002) から続く仕様だよ
339:デフォルトの名無しさん
19/08/18 13:45:24.63 jp7+H4+aM.net
.NETではフォームの継承は推奨されていません
共通化したい場合はユーザーコントロールを使用してください
なお、WinFormsは既に開発が終了しており、今後改善される可能性はありません
340:デフォルトの名無しさん
19/08/18 13:51:36
341:.77 ID:+4zzAGlV0.net
342:デフォルトの名無しさん
19/08/18 13:57:02.56 ET6qk6jL0.net
うちは自社開発企業だがFormsはとっくの昔に淘汰された
Formsで作ってたアプリは全部WPFで作り直した
343:デフォルトの名無しさん
19/08/18 14:04:52.38 APnDI8yA0.net
visualstudioを利用しているのですが最近デバッグ時にフォームアプリを動かすと
System.InvalidOperationException: '有効ではないスレッド間の操作: コントロールが作成されたスレッド以外のスレッドからコントロール 'hoge' がアクセスされました。'
の様なエラーが出て止まる様になりました
しかし出来たプログラムをふつうに動かす分には異常ありません
今まで作ってきた問題のなかったすべてのバージョンでこの様な現象が起こっています
これは何が原因でしょうか?
344:デフォルトの名無しさん
19/08/18 14:21:30.88 /RKifLkIa.net
>>335
騙されたらあかんw
継承後のフォームもちゃんとデザイナで開けるし
コントロールを追加したりいろいろ出来るよw
フォームの継承なんて10年以上やってなかったが
今実際試して確認したから間違いない
345:デフォルトの名無しさん
19/08/18 14:29:19.80 MLAzMixE0.net
>>337
先日MSがWindowsUpdateでやらかしたのが原因で、結構話題になっているから検索すると見つかる
「windowsupdate vb」 で
346:デフォルトの名無しさん
19/08/18 15:44:26.69 +4zzAGlV0.net
>>338
「abstract な継承元から継承すると、継承先フォームがデザイナで開けない」
という意味でしたけど、こちらだと VS2019 でも叱られてしまいます。。
347:デフォルトの名無しさん
19/08/18 15:45:05.69 +4zzAGlV0.net
継承元が abstract じゃない単純なファームの継承だったら、まったく問題ありません。
348:デフォルトの名無しさん
19/08/18 17:17:03.03 zvOpWkeBd.net
>>334
終了なんかしてないよ
349:デフォルトの名無しさん
19/08/18 17:55:07.39 /RKifLkIa.net
>>340
なるほど。
abstractにこだわる必要が本当にあるのかなとも思うけど、
何ならコンストラクタをprotectedにすりゃ機能的にはほぼ同じだね。
(abstractメンバーはもちろん書けないけど)
これならそういう不具合は起こらないっぽい
350:デフォルトの名無しさん
19/08/18 18:33:20.50 5+yaTAKE0.net
蕎麦とラーメン間違えるとかもう簡単ケータイにしたほうがいいんじゃね。
たぶんVPNとか使わわんだろうし。
俺もIntelだからもう日産もゴーヤチャンプルーも同じ味付けで食える。
351:デフォルトの名無しさん
19/08/18 21:26:51.68 37ku1J740.net
Keyvaluepairの.Keyをnull判定したら
nullできました。
構造体だけどnull判定できましたが??
keyvalueopair本体はできないけど
KeyまたはValueはnull判定できました。
何故???まぁ良かったんですけど
352:デフォルトの名無しさん
19/08/18 21:29:43.77 jp7+H4+aM.net
それはKeyプロパティが返した値をnull判定しているのであり、KeyValuePairが構造体であることは全く関係ない
直行する問題の分離ができない人はプログラミング向いてないよ
353:デフォルトの名無しさん
19/08/18 21:32:13.83 DxNAHPOT0.net
構造体はnullにできないからKeyValuePair?使えって言ってんのに
354:デフォルトの名無しさん
19/08/18 21:33:54.95 DxNAHPOT0.net
言っとくけど「?」は文字化けじゃないぞw
355:デフォルトの名無しさん
19/08/18 21:37:51.98 37ku1J740.net
>>346
ようはList<KeyValuePair<string,double>>
"レタス" 100
"キャベツ"120
"トマト" 120
こういうリストで、ピーマンって探すと
Keyがnullになってくれたので、良かったです。
KeyValuepairがnullじゃないのが不思議ですが
null判定できてよかった
356:デフォルトの名無しさん
19/08/18 21:46:55.40 DxNAHPOT0.net
構造体はnullにできないと何度も言われてるのになんで不思議に思うんだろう
ピーマンを探すときのList.FirstOrDefault()の戻り値は
KeyValuePairをデフォルトコンストラクタで初期化したものだよ
357:デフォルトの名無しさん
19/08/18 21:48:35.09 FVnfIX0p0.net
>>349
keyvaluepairは構造体
構造体にはnullが存在しない
構造体にnullが存在しないことと構造体の中身がどうなっているか関係ないので、中身がクラスであるならnullにもなりうる
君がやったことは構造体ではなくその中身がnullかどうかのチェックしただけ
構造体とクラスの違いが理解できないなら今後も躓くのでkeyvaluepair含め他の構造体の使用も封印したほうがマシ
まぁintだって構造体だから全部避けるなんてことは無理だけど
358:デフォルトの名無しさん
19/08/18 22:03:37.75 0nN/LwEb0.net
くどくて性格が悪そうな文章だ
359:デフォルトの名無しさん
19/08/18 23:28:35.24 r1LRT6EBa.net
listに入れるならdictionaryでいいんじゃないか…?とか話を一切聞いてなかったりとかkeyvalue君のレス見てるといらつくし
説明してあげる>>351は優しいだろ
360:デフォルトの名無しさん
19/08/19 00:48:43.25 ODFt4ofXM.net
>>349
null返ってきたのはkeyの型(string型)の初期値がnullだからなんでねか?
361:デフォルトの名無しさん
19/08/19 02:37:59.55 s7+bDgX20.net
>>327
きも
362:デフォルトの名無しさん
19/08/19 07:49:38.46 2nNI8r3od.net
>>349
ピーマン探してnullが帰ってくるのはおかしいだろ。
ピーマン探したら見つからないのが正しくないか?
363:デフォルトの名無しさん
19/08/19 08:07:23.07 D7o3OMEzM.net
ループ作ったやつ次第のような?
364:デフォルトの名無しさん
19/08/19 10:35:33.11 VzpEDBAc0.net
Form1以外のクラスでlistboxに入力したいのですが
他クラスで入力する方法って望ましくないのですか?
他に方法はあるのでしょうか?
365:デフォルトの名無しさん
19/08/19 10:48:05.33 Le9xiHCt0.net
MVVMなら他クラスで用意するのが普通。
INotifyPropertyChangedとObservableCollectionでばっちりよ
366:デフォルトの名無しさん
19/08/19 10:55:08.87 QArCM+jpp.net
>>356
松茸採りに行っても見つからなかったらバスケットは空で帰って来るしか無いだろ?
367:デフォルトの名無しさん
19/08/19 10:55:52.73 QArCM+jpp.net
でもバスケットはあるから、バスケットの中の松茸の数がゼロになるんだよね?
368:デフォルトの名無しさん
19/08/19 11:52:38.83 2nNI8r3od.net
バスケットが空なのと、バスケットにnullが入ってるのは違うんじゃねえかな?
参照型は瓶と水みたいな感じで、瓶だけ持って帰ってこれても、
値型みたいな、それ単体が実体のものは言うとおり松茸みたいなもんで、取りにいってなかったら何も持って帰って来れないと思うが。
無理矢理何か持たせるのがFirstOrDefaultで、坊主だった親父がとりあえず当たり障りのないものを魚屋で買って帰るようなもんでは?
FirstOrDefaultは無かったときにnullを返すためにあるんじゃないんだから。
ちゃんとチェックしてから取ったほうがいいと思うよ。