!extend:checked:vvvvv:1000:512
次スレを立てる時は↑を2行冒頭に書くこと(1行分は消えて表示されない為)
「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。
他のスレッドでは書き込めないような低レベルな質問、
質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。
内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。
なお、テンプレが読めない回答者、議論をしたいだけの人は邪魔なので後述のC#相談室に移動して下さい。
C#に関係の無い話題や荒らしの相手や罵倒レスはやめてください
>>980を踏んだ人は新スレを建てて下さい。
>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。
■関連スレ
C#, C♯, C#相談室 Part93
https://mevius.5ch.net/test/read.cgi/tech/1492818720/
■前スレ
ふらっと C#,C♯,C#(初心者用) Part139
https://mevius.5ch.net/test/read.cgi/tech/1538646998/
■コードを貼る場合は↓を使いましょう。
http://ideone.com/
https://dotnetfiddle.net/
■情報源
https://msdn.microsoft.com/ja-jp/library/gg145045.aspx
https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/index
https://msdn.microsoft.com/en-us/library/gg145045.aspx
http://referencesource.microsoft.com/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured
探検
ふらっと C#,C♯,C#(初心者用) Part141
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ 2317-qMUn)
2018/12/15(土) 11:07:07.89ID:0aSEF/I+0155デフォルトの名無しさん (アウアウエー Sa13-pYn4)
2018/12/26(水) 12:39:12.50ID:UFWOb61Ja156デフォルトの名無しさん (ワッチョイ 35eb-hpOi)
2018/12/26(水) 19:06:58.35ID:Dcs5aUpT0 Windowsフォームアプリケーションで、
「ボタン上をドラッグしてる間(左クリック押下中、かつボタン上にカーソルがある時)」に音を鳴らしたいんだけど
Button1.MouseDownで再生、Mouseupで停止させるまでは出来ても
MouseLeaveに停止処理書いて、クリックしたままボタンからカーソル外したときには音がなり続けてしまいます
どういう記述がいいんでしょうか?
「ボタン上をドラッグしてる間(左クリック押下中、かつボタン上にカーソルがある時)」に音を鳴らしたいんだけど
Button1.MouseDownで再生、Mouseupで停止させるまでは出来ても
MouseLeaveに停止処理書いて、クリックしたままボタンからカーソル外したときには音がなり続けてしまいます
どういう記述がいいんでしょうか?
157デフォルトの名無しさん (ワッチョイ 459a-9nMG)
2018/12/26(水) 20:13:17.23ID:/gJf0JvK0 >>156
クリックしたままだとMouseLeaveが動かないみたいだな
https://ideone.com/c67R3i
これは音を鳴らす代わりにフォームのタイトルにMouse On/Offと表示する
MouseDownとMouseMoveでカーソルの場所を見てボタンの範囲外だと無条件でOffにする
イベントとしてのMouseLeaveは外せそうな気がするしフラグ作ってもっと作りこめると思うけど面倒だからここまで
クリックしたままだとMouseLeaveが動かないみたいだな
https://ideone.com/c67R3i
これは音を鳴らす代わりにフォームのタイトルにMouse On/Offと表示する
MouseDownとMouseMoveでカーソルの場所を見てボタンの範囲外だと無条件でOffにする
イベントとしてのMouseLeaveは外せそうな気がするしフラグ作ってもっと作りこめると思うけど面倒だからここまで
158156 (ワッチョイ 6deb-hpOi)
2018/12/26(水) 21:13:57.82ID:0HU+mpFl0 ありがとうございます!
入門したて故コード読んでも理解できないけど、丸写しからの改変で勉強しながらやってみます
入門したて故コード読んでも理解できないけど、丸写しからの改変で勉強しながらやってみます
159デフォルトの名無しさん (アウアウエー Sa13-pYn4)
2018/12/26(水) 21:40:59.20ID:sOj8GKWaa160デフォルトの名無しさん (ワッチョイ f9da-ikDe)
2019/01/03(木) 03:05:05.68ID:2jZ78iU60 dotnet new webapp コマンドでプロジェクト生成した時に Controllers も Models も Views も作られないので、ちょっと面食らっています。
ASP.NET Core で Razor Page を使ったアプリを作る際は、ASP.NET でいう Controllers と Models に該当するフォルダはどこに作ったらいいんでしょうか?
特にビジネスロジック部分はどこにまとめるのがいいのでしょうか?
ASP.NET Core で Razor Page を使ったアプリを作る際は、ASP.NET でいう Controllers と Models に該当するフォルダはどこに作ったらいいんでしょうか?
特にビジネスロジック部分はどこにまとめるのがいいのでしょうか?
161デフォルトの名無しさん (アウアウエー Sae3-xhm2)
2019/01/03(木) 05:32:43.60ID:ZmWGvR5ia splitcontainerのpanel1に30個程度のボタンを設置し、それらは一つのイベントハンドラにまとめてて
押したボタンの色を変えるということをしようとしています
splitContainer1.Panel1.Controls[●].backColor = Color.Red ;
●の位置に入る数字はどのボタンと対応しているかがイマイチわかりません。
タブインデックスの数値とは別のようですし、どの数値の事を言っているのでしょうか。
押したボタンの色を変えるということをしようとしています
splitContainer1.Panel1.Controls[●].backColor = Color.Red ;
●の位置に入る数字はどのボタンと対応しているかがイマイチわかりません。
タブインデックスの数値とは別のようですし、どの数値の事を言っているのでしょうか。
162デフォルトの名無しさん (ワッチョイ f9da-ikDe)
2019/01/03(木) 06:22:31.48ID:2jZ78iU60 >>161
期待通りの回答じゃないかもしれないけど、これでもいいんでは?
protected void button_Click(object sender, EventArgs e)
{
((Button)sender).BackColor = Coler.Red;
}
期待通りの回答じゃないかもしれないけど、これでもいいんでは?
protected void button_Click(object sender, EventArgs e)
{
((Button)sender).BackColor = Coler.Red;
}
163デフォルトの名無しさん (ワッチョイ 69ad-wlHu)
2019/01/03(木) 09:33:34.04ID:mzbwP5/d0 >>160
dotnet new
dotnet new
164デフォルトの名無しさん (ワッチョイ 1901-ahzL)
2019/01/03(木) 09:49:03.47ID:92o1UEKg0165デフォルトの名無しさん (ワッチョイ 1301-aNo7)
2019/01/06(日) 07:48:04.81ID:ys0B5FJg0 >>148
遅い原因は
>string input = Console.ReadLine();
じゃね?
ユーザーが全文字入力するのをぼんやり待ってないで
1文字でも入力された時点でその桁に関する処理を開始しとかないと
遅い原因は
>string input = Console.ReadLine();
じゃね?
ユーザーが全文字入力するのをぼんやり待ってないで
1文字でも入力された時点でその桁に関する処理を開始しとかないと
166デフォルトの名無しさん (ワッチョイ 8b7b-wnDr)
2019/01/06(日) 10:33:12.47ID:ijGp0fE40167デフォルトの名無しさん (ワッチョイ 5142-xhm2)
2019/01/06(日) 10:50:54.92ID:SZQOw9ve0168デフォルトの名無しさん (ブーイモ MM8d-ZBCD)
2019/01/06(日) 13:46:05.21ID:s+NsL/70M >>165てネタじゃなかったのか?
169デフォルトの名無しさん (ラクッペ MMe5-U0tG)
2019/01/06(日) 15:10:03.44ID:yoKg5XOLM 何でもかんでもまずネタだと考えるのやめた方がいいですぞ
170デフォルトの名無しさん (ワッチョイ 332d-ikDe)
2019/01/06(日) 16:43:50.05ID:Dx0jhieJ0 ASP.NET Coreを使う練習してるんだけどさあ
実機で動かしてみるに当たって、手元のVisualStudioやVSCodeからLAN上にあるサーバ(Ubuntu)に配置して実行するまでって結構面倒に感じてしまう・・・・
これってなにかVisualStudioに配置実行を楽にする手段があるのかな?
それとも楽をしたければJenkinsかなにか勉強しなきゃあかんのかな・・・・
実機で動かしてみるに当たって、手元のVisualStudioやVSCodeからLAN上にあるサーバ(Ubuntu)に配置して実行するまでって結構面倒に感じてしまう・・・・
これってなにかVisualStudioに配置実行を楽にする手段があるのかな?
それとも楽をしたければJenkinsかなにか勉強しなきゃあかんのかな・・・・
171デフォルトの名無しさん (ワッチョイ 7b7d-vmFk)
2019/01/06(日) 16:54:31.32ID:YMMAI1S40 今はどんな手順でやってるん?
172デフォルトの名無しさん (ワッチョイ 332d-ikDe)
2019/01/06(日) 18:18:02.00ID:Dx0jhieJ0 今のところ、「手元でビルド→SCPコマンドで転送→SSHで実行」みたいにしてるんだけど・・・・やっぱもっといい方法あるよな
173デフォルトの名無しさん (ワッチョイ 9168-RM76)
2019/01/06(日) 18:22:43.98ID:SgRztK6B0 LINQの質問です
list1とlist2はList<int>型だとして
foreach(var value1 in list1) {
foreach(var value2 in list2) {
Console.WriteLine(value1 * value2);
}
}
これと同じことをLINQを使ってやるとしたらどう書けばいいですか?
Zipを使ってみたのですが同じインデックス同士しか掛け合わせてくれませんでした
list1とlist2はList<int>型だとして
foreach(var value1 in list1) {
foreach(var value2 in list2) {
Console.WriteLine(value1 * value2);
}
}
これと同じことをLINQを使ってやるとしたらどう書けばいいですか?
Zipを使ってみたのですが同じインデックス同士しか掛け合わせてくれませんでした
174デフォルトの名無しさん (ワッチョイ 9963-TKWx)
2019/01/06(日) 20:09:56.59ID:NF88G39c0 linqでブロードキャストできたっけ?
175デフォルトの名無しさん (アウアウウー Sa9d-Y2fC)
2019/01/06(日) 20:11:35.37ID:YeoWOZf6a >>173
メソッド構文ならSelectManyを使う
foreach (var v in list1.SelectMany(v1 => list2, (v1, v2) => v1 * v2))
{
Console.WriteLine(v);
}
この場合はクエリ構文の方が分かりやすいかも
var q = from v1 in list1
from v2 in list2
select v1 * v2;
foreach (var v in q)
{
Console.WriteLine(v);
}
メソッド構文ならSelectManyを使う
foreach (var v in list1.SelectMany(v1 => list2, (v1, v2) => v1 * v2))
{
Console.WriteLine(v);
}
この場合はクエリ構文の方が分かりやすいかも
var q = from v1 in list1
from v2 in list2
select v1 * v2;
foreach (var v in q)
{
Console.WriteLine(v);
}
176デフォルトの名無しさん (ワッチョイ 9963-TKWx)
2019/01/06(日) 20:13:20.52ID:NF88G39c0177デフォルトの名無しさん (ブーイモ MM8d-ahzL)
2019/01/06(日) 21:11:45.37ID:iQ1zVEqTM178デフォルトの名無しさん (ブーイモ MM8d-ahzL)
2019/01/06(日) 21:17:12.87ID:iQ1zVEqTM >>176
今時ConvertAllとか紹介してるゴミサイトはさっさと閉鎖すべき
今時ConvertAllとか紹介してるゴミサイトはさっさと閉鎖すべき
179デフォルトの名無しさん (ワッチョイ 9963-TKWx)
2019/01/07(月) 00:48:07.98ID:voJmrOTp0 >>178
今だと何がベスト?
今だと何がベスト?
180デフォルトの名無しさん (ワッチョイ 9168-RM76)
2019/01/07(月) 09:13:26.65ID:yGBdcOaa0181デフォルトの名無しさん (ワッチョイ 9101-aNo7)
2019/01/07(月) 09:34:56.37ID:z57KVTQ70 >>166
考え方としては、例えば「3」が入力された時点で
次の入力結果は「3」か「30」〜「39」しかありえないから
11通りの2進数表示を用意しておいて次のキーが押されたらそこで合うものを選んで表示する
どんなに10進数の入力桁数が増えても毎回11通り用意すればいいのは一緒なのと
10進数が1桁増えるときに2進数表示で最後の4桁以外の文字列は使い回せるから文字列連結処理は多少減らせる
この処理がユーザーのキー入力速度より早くCPUが処理できれば多少意味がある程度だろうけど
考え方としては、例えば「3」が入力された時点で
次の入力結果は「3」か「30」〜「39」しかありえないから
11通りの2進数表示を用意しておいて次のキーが押されたらそこで合うものを選んで表示する
どんなに10進数の入力桁数が増えても毎回11通り用意すればいいのは一緒なのと
10進数が1桁増えるときに2進数表示で最後の4桁以外の文字列は使い回せるから文字列連結処理は多少減らせる
この処理がユーザーのキー入力速度より早くCPUが処理できれば多少意味がある程度だろうけど
182デフォルトの名無しさん (アウアウエー Sae3-ahzL)
2019/01/07(月) 10:20:00.74ID:e8LT8JMZa183デフォルトの名無しさん (ブーイモ MM33-ahzL)
2019/01/07(月) 10:28:19.23ID:3j9bnJUUM >>181について更にツッコむと、1文字ずつ処理するなら単に入力されたキーの値を普通に反映させていけばよい
わざわざ候補を事前に用意してGCに負担をかける意味は全く無い
わざわざ候補を事前に用意してGCに負担をかける意味は全く無い
184デフォルトの名無しさん (アウアウウー Sa9d-JBiS)
2019/01/07(月) 15:22:57.85ID:Nhl1xZLpa チラシを見てキャベツが1円安いからと電車賃300円払って遠くのスーパーまで買いに行くような無駄な努力に思える。
185デフォルトの名無しさん (ワッチョイ 7b7d-vmFk)
2019/01/07(月) 19:03:54.28ID:RNZAQQS50 ネタを元にボケてるだけかと思ったら
186デフォルトの名無しさん (ワッチョイ d348-xhm2)
2019/01/07(月) 19:56:07.52ID:ukOyD8nn0 Json.NETを使ったデシリアライズについて教えてください。
以下のようなJsonファイルを読み込んで、リストにデシリアライズをしたいです。
[
{
"email": "foo.example.com",
"active": true,
},
{
"email": "bar.example.com",
"active": false,
}
]
しかし、デシリアライズ時に、オブジェクトが2つ以上会い場合に例外が発生します。
using ( var sr = new StreamReader( @".\accounts.json" ) )
{
var accounts = JsonConvert.DeserializeObject<List<Account>>( sr.ReadToEnd() );
}
例外
Newtonsoft.Json.JsonSerializationException
エラーの原因はわかるのですが、解決策が思いつきません。
よろしくお願いします。
以下のようなJsonファイルを読み込んで、リストにデシリアライズをしたいです。
[
{
"email": "foo.example.com",
"active": true,
},
{
"email": "bar.example.com",
"active": false,
}
]
しかし、デシリアライズ時に、オブジェクトが2つ以上会い場合に例外が発生します。
using ( var sr = new StreamReader( @".\accounts.json" ) )
{
var accounts = JsonConvert.DeserializeObject<List<Account>>( sr.ReadToEnd() );
}
例外
Newtonsoft.Json.JsonSerializationException
エラーの原因はわかるのですが、解決策が思いつきません。
よろしくお願いします。
187デフォルトの名無しさん (ワッチョイ 7b7d-vmFk)
2019/01/07(月) 20:12:15.21ID:RNZAQQS50 デシリアライズではまる前に
オブジェクトをシリアライズして、どういうjsonが出来るか確認することを勧める
オブジェクトをシリアライズして、どういうjsonが出来るか確認することを勧める
188デフォルトの名無しさん (ワッチョイ d348-xhm2)
2019/01/07(月) 20:34:39.02ID:ukOyD8nn0189デフォルトの名無しさん (ワッチョイ 9963-TKWx)
2019/01/07(月) 20:52:50.47ID:voJmrOTp0 parser通さずに自力解析した方が早そうw
190デフォルトの名無しさん (ワッチョイ 99d2-tvdn)
2019/01/07(月) 21:41:14.56ID:EmaCRb9M0 >>186
うちの環境ではそのままで読み込めた。w
ああ、json ファイルのパスや、クラスをフルパスで書くように直したりはしたけど。
あと List<Account> を Account[] に変えてみても動作した。
json パーサは Newtonsoft.Json でいいんだよね?
ひょっとして json ファイルの文字コードや改行コードの問題だったりして。VS2017 で試した。
うちの環境ではそのままで読み込めた。w
ああ、json ファイルのパスや、クラスをフルパスで書くように直したりはしたけど。
あと List<Account> を Account[] に変えてみても動作した。
json パーサは Newtonsoft.Json でいいんだよね?
ひょっとして json ファイルの文字コードや改行コードの問題だったりして。VS2017 で試した。
191デフォルトの名無しさん (ワッチョイ 7b7d-vmFk)
2019/01/07(月) 22:00:13.12ID:RNZAQQS50 まあ結論としては只の配列よねw
List<>が勝手に出てくる訳もなく
List<>が勝手に出てくる訳もなく
192デフォルトの名無しさん (ワッチョイ 5161-RM76)
2019/01/07(月) 22:27:36.78ID:LR2ZtPQc0193デフォルトの名無しさん (ブーイモ MM8d-ZBCD)
2019/01/07(月) 22:49:30.37ID:ZGeLga+2M BCD?
194デフォルトの名無しさん (アウアウエー Sae3-ahzL)
2019/01/07(月) 23:07:28.05ID:7iifCEQOa195デフォルトの名無しさん (ワッチョイ c17b-lUsO)
2019/01/07(月) 23:26:43.60ID:PUyuVhSj0 >>192
単純に勘違いだろ。16進数から2進数への変換なら成立するけど
例えば251と256の2進数の下4桁が違うのはすぐわかる
質問引っ張るのもまずいけど元の質問者もフィードバックくらいしてほしいな
単純に勘違いだろ。16進数から2進数への変換なら成立するけど
例えば251と256の2進数の下4桁が違うのはすぐわかる
質問引っ張るのもまずいけど元の質問者もフィードバックくらいしてほしいな
196デフォルトの名無しさん (ワッチョイ 7b7d-vmFk)
2019/01/07(月) 23:45:26.56ID:RNZAQQS50 json.netはList指定いけたわ
低速過ぎて最近使ってなかった
失礼した
低速過ぎて最近使ってなかった
失礼した
197デフォルトの名無しさん (ワッチョイ a994-mHCk)
2019/01/08(火) 01:42:19.06ID:+TBsMqqs0 9時と13時に定期的に作業を実行させたいので、タイマーを使ってプログラムを書きました。
似た部分が多いのでタイマー自体を配列化したのですが、「動作を停止しました」とエラーが出て動きませんでした。
タイマーの配列化って無理なんでしょうか?
System.Windows.Forms.Timer[] timerOnce = new System.Windows.Forms.Timer[2];
public GetControlsList()
{
myTimerOnce(timerOnce[0], "9:00");
timerOnce[0].Tick += new EventHandler(timerOnce_Tick);
}
// 指定時刻までの時間を計算して、Intarvalにセット
private void myTimerOnce(System.Windows.Forms.Timer thisTimer, string setTime)
{
//現在の時刻から、ターゲット時刻までのインターバルを算出
TimeSpan mySpan = DateTime.Parse(DateTime.Now.ToString("yyyy/MM/dd ") + setTime) - DateTime.Now;
int sleepSec = (int)mySpan.TotalMilliseconds;
thisTimer.Enabled = true;// タイマ ON
thisTimer.Interval = sleepSec; // 更新間隔
}
// 指定時刻になったらmethodを実行
void timerOnce_Tick(object sender, EventArgs e)
{
//実行したいメソッド
}
似た部分が多いのでタイマー自体を配列化したのですが、「動作を停止しました」とエラーが出て動きませんでした。
タイマーの配列化って無理なんでしょうか?
System.Windows.Forms.Timer[] timerOnce = new System.Windows.Forms.Timer[2];
public GetControlsList()
{
myTimerOnce(timerOnce[0], "9:00");
timerOnce[0].Tick += new EventHandler(timerOnce_Tick);
}
// 指定時刻までの時間を計算して、Intarvalにセット
private void myTimerOnce(System.Windows.Forms.Timer thisTimer, string setTime)
{
//現在の時刻から、ターゲット時刻までのインターバルを算出
TimeSpan mySpan = DateTime.Parse(DateTime.Now.ToString("yyyy/MM/dd ") + setTime) - DateTime.Now;
int sleepSec = (int)mySpan.TotalMilliseconds;
thisTimer.Enabled = true;// タイマ ON
thisTimer.Interval = sleepSec; // 更新間隔
}
// 指定時刻になったらmethodを実行
void timerOnce_Tick(object sender, EventArgs e)
{
//実行したいメソッド
}
198デフォルトの名無しさん (ワッチョイ d348-xhm2)
2019/01/08(火) 06:44:44.69ID:dT41V3TC0 アドバイス頂いた通りシリアライズを見直したところ解決しました。
var account = new Account { Email = "hogehoge.example.com", Active = true, };
using ( StreamWriter sw = File.CreateText( @".\accounts.json" ) )
{
var jw = new JsonTextWriter( sw ) { Formatting = Formatting.Indented };
new JsonSerializer().Serialize( jw, account );
}
このように書いていたので、accountをリストに変換してから行うようにしました。
new JsonSerializer().Serialize( jw, new List<Account> { account } );
レスくれた皆さん、ありがとうございます。
こちらもVS2017なのできっと文法違いが原因です。
Json形式を勉強し直します。
var account = new Account { Email = "hogehoge.example.com", Active = true, };
using ( StreamWriter sw = File.CreateText( @".\accounts.json" ) )
{
var jw = new JsonTextWriter( sw ) { Formatting = Formatting.Indented };
new JsonSerializer().Serialize( jw, account );
}
このように書いていたので、accountをリストに変換してから行うようにしました。
new JsonSerializer().Serialize( jw, new List<Account> { account } );
レスくれた皆さん、ありがとうございます。
こちらもVS2017なのできっと文法違いが原因です。
Json形式を勉強し直します。
199デフォルトの名無しさん (アウアウエー Sae3-ahzL)
2019/01/08(火) 08:12:51.74ID:mtJIt88ca >>197
そもそもWinFormsのタイマーは精度や信頼性がとても低く、時間の計測に使ってはいけない
あくまで「時々処理をさせたい」だけのときに使うもの
あなたのケースならタスクスケジューラを使うのが定石です
そもそもWinFormsのタイマーは精度や信頼性がとても低く、時間の計測に使ってはいけない
あくまで「時々処理をさせたい」だけのときに使うもの
あなたのケースならタスクスケジューラを使うのが定石です
200デフォルトの名無しさん (ラクッペ MMe5-U0tG)
2019/01/08(火) 09:49:22.14ID:Sw3FA19SM >>197
配列をnewしただけで中身のTimerをnewしてないからじゃないの
配列をnewしただけで中身のTimerをnewしてないからじゃないの
201デフォルトの名無しさん (ラクッペ MMe5-U0tG)
2019/01/08(火) 09:53:57.24ID:Sw3FA19SM まずデバッグ実行することを覚えた方がいい気がしないでもない
202デフォルトの名無しさん (ワッチョイ a994-mHCk)
2019/01/08(火) 12:12:53.32ID:+TBsMqqs0203デフォルトの名無しさん (ワッチョイ 8901-gZzt)
2019/01/09(水) 07:23:03.10ID:fI4baLQf0 本当に初心者質問ですが、ライブラリはimportとnamespaceから書いていくのと、どちらが良いのでしょうか
もしくは使い分けがあるのでしょうか
もしくは使い分けがあるのでしょうか
204デフォルトの名無しさん (スッップ Sd33-wlHu)
2019/01/09(水) 07:48:48.51ID:c4aAB3Aqd >>203
ここC#スレやで
ここC#スレやで
205デフォルトの名無しさん (ワッチョイ 8901-gZzt)
2019/01/09(水) 12:18:51.14ID:fI4baLQf0 >>204
C#はusingですけどスコープ内でオブジェクト破棄する機能もusingと呼称してるので混乱しないようにimportと表現しました
なんで2つの記述方法を許しているのか、何か意味があるのか気になりまして
C#はusingですけどスコープ内でオブジェクト破棄する機能もusingと呼称してるので混乱しないようにimportと表現しました
なんで2つの記述方法を許しているのか、何か意味があるのか気になりまして
206デフォルトの名無しさん (スッップ Sd33-wlHu)
2019/01/09(水) 12:21:16.40ID:c4aAB3Aqd207デフォルトの名無しさん (スッップ Sd33-wlHu)
2019/01/09(水) 12:21:41.32ID:c4aAB3Aqd C#というかMSBuildだけど
208デフォルトの名無しさん (ワッチョイ 69e3-RM76)
2019/01/09(水) 14:41:58.83ID:2h2JyjUc0209デフォルトの名無しさん (ドコグロ MM63-3T74)
2019/01/09(水) 14:52:14.20ID:TKkGGOqYM >>208
MediaのcolorとDrawingのcolorが混在してるときはぶっ潰したくなる
MediaのcolorとDrawingのcolorが混在してるときはぶっ潰したくなる
210デフォルトの名無しさん (ドコグロ MM63-3T74)
2019/01/09(水) 14:55:45.81ID:TKkGGOqYM pathってファイルパスじゃなくて
曲線かよ死ねよとか
省略形でも違いがあったほうが絶対いい
曲線かよ死ねよとか
省略形でも違いがあったほうが絶対いい
211デフォルトの名無しさん (ワッチョイ 917b-6YBr)
2019/01/09(水) 19:11:30.62ID:5txyXp0A0 >>203
https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/keywords/using-directive
usingでググればここに理由も呼び分け方(using ディレクティブ)も出ている
一般的な呼び名を使わないと調べることすらできなくなるよ
https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/keywords/using-directive
usingでググればここに理由も呼び分け方(using ディレクティブ)も出ている
一般的な呼び名を使わないと調べることすらできなくなるよ
212デフォルトの名無しさん (オッペケ Sr85-DIji)
2019/01/10(木) 13:13:55.78ID:lMztlpGar >>209
そういうの他にもある
そういうの他にもある
213デフォルトの名無しさん (アウアウウー Sa89-xTYM)
2019/01/10(木) 20:09:22.40ID:9xQ4gBbQa P/InvokeやCOM相互運用を書くときに
System.Runtime.InteropServices.ComTypes以下の構造体やインターフェースを使う時があるんだけど
System.Runtime.InteropServices以下に同名の物があるから、大体の場合で完全修飾かusing alias directiveが必要になって面倒なんだよなあ
.Net1.1時代の後方互換性のためにObsolete付きで残してあるんだろうけど邪魔で仕方がない
System.Runtime.InteropServices.ComTypes以下の構造体やインターフェースを使う時があるんだけど
System.Runtime.InteropServices以下に同名の物があるから、大体の場合で完全修飾かusing alias directiveが必要になって面倒なんだよなあ
.Net1.1時代の後方互換性のためにObsolete付きで残してあるんだろうけど邪魔で仕方がない
214デフォルトの名無しさん (エアペラ SDe2-42Wh)
2019/01/11(金) 12:39:13.44ID:qc15f1nfD215デフォルトの名無しさん (ワッチョイ 557b-5zJT)
2019/01/11(金) 12:57:28.29ID:RbVY6SmB0216デフォルトの名無しさん (ワッチョイ a57c-Iup+)
2019/01/11(金) 13:29:58.48ID:5RUmP2fm0 スレ間違えたことを嘘に嘘を塗り固めるのは朝鮮人の始まり
217デフォルトの名無しさん (ワッチョイ a161-Fjw0)
2019/01/11(金) 14:37:44.48ID:225AU0sE0 ちょっと教えろください。
int型変数二つの足し算でオーバーフローするかどうかチェックしたいのですが、
@decimalにキャストして足し算した結果がintの範囲に収まっているかif文で判断
Atry catchで例外をつかまえる
どっちがいいのでしょう?
int型変数二つの足し算でオーバーフローするかどうかチェックしたいのですが、
@decimalにキャストして足し算した結果がintの範囲に収まっているかif文で判断
Atry catchで例外をつかまえる
どっちがいいのでしょう?
218デフォルトの名無しさん (ブーイモ MM71-oec2)
2019/01/11(金) 14:40:44.08ID:86XGb19RM >>217
Bdecimalではなくlongにキャストして足し算した結果がintの範囲に収まっているか判断
Bdecimalではなくlongにキャストして足し算した結果がintの範囲に収まっているか判断
219デフォルトの名無しさん (ワッチョイ aa08-8shN)
2019/01/11(金) 15:54:41.82ID:r18fheRy0220203 (ワッチョイ dd01-42Wh)
2019/01/11(金) 17:49:49.09ID:1orv+xc30 俺がjavaerという事がバレちまったらしょうがねえ
なんだよusingってよ
vb如きだってjavaリスペクトしてんぞ
なんだよusingってよ
vb如きだってjavaリスペクトしてんぞ
221デフォルトの名無しさん (アウアウエー Sa22-j/vx)
2019/01/11(金) 18:29:52.22ID:KWycMyC0a222デフォルトの名無しさん (ドコグロ MM9d-QFwb)
2019/01/11(金) 18:33:43.65ID:KnmjjSvJM ラップアラウンドとサチュレーションって学生のときに聞いたのが最後だ
223デフォルトの名無しさん (ワッチョイ 7a01-ae4N)
2019/01/11(金) 18:40:14.66ID:fFtOgUz40 すみません、初めて見る構造体が出て来たのですが
[StructLayout(LayoutKind.Sequential)]
struct INITCOMMONCONTROLSEX
{
public int dwSize;
public uint dwICC;
}
これは何構造体と読むのですか?
[StructLayout(LayoutKind.Sequential)]
struct INITCOMMONCONTROLSEX
{
public int dwSize;
public uint dwICC;
}
これは何構造体と読むのですか?
224デフォルトの名無しさん (ブーイモ MM9a-kZrb)
2019/01/11(金) 18:45:24.19ID:1+lzGhU1M つまらん!
お前の話はつまらん!
お前の話はつまらん!
225デフォルトの名無しさん (ワッチョイ d67b-92yO)
2019/01/11(金) 18:46:13.28ID:eF6moy/g0 >>223
https://ufcpp.net/study/csharp/interop/memorylayout/
>Sequentialレイアウトでは、複合型のフィールドは宣言した順序通りにレイアウトされます。
https://ufcpp.net/study/csharp/interop/memorylayout/
>Sequentialレイアウトでは、複合型のフィールドは宣言した順序通りにレイアウトされます。
226デフォルトの名無しさん (ブーイモ MM9a-kZrb)
2019/01/11(金) 18:49:12.65ID:1+lzGhU1M イニシャライズコモンコントロールズイーエックス構造体
227デフォルトの名無しさん (アウアウウー Sa89-xTYM)
2019/01/11(金) 18:51:24.03ID:zVvjOIcHa >>223
構造体名で検索したらInitCommonControlsEx関数が出てくるじゃろ
構造体名で検索したらInitCommonControlsEx関数が出てくるじゃろ
228デフォルトの名無しさん (ワッチョイ 867d-Fjw0)
2019/01/12(土) 00:09:08.43ID:iaJ8ArIE0 VS2017でC#のプログラムを組んでます。
はじめてVS2017を使うのですが、画面の下に
準備完了 ↑ソース管理に追加
という邪魔なバーが表示されてます。
VS2010にはありませんでした。目障りなのでこれを消したいのですが何か方法はありますか?
はじめてVS2017を使うのですが、画面の下に
準備完了 ↑ソース管理に追加
という邪魔なバーが表示されてます。
VS2010にはありませんでした。目障りなのでこれを消したいのですが何か方法はありますか?
229デフォルトの名無しさん (ワッチョイ 4a32-kZrb)
2019/01/12(土) 00:20:55.22ID:Fl9Ups4U0 >>228
ツール->オプション、環境->全般、ステータス バーを表示するのチェックを外す
ツール->オプション、環境->全般、ステータス バーを表示するのチェックを外す
230デフォルトの名無しさん (ワッチョイ 867d-Fjw0)
2019/01/12(土) 00:21:44.23ID:iaJ8ArIE0 >>229
ありがとうございます!!目障りだったんですよね。
ありがとうございます!!目障りだったんですよね。
231デフォルトの名無しさん (ワッチョイ a161-QFwb)
2019/01/12(土) 01:04:45.40ID:CChJ5ept0 色々迷ったけど
オートフォーマットはOFFにした
オートフォーマットはOFFにした
232デフォルトの名無しさん (ワッチョイ 55da-RNo8)
2019/01/12(土) 03:22:33.67ID:S1bCJ3S10 例外処理(に限らず、エラー処理)ってどこまで徹底して行うべきなんでしょうか?
下みたいに、使うインスタンス片っ端から毎回nullチェックとかしてたら、凄まじいコード量になるんですが・・・・・
if(obj == null)
{
return msg;
}
下みたいに、使うインスタンス片っ端から毎回nullチェックとかしてたら、凄まじいコード量になるんですが・・・・・
if(obj == null)
{
return msg;
}
233デフォルトの名無しさん (アウアウエー Sa22-j/vx)
2019/01/12(土) 03:53:00.80ID:ejfouP+Ya >>232
さあ。
でもバグと例外は区別した方がいいんじゃないか。
そのコードは多分バグを想定してるんだよね?
絶対にとは言い切れないが、バグを想定してそれを検出するifは書かないのが普通じゃないか
いやライブラリみたいなものを作ってるならバグを想定して例外を投げるのは普通だけど
さあ。
でもバグと例外は区別した方がいいんじゃないか。
そのコードは多分バグを想定してるんだよね?
絶対にとは言い切れないが、バグを想定してそれを検出するifは書かないのが普通じゃないか
いやライブラリみたいなものを作ってるならバグを想定して例外を投げるのは普通だけど
234デフォルトの名無しさん (アウアウエー Sa22-j/vx)
2019/01/12(土) 03:58:46.63ID:ejfouP+Ya 最後の行は引数のチェックの話ね
235デフォルトの名無しさん (ワッチョイ 8e7d-DANP)
2019/01/12(土) 04:03:08.28ID:2xT9w9620 return msg
してるから まず例外をちゃんと使えてないんじゃ疑惑
してるから まず例外をちゃんと使えてないんじゃ疑惑
236デフォルトの名無しさん (ワッチョイ dd01-trTt)
2019/01/12(土) 04:04:51.50ID:DC6KrvaN0 デザインパターンでnullオブジェクトパターンみたいの参考にするのは?
237デフォルトの名無しさん (ワッチョイ dd01-trTt)
2019/01/12(土) 04:12:05.96ID:DC6KrvaN0 nullが入るケースがあることを想定している場合にnullチェックを全部書くのがめんどいならnullオブジェクトパターン適用すればいいし
本来はnullが入ってたらおかしいケースならエラーを起こして拾わせるのが正しい構造って回答でいいのかな?
本来はnullが入ってたらおかしいケースならエラーを起こして拾わせるのが正しい構造って回答でいいのかな?
238デフォルトの名無しさん (ワッチョイ 8e7d-DANP)
2019/01/12(土) 04:17:50.15ID:2xT9w9620 ・nullが来ない想定ならチェック不要
・nullケース考慮したくないならnullオブジェクトパターン
・null来た場合にぬるり以外で知らせるならチェックする
・nullのネスト面倒ならnull条件演算子
こんな感じやろか
null非許容参照型使うという手もあるが
・nullケース考慮したくないならnullオブジェクトパターン
・null来た場合にぬるり以外で知らせるならチェックする
・nullのネスト面倒ならnull条件演算子
こんな感じやろか
null非許容参照型使うという手もあるが
239デフォルトの名無しさん (ワッチョイ 7aad-RNo8)
2019/01/12(土) 08:05:30.51ID:VHzQIvd20 読んでる入門書のLINQとラムダうんたらってのが分からなくて
手がstopしてしまっているのですが入門者向けに分かりやすく解説されてるページなど教えていただけないでしょうか?
メソッドの使い方はある程度分かったのですがそれじゃ駄目なんすかね…
手がstopしてしまっているのですが入門者向けに分かりやすく解説されてるページなど教えていただけないでしょうか?
メソッドの使い方はある程度分かったのですがそれじゃ駄目なんすかね…
240デフォルトの名無しさん (ワッチョイ a161-Fjw0)
2019/01/12(土) 08:39:26.90ID:0dPYYJK00 >>239
LINQやらラムダ使えなくても動くものはつくれるからまぁまずは作ってみよう
LINQやらラムダ使えなくても動くものはつくれるからまぁまずは作ってみよう
241デフォルトの名無しさん (ワッチョイ 867d-Fjw0)
2019/01/12(土) 10:13:12.90ID:iaJ8ArIE0 最近は、自分でプログラム組まずにランサーズでハイスキルな奴に外注してるわw
中抜きでうま〜〜〜
中抜きでうま〜〜〜
242デフォルトの名無しさん (アウアウウー Sa89-gnS9)
2019/01/12(土) 10:35:45.31ID:e9xF8Gpoa >>232
チームの方針次第
うちの場合は
nullを許可しない引数と返り値は基本的に全てチェックして例外を投げてる
めんどくさいと思うかもしれないがFluentAssertionのようなライブラリを使えばそこまで大きな負担にはならない
nullオブジェクトパターンはやればわかるがチェックするよりも手間がかかる
また必ずしもnullの場合の適切な動作を定められるとは限らない
適切でない場合にパターンを適用するとそれがnullオブジェクトかどうかチェックするといった本末転倒なことになりかねない
なのでこれが最も適切と確実に判断できる場合を除いて使用しない
C# 8.0が待ち遠しいね
チームの方針次第
うちの場合は
nullを許可しない引数と返り値は基本的に全てチェックして例外を投げてる
めんどくさいと思うかもしれないがFluentAssertionのようなライブラリを使えばそこまで大きな負担にはならない
nullオブジェクトパターンはやればわかるがチェックするよりも手間がかかる
また必ずしもnullの場合の適切な動作を定められるとは限らない
適切でない場合にパターンを適用するとそれがnullオブジェクトかどうかチェックするといった本末転倒なことになりかねない
なのでこれが最も適切と確実に判断できる場合を除いて使用しない
C# 8.0が待ち遠しいね
243デフォルトの名無しさん (ワッチョイ a161-QFwb)
2019/01/12(土) 10:44:33.52ID:CChJ5ept0 >>232
仕様と設計で解決する問題
エラーが出たときどうしたいの?
エラー出たときに別に原因とかわからんでええなら一連の処理をtrycatchで囲ったらええやん
なんか起きたらcatchに入ってくるで
仕様と設計で解決する問題
エラーが出たときどうしたいの?
エラー出たときに別に原因とかわからんでええなら一連の処理をtrycatchで囲ったらええやん
なんか起きたらcatchに入ってくるで
244デフォルトの名無しさん (ワッチョイ a5d2-SD/a)
2019/01/12(土) 17:18:08.40ID:XDHakXaX0245デフォルトの名無しさん (ワッチョイ 867d-Fjw0)
2019/01/12(土) 17:23:52.90ID:iaJ8ArIE0 昔は開発現場でこっそりExcel型の2chブラウザでネットサーフィンばかりしてたな〜
座ってるだけで月70万むっちゃらくやった
座ってるだけで月70万むっちゃらくやった
246デフォルトの名無しさん (ワッチョイ d6a7-VK1S)
2019/01/13(日) 00:23:58.00ID:X0+RFgX60 >>239
駆け出し時代オープンソース改造してた時にLINQはパフォーマンス悪いと思って見つけ次第foreachに手直しするという逆工程でLINQとラムダ式マスターした
駆け出し時代オープンソース改造してた時にLINQはパフォーマンス悪いと思って見つけ次第foreachに手直しするという逆工程でLINQとラムダ式マスターした
247デフォルトの名無しさん (ササクッテロ Sp85-aawd)
2019/01/13(日) 00:46:53.42ID:IIPQpabmp 使えば勝手にlinqの快感にハマって抜け出せなくなる
248デフォルトの名無しさん (ワッチョイ a563-jrHm)
2019/01/13(日) 04:21:19.42ID:qwE0jZig0 麻薬のような機能だなw
249デフォルトの名無しさん (ワッチョイ 8e7d-DANP)
2019/01/13(日) 09:07:48.83ID:Xn8IPTP50 LINQもRxも使いだすと元に戻れなくなる
でも性能気にしてstructとforeachに書き直し始めると時間足りない
でも性能気にしてstructとforeachに書き直し始めると時間足りない
250デフォルトの名無しさん (ワッチョイ faad-yiss)
2019/01/13(日) 09:32:12.32ID:Z+h8nfOL0 >>246
パフォーマンスのためならなんでforにしなかったん?
パフォーマンスのためならなんでforにしなかったん?
251デフォルトの名無しさん (ワッチョイ d6a7-VK1S)
2019/01/13(日) 18:27:15.40ID:X0+RFgX60252デフォルトの名無しさん (ワッチョイ 551f-M1d3)
2019/01/14(月) 23:20:39.35ID:3wGjtMyb0 ComboBoxに例えばA〜Dと4つ項目が入っていて、A〜Cは同一計算方法でDのみ特別な計算方法でコード内容が異なり且つ色んな計算をする為コードが長くなる場合の見やすくする為の最初の分岐方法とか書き方とかありませんか?
今はifで分岐した中にあれこれ結果を取ってきて結果を出してるのでifがやたら長く見辛いです。なんかいい方法があれば教えて頂きたいです。
今はifで分岐した中にあれこれ結果を取ってきて結果を出してるのでifがやたら長く見辛いです。なんかいい方法があれば教えて頂きたいです。
253デフォルトの名無しさん (ワッチョイ 3d46-VK1S)
2019/01/14(月) 23:31:33.99ID:CBheeOs80 LINQ使うと元に戻れなくなるのはわかるんだけどデバッグしづらくね?
デバッグを想定する時点で初心者なのかな...教えてエロい人
デバッグを想定する時点で初心者なのかな...教えてエロい人
254デフォルトの名無しさん (アウアウエー Sa22-j/vx)
2019/01/15(火) 00:45:24.53ID:DUfu4s9fa >>252
4っつぽっちの分岐で何がそんなに見づらくなるのかちょっと理解できんよ。
いや、煽ってるわけじゃなく本当に
各分岐先のコードが長くなるっていうのならそれぞれメソッドに切り分けるだけじゃないの?
4っつぽっちの分岐で何がそんなに見づらくなるのかちょっと理解できんよ。
いや、煽ってるわけじゃなく本当に
各分岐先のコードが長くなるっていうのならそれぞれメソッドに切り分けるだけじゃないの?
255デフォルトの名無しさん (ササクッテロ Sp85-aawd)
2019/01/15(火) 02:09:17.70ID:gvlEsXBIp■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国外務省局長 「ポケットに手を入れていたのは寒いから」 日本との局長級会談で ★2 [お断り★]
- 中国外務省局長 「ポケットに手を入れていたのは寒いから」 日本との局長級会談で [お断り★]
- 【速報】中国外務省報道官 高市首相発言撤回なければ「断固たる対抗措置」 ★3 [蚤の市★]
- 高市首相答弁を“引き出した”立民・岡田克也氏が改めて説明「なぜ慎重な答弁をされなかったのか。非常に残念に思っている」 ★7 [ぐれ★]
- 中国、日本行き“50万人”キャンセル 渡航自粛でコロナ禍以来最大 ★3 [お断り★]
- 【速報】日本産牛肉の対中国輸出再開協議が中止 ★3 [おっさん友の会★]
- 【実況】博衣こよりのえちえちフログロ学力テスト🧪★3
- 【実況】博衣こよりのえちえちフログロ学力テスト🧪★4
- 【実況】博衣こよりのえちえちフログロ学力テスト🧪★5
- エッヂ落ちた?
- 【緊急】水ダウひ避難所
- 高市経済ブレーン、円安解決方法を披露「財政支出を増やせば金利が上がって円高になる」 [237216734]
