[過去ログ] ふらっと C#,C♯,C#(初心者用) Part141 (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
135(1): (ワッチョイ 6d81-q1e7) 2018/12/25(火)05:37 ID:o3bLdzU90(1) AAS
質問です
applicationSettingsBaseを使って設定を保存したソフトのフォルダを移動したところ
設定がすべて消えてしまいましたが仕様でしょうか。
これを回避するためにはソフトと同じフォルダにiniを作るなどして設定を保存しないといけないでしょうか。
136: (ワッチョイ cb81-f+Pb) 2018/12/25(火)08:31 ID:Pk7gkPrC0(1) AAS
SettingsProviderを自作すれば保存場所は変えられなかったか
137(2): (アウアウエー Sa13-pYn4) 2018/12/25(火)12:19 ID:H2h1tiNca(1/3) AAS
>>135
ApplicationSettingsBaseなんて使ったことないのでいい加減に言うけど、
普通に考えれば保存場所は起動したバイナリのパスになんか依存しないはずだと思うけど
外部リンク[html]:www.atmarkit.co.jp
ここにも書いてあるけど、バージョンとか製品名とかアセンブリの属性を何か変更したから
保存場所も変わったんじゃないの?
138: (アウアウエー Sa13-pYn4) 2018/12/25(火)12:21 ID:H2h1tiNca(2/3) AAS
ごめん>>137は訂正
俺の記憶違いで、記事にはバイナリのパスにも影響されると書いてあるねw
139: (スフッ Sd43-tFmq) 2018/12/25(火)12:25 ID:yMEv05zrd(1) AAS
>>137
いいえexeの絶対パスが変わると保存先も変わります
知らないなら適当に答えるなよ
140: (アウアウエー Sa13-pYn4) 2018/12/25(火)12:49 ID:H2h1tiNca(3/3) AAS
いいえ私はさそり座の女〜
141: (ワッチョイ f54e-Wbbf) 2018/12/25(火)20:05 ID:C73Cga6+0(1) AAS
C#スレが伸びてるけど、unityのおかげ?
142: (オッペケ Sr61-Yer+) 2018/12/25(火)20:36 ID:bRmFmcZ5r(1) AAS
いいえ
143(1): (ワッチョイ 2306-q1e7) 2018/12/25(火)20:49 ID:wyvxpdNe0(1) AAS
設定の保存ならjson.net使ったほうが幸せになれるね
144: (アウアウウー Sac9-BQJB) 2018/12/25(火)22:00 ID:nl4zamMYa(1) AAS
>>143
保存時のフォーマット?
145(1): (ワッチョイ ab33-4M5M) 2018/12/25(火)22:03 ID:cYaw21oJ0(1) AAS
イニファイルにしとけ
イニファイルにな
146: (ブーイモ MM43-Z9RU) 2018/12/25(火)22:20 ID:NRydG5TYM(1) AAS
Windows用語ではプロファイル
147: (スッップ Sd43-nejN) 2018/12/25(火)22:21 ID:m1C7tGngd(1) AAS
>>145
老害おつ
148(2): (ワッチョイ 658a-6UAB) 2018/12/26(水)06:18 ID:1oivSykz0(1) AAS
課題で10進数を2進数の文字列に変換したいのですが、これだとびっくりすくらい遅いです。
速くするにはどうしたらいいでしょうか。
class Program
{
public static void Main(string[] args)
{
string input = Console.ReadLine();
省11
149(1): (ワッチョイ 23d2-nejN) 2018/12/26(水)07:14 ID:H45VhGP50(1/2) AAS
>>148
stringはほとんどの場合毎回新しいインスタンスが作られるから、代わりにStringBuilder使ってみ
150(1): (ワッチョイ 23d2-nejN) 2018/12/26(水)07:18 ID:H45VhGP50(2/2) AAS
あとたぶん普通はこれ
外部リンク[html]:dobon.net
151: (ブーイモ MM59-5po1) 2018/12/26(水)07:35 ID:gklwQdG7M(1) AAS
遅いっつっても一瞬じゃない?
たかが32bit整数くらいで。
試してないけど
152: (ブーイモ MMeb-Z9RU) 2018/12/26(水)09:33 ID:Ts4c5NN9M(1) AAS
Stringは吃驚するほど遅いよ
153(1): (ブーイモ MM43-Dd2B) 2018/12/26(水)10:28 ID:yGWBBV+aM(1) AAS
遅いっつっても一瞬じゃない?
154: (スッップ Sd43-nejN) 2018/12/26(水)11:19 ID:pZkVuIQAd(1) AAS
>>153
ループ一回ならね
155: (アウアウエー Sa13-pYn4) 2018/12/26(水)12:39 ID:UFWOb61Ja(1) AAS
>>150
Convertのそんなのあったな感w
でもこれゼロサプレスされるみたいだな。
まあリーディングゼロ付けるのは簡単だけども
156(2): (ワッチョイ 35eb-hpOi) 2018/12/26(水)19:06 ID:Dcs5aUpT0(1) AAS
Windowsフォームアプリケーションで、
「ボタン上をドラッグしてる間(左クリック押下中、かつボタン上にカーソルがある時)」に音を鳴らしたいんだけど
Button1.MouseDownで再生、Mouseupで停止させるまでは出来ても
MouseLeaveに停止処理書いて、クリックしたままボタンからカーソル外したときには音がなり続けてしまいます
どういう記述がいいんでしょうか?
157: (ワッチョイ 459a-9nMG) 2018/12/26(水)20:13 ID:/gJf0JvK0(1) AAS
>>156
クリックしたままだとMouseLeaveが動かないみたいだな
外部リンク:ideone.com
これは音を鳴らす代わりにフォームのタイトルにMouse On/Offと表示する
MouseDownとMouseMoveでカーソルの場所を見てボタンの範囲外だと無条件でOffにする
イベントとしてのMouseLeaveは外せそうな気がするしフラグ作ってもっと作りこめると思うけど面倒だからここまで
158: 156 (ワッチョイ 6deb-hpOi) 2018/12/26(水)21:13 ID:0HU+mpFl0(1) AAS
ありがとうございます!
入門したて故コード読んでも理解できないけど、丸写しからの改変で勉強しながらやってみます
159: (アウアウエー Sa13-pYn4) 2018/12/26(水)21:40 ID:sOj8GKWaa(1) AAS
>>156
やらずに適当に言うけど、MouseDownのイベントハンドラか何かで
Captureの値をfalseにしてやったら望んでるような動作になるんと違う?
160(2): (ワッチョイ f9da-ikDe) 2019/01/03(木)03:05 ID:2jZ78iU60(1/2) AAS
dotnet new webapp コマンドでプロジェクト生成した時に Controllers も Models も Views も作られないので、ちょっと面食らっています。
ASP.NET Core で Razor Page を使ったアプリを作る際は、ASP.NET でいう Controllers と Models に該当するフォルダはどこに作ったらいいんでしょうか?
特にビジネスロジック部分はどこにまとめるのがいいのでしょうか?
161(1): (アウアウエー Sae3-xhm2) 2019/01/03(木)05:32 ID:ZmWGvR5ia(1) AAS
splitcontainerのpanel1に30個程度のボタンを設置し、それらは一つのイベントハンドラにまとめてて
押したボタンの色を変えるということをしようとしています
splitContainer1.Panel1.Controls[●].backColor = Color.Red ;
●の位置に入る数字はどのボタンと対応しているかがイマイチわかりません。
タブインデックスの数値とは別のようですし、どの数値の事を言っているのでしょうか。
162: (ワッチョイ f9da-ikDe) 2019/01/03(木)06:22 ID:2jZ78iU60(2/2) AAS
>>161
期待通りの回答じゃないかもしれないけど、これでもいいんでは?
protected void button_Click(object sender, EventArgs e)
{
((Button)sender).BackColor = Coler.Red;
}
163: (ワッチョイ 69ad-wlHu) 2019/01/03(木)09:33 ID:mzbwP5/d0(1) AAS
>>160
dotnet new
164: (ワッチョイ 1901-ahzL) 2019/01/03(木)09:49 ID:92o1UEKg0(1) AAS
>>160
dotnet new mvc
ASP.NET Coreは3.0以降でfull .NET Frameworkを切り捨てるから、必ず.NET Coreを使うように
165(2): (ワッチョイ 1301-aNo7) 2019/01/06(日)07:48 ID:ys0B5FJg0(1) AAS
>>148
遅い原因は
>string input = Console.ReadLine();
じゃね?
ユーザーが全文字入力するのをぼんやり待ってないで
1文字でも入力された時点でその桁に関する処理を開始しとかないと
166(2): (ワッチョイ 8b7b-wnDr) 2019/01/06(日)10:33 ID:ijGp0fE40(1) AAS
>>165
>>149で解決すると思ったけど、その最後の行の実装例出せる?
167: (ワッチョイ 5142-xhm2) 2019/01/06(日)10:50 ID:SZQOw9ve0(1) AAS
>>166
件のプログラムで一番処理時間が長いのは起動だと思うから
実際にはその程度やっても変わらんでしょ
168: (ブーイモ MM8d-ZBCD) 2019/01/06(日)13:46 ID:s+NsL/70M(1) AAS
>>165てネタじゃなかったのか?
169: (ラクッペ MMe5-U0tG) 2019/01/06(日)15:10 ID:yoKg5XOLM(1) AAS
何でもかんでもまずネタだと考えるのやめた方がいいですぞ
170(1): (ワッチョイ 332d-ikDe) 2019/01/06(日)16:43 ID:Dx0jhieJ0(1/2) AAS
ASP.NET Coreを使う練習してるんだけどさあ
実機で動かしてみるに当たって、手元のVisualStudioやVSCodeからLAN上にあるサーバ(Ubuntu)に配置して実行するまでって結構面倒に感じてしまう・・・・
これってなにかVisualStudioに配置実行を楽にする手段があるのかな?
それとも楽をしたければJenkinsかなにか勉強しなきゃあかんのかな・・・・
171: (ワッチョイ 7b7d-vmFk) 2019/01/06(日)16:54 ID:YMMAI1S40(1) AAS
今はどんな手順でやってるん?
172: (ワッチョイ 332d-ikDe) 2019/01/06(日)18:18 ID:Dx0jhieJ0(2/2) AAS
今のところ、「手元でビルド→SCPコマンドで転送→SSHで実行」みたいにしてるんだけど・・・・やっぱもっといい方法あるよな
173(2): (ワッチョイ 9168-RM76) 2019/01/06(日)18:22 ID:SgRztK6B0(1) AAS
LINQの質問です
list1とlist2はList<int>型だとして
foreach(var value1 in list1) {
foreach(var value2 in list2) {
Console.WriteLine(value1 * value2);
}
}
省2
174: (ワッチョイ 9963-TKWx) 2019/01/06(日)20:09 ID:NF88G39c0(1/2) AAS
linqでブロードキャストできたっけ?
175(1): (アウアウウー Sa9d-Y2fC) 2019/01/06(日)20:11 ID:YeoWOZf6a(1) AAS
>>173
メソッド構文ならSelectManyを使う
foreach (var v in list1.SelectMany(v1 => list2, (v1, v2) => v1 * v2))
{
Console.WriteLine(v);
}
この場合はクエリ構文の方が分かりやすいかも
省7
176(2): (ワッチョイ 9963-TKWx) 2019/01/06(日)20:13 ID:NF88G39c0(2/2) AAS
>>173
外部リンク[html]:dobon.net
これでいけんじゃね?
ConvertAll
177: (ブーイモ MM8d-ahzL) 2019/01/06(日)21:11 ID:iQ1zVEqTM(1/2) AAS
>>170
AWSとか使えば簡単だよ
MSの推奨はもちろんAzureだけど、単なるVMのホスティングサービスとして使う以上のことを期待すると正直ゴミカスなので全くお薦めできない
178(1): (ブーイモ MM8d-ahzL) 2019/01/06(日)21:17 ID:iQ1zVEqTM(2/2) AAS
>>176
今時ConvertAllとか紹介してるゴミサイトはさっさと閉鎖すべき
179: (ワッチョイ 9963-TKWx) 2019/01/07(月)00:48 ID:voJmrOTp0(1/2) AAS
>>178
今だと何がベスト?
180: (ワッチョイ 9168-RM76) 2019/01/07(月)09:13 ID:yGBdcOaa0(1) AAS
>>175>>176
いけました!
ありがとうございます
今回はSelectManyを使おうと思います
181(3): (ワッチョイ 9101-aNo7) 2019/01/07(月)09:34 ID:z57KVTQ70(1) AAS
>>166
考え方としては、例えば「3」が入力された時点で
次の入力結果は「3」か「30」〜「39」しかありえないから
11通りの2進数表示を用意しておいて次のキーが押されたらそこで合うものを選んで表示する
どんなに10進数の入力桁数が増えても毎回11通り用意すればいいのは一緒なのと
10進数が1桁増えるときに2進数表示で最後の4桁以外の文字列は使い回せるから文字列連結処理は多少減らせる
この処理がユーザーのキー入力速度より早くCPUが処理できれば多少意味がある程度だろうけど
182: (アウアウエー Sae3-ahzL) 2019/01/07(月)10:20 ID:e8LT8JMZa(1) AAS
>>181
そのためにReadKeyを繰り返してたらそのオーバーヘッドの方が効果を圧倒的に上回ります
出直してきてください
183: (ブーイモ MM33-ahzL) 2019/01/07(月)10:28 ID:3j9bnJUUM(1) AAS
>>181について更にツッコむと、1文字ずつ処理するなら単に入力されたキーの値を普通に反映させていけばよい
わざわざ候補を事前に用意してGCに負担をかける意味は全く無い
184: (アウアウウー Sa9d-JBiS) 2019/01/07(月)15:22 ID:Nhl1xZLpa(1) AAS
チラシを見てキャベツが1円安いからと電車賃300円払って遠くのスーパーまで買いに行くような無駄な努力に思える。
185: (ワッチョイ 7b7d-vmFk) 2019/01/07(月)19:03 ID:RNZAQQS50(1/4) AAS
ネタを元にボケてるだけかと思ったら
186(1): (ワッチョイ d348-xhm2) 2019/01/07(月)19:56 ID:ukOyD8nn0(1/2) AAS
Json.NETを使ったデシリアライズについて教えてください。
以下のようなJsonファイルを読み込んで、リストにデシリアライズをしたいです。
[
{
"email": "foo.example.com",
"active": true,
},
省14
187(1): (ワッチョイ 7b7d-vmFk) 2019/01/07(月)20:12 ID:RNZAQQS50(2/4) AAS
デシリアライズではまる前に
オブジェクトをシリアライズして、どういうjsonが出来るか確認することを勧める
188: (ワッチョイ d348-xhm2) 2019/01/07(月)20:34 ID:ukOyD8nn0(2/2) AAS
>>187
オブジェクトが単体の時は[]で囲まれていなかったので、
配列として認識されないような気がします。
もう一度考え直してみます。
ありがとうございました。
189: (ワッチョイ 9963-TKWx) 2019/01/07(月)20:52 ID:voJmrOTp0(2/2) AAS
parser通さずに自力解析した方が早そうw
190: (ワッチョイ 99d2-tvdn) 2019/01/07(月)21:41 ID:EmaCRb9M0(1) AAS
>>186
うちの環境ではそのままで読み込めた。w
ああ、json ファイルのパスや、クラスをフルパスで書くように直したりはしたけど。
あと List<Account> を Account[] に変えてみても動作した。
json パーサは Newtonsoft.Json でいいんだよね?
ひょっとして json ファイルの文字コードや改行コードの問題だったりして。VS2017 で試した。
191(1): (ワッチョイ 7b7d-vmFk) 2019/01/07(月)22:00 ID:RNZAQQS50(3/4) AAS
まあ結論としては只の配列よねw
List<>が勝手に出てくる訳もなく
192(1): (ワッチョイ 5161-RM76) 2019/01/07(月)22:27 ID:LR2ZtPQc0(1) AAS
>>181
「10進数が1桁増えるときに2進数表示で最後の4桁以外の文字列は使い回せるから文字列連結処理は多少減らせる」
の意味がわからない。
193: (ブーイモ MM8d-ZBCD) 2019/01/07(月)22:49 ID:ZGeLga+2M(1) AAS
BCD?
194: (アウアウエー Sae3-ahzL) 2019/01/07(月)23:07 ID:7iifCEQOa(1) AAS
>>191
アホ?
デシリアライズ先の型としてList<>を指定してるんだからどう見ても勝手に出てきてはいないでしょ
普通にデシリアライズできるよ
195: (ワッチョイ c17b-lUsO) 2019/01/07(月)23:26 ID:PUyuVhSj0(1) AAS
>>192
単純に勘違いだろ。16進数から2進数への変換なら成立するけど
例えば251と256の2進数の下4桁が違うのはすぐわかる
質問引っ張るのもまずいけど元の質問者もフィードバックくらいしてほしいな
196: (ワッチョイ 7b7d-vmFk) 2019/01/07(月)23:45 ID:RNZAQQS50(4/4) AAS
json.netはList指定いけたわ
低速過ぎて最近使ってなかった
失礼した
197(2): (ワッチョイ a994-mHCk) 2019/01/08(火)01:42 ID:+TBsMqqs0(1/2) AAS
9時と13時に定期的に作業を実行させたいので、タイマーを使ってプログラムを書きました。
似た部分が多いのでタイマー自体を配列化したのですが、「動作を停止しました」とエラーが出て動きませんでした。
タイマーの配列化って無理なんでしょうか?
System.Windows.Forms.Timer[] timerOnce = new System.Windows.Forms.Timer[2];
public GetControlsList()
{
myTimerOnce(timerOnce[0], "9:00");
省16
198: (ワッチョイ d348-xhm2) 2019/01/08(火)06:44 ID:dT41V3TC0(1) AAS
アドバイス頂いた通りシリアライズを見直したところ解決しました。
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 );
}
省5
199: (アウアウエー Sae3-ahzL) 2019/01/08(火)08:12 ID:mtJIt88ca(1) AAS
>>197
そもそもWinFormsのタイマーは精度や信頼性がとても低く、時間の計測に使ってはいけない
あくまで「時々処理をさせたい」だけのときに使うもの
あなたのケースならタスクスケジューラを使うのが定石です
200(1): (ラクッペ MMe5-U0tG) 2019/01/08(火)09:49 ID:Sw3FA19SM(1/2) AAS
>>197
配列をnewしただけで中身のTimerをnewしてないからじゃないの
201: (ラクッペ MMe5-U0tG) 2019/01/08(火)09:53 ID:Sw3FA19SM(2/2) AAS
まずデバッグ実行することを覚えた方がいい気がしないでもない
202: (ワッチョイ a994-mHCk) 2019/01/08(火)12:12 ID:+TBsMqqs0(2/2) AAS
>>200
まさにそれでした。
1行加えただけで解決しました。ありがとうございました。
203(3): (ワッチョイ 8901-gZzt) 2019/01/09(水)07:23 ID:fI4baLQf0(1/2) AAS
本当に初心者質問ですが、ライブラリはimportとnamespaceから書いていくのと、どちらが良いのでしょうか
もしくは使い分けがあるのでしょうか
204(1): (スッップ Sd33-wlHu) 2019/01/09(水)07:48 ID:c4aAB3Aqd(1/3) AAS
>>203
ここC#スレやで
205(1): (ワッチョイ 8901-gZzt) 2019/01/09(水)12:18 ID:fI4baLQf0(2/2) AAS
>>204
C#はusingですけどスコープ内でオブジェクト破棄する機能もusingと呼称してるので混乱しないようにimportと表現しました
なんで2つの記述方法を許しているのか、何か意味があるのか気になりまして
206: (スッップ Sd33-wlHu) 2019/01/09(水)12:21 ID:c4aAB3Aqd(2/3) AAS
>>205
c#にもimportはあるから余計混乱するだけ
名前空間とusingsは全然用途違うでしょ?
207: (スッップ Sd33-wlHu) 2019/01/09(水)12:21 ID:c4aAB3Aqd(3/3) AAS
C#というかMSBuildだけど
208(1): (ワッチョイ 69e3-RM76) 2019/01/09(水)14:41 ID:2h2JyjUc0(1) AAS
>>203
名前空間の全表記は可読性下げるので使ってないな
VSでカーソル当てれば名前空間表示されるし、今時テキストエディタでゴリゴリ書いている人でもなければ全表記する必要ないと思う
209(1): (ドコグロ MM63-3T74) 2019/01/09(水)14:52 ID:TKkGGOqYM(1/2) AAS
>>208
MediaのcolorとDrawingのcolorが混在してるときはぶっ潰したくなる
210: (ドコグロ MM63-3T74) 2019/01/09(水)14:55 ID:TKkGGOqYM(2/2) AAS
pathってファイルパスじゃなくて
曲線かよ死ねよとか
省略形でも違いがあったほうが絶対いい
211(1): (ワッチョイ 917b-6YBr) 2019/01/09(水)19:11 ID:5txyXp0A0(1) AAS
>>203
外部リンク:docs.microsoft.com
usingでググればここに理由も呼び分け方(using ディレクティブ)も出ている
一般的な呼び名を使わないと調べることすらできなくなるよ
212: (オッペケ Sr85-DIji) 2019/01/10(木)13:13 ID:lMztlpGar(1) AAS
>>209
そういうの他にもある
213: (アウアウウー Sa89-xTYM) 2019/01/10(木)20:09 ID:9xQ4gBbQa(1) AAS
P/InvokeやCOM相互運用を書くときに
System.Runtime.InteropServices.ComTypes以下の構造体やインターフェースを使う時があるんだけど
System.Runtime.InteropServices以下に同名の物があるから、大体の場合で完全修飾かusing alias directiveが必要になって面倒なんだよなあ
.Net1.1時代の後方互換性のためにObsolete付きで残してあるんだろうけど邪魔で仕方がない
214(1): (エアペラ SDe2-42Wh) 2019/01/11(金)12:39 ID:qc15f1nfD(1) AAS
>>211
その名前を知る事が大変ですよね
沢山本読むしかないんでしょうけど
215: (ワッチョイ 557b-5zJT) 2019/01/11(金)12:57 ID:RbVY6SmB0(1) AAS
>>214
この話はusingの話で質問した人もわかっているし
わからないなら分からないなりに説明したらいいだけ
オレオレ用語使ってこんなところで質問するのは普通におかしい
上下前次1-新書関写板覧索設栞歴
あと 787 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.023s