ふらっと C#,C♯,C#(初心者用) Part134
■ このスレッドは過去ログ倉庫に格納されています
「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。
他のスレッドでは書き込めないような低レベルな質問、
質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。
内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。
なお、テンプレが読めない回答者は邪魔なので後述のC#相談室に移動して下さい。
C#に関係の無い話題や荒らしの相手や罵倒レスはやめてください
>>980を踏んだ人は新スレを建てて下さい。
>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。
■前スレ
ふらっと C#,C♯,C#(初心者用) Part133
http://mevius.5ch.net/test/read.cgi/tech/1510056685/
■関連スレ
C#, C♯, C#相談室 Part95
http://mevius.5ch.net/test/read.cgi/tech/1508180530/
■コードを貼る場合は↓を使いましょう。
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 const int rertryCount = 3;
これはちょとミスリーディングか。
こだわるなら
const int maxRetryCount = 3;
こっちの方がいいね >>554
ところ構わずケツつけてくる奴やな
みんながみんなホモちゃうでしかしw >>559>>560
なんで勝手に質問者の要件作るの? >>561
何言ってるか分からん
ただの質問
ここ質問スレだろ? >>563
じゃあどこですんの?
言語に関係無いプログラマの談話は要らんが >>545
簡単にユニットテストできるようにSOLIDなコードを書かないとダメ
ただ漠然とユニットテストやればきっとうまくいくんや〜などと考えてるようなら先はないぞ VBですみません。下記のようなコードで印刷ジョブの数を取得すると
OSの印刷ジョブ一覧ウィンドウで見える数と違うのですが
なぜ違ってしまうのでしょうか?
'プリントサーバの情報取得
Dim prtSv As New LocalPrintServer()
'印刷キュー取得
Dim que As PrintQueue = prtSv.DefaultPrintQueue
msgbox que.NumberOfJobs >>566
環境を詳細に書かないと解らない
エスパー得意だけどこれは無理w >>560
俺に聞くなw
B == GetA()
で十分でないの >>566
OSのジョブ一覧は変更の反映が遅いから
ジョブ一覧の画面でF5押しまくれ >>567
環境はWin7です。プリンタを一時停止にしてジョブを40個くらいためていくと
que.NumberOfJobsは35が返ってきたりします。
時間が経つと40が返ってきたりします。
時間差があるのでしょうか?印刷が成功したか知りたいのですが
そのジョブが見つからないのです。 >>569
そうなんですか。困りました。
下記のサイトのようなことがやりたかったのですがorz
http://jehupc.exblog.jp/8603528/ >>572
読んでないからよくわからんけど反映が遅れるのはジョブ一覧の画面上の話で実際の内部のジョブ一覧はリアルタイムで変更されてるぞ
多分のおまえのやりたいことはできる >>570で言えば35の方が正しいってことな多分
知らんけど試してくれ >>573
自分も認識としてはそうなんですが何故か想定と違う値が返ってきてしまい・・・
ちなみに.NETの問題かとも思いましたがAPIのEnumJobs()でも同じ値が返ってきました。
JOB一覧でF5を押しまくって40なのを確認してque.NumberOfJobsを取得しても
35なんですよね。で数分待つと40が返ってきたり。
直前にque.Refresh()はしています。 質問ですがWPFでCommandからModelにアクセスするにはどうすればいいですか?
例えばボタンをクリックしたらModelのBuyNumプロパティをインクリメントしてそれをViewのLabelに反映させたりしたいときなどです。 >>576
わかりにくくてすみません。
>>577
なるほど! >>578
VMにコマンドがあるんだったらVMのフィールドにModel持ってるはずだろ?
何の問題もなくアクセスできるはずだが一体何が分からないのか >>578
command生成時にVMのメソッドかVMのインスタンスをcommandに渡す
つかICommandなんて使わずにコードビハインドのコールバックからVMのメソッド呼び出す方が分かりやすいよ >>578
よくあるパターンだと、DIコンテナってのを使ったりします。モデルのインスタンスを管理するプログラムが有って
VMが起動されたときにModelのインスタンスをVMに渡すことが出来ます
Prism.Unityとか、MEFとかAutoFacなんてのがありますので興味があれば調べてくださいね コマンドバインディングとデータバインディングを一緒くたにするのは混乱の元
つかWPFスレの次スレ建ってないんだな EF Coreを使ってます
UpdateでWhereを指定するにはどうしたらいいでしょうか?
現在は以下のようになってます
ctx.Students.Update(student);
ctx.SaveChanges();
もしくは、行ロックのやり方を教えてください
レコードを更新する際に特定の条件下なら1度だけ更新をしたいです >>550
こういったのプログラミングするときちゃんと書かれてる通りに作れって思う
仕様書の書き方がクソで勝手に直したくなるのは分かるけど
enum Hoge{最初から,失敗終了,成功終了}
private Hoge Func(A a,B b,Int changeCount){
bool 等しい a==b;
if(!等しい&&changeCount!=3)return Hoge.最初から;
else if(!等しい&&changeCount==3)return Hoge.失敗終了;
else if(等しい)return Hoge.成功終了;
throw new Exception("仕様書に書いてないけど?");
} >>586
.Where(条件)追加すればいいんじゃないか? >>590
連結は出来ませんよね?定義には含まれてないので。
具体的にどのようなコードになりますか?? >>594
そういう仕事に遭遇しない
でもそんなレアだといざデスマになったときに追加人員が補充できないから人数が少ないってヤバそう try catchってどこで囲うのが基本?
メソッドの中身全部かなと思うんだけど >>600
書くなって言われたよ
イベントログに出なくなっちゃうからだって >>600
全部でも良いけど
そのメソッド内でキャッチして例外に対応できる場合のみ どこに書いてもいいけど
} catch (Exception) { }
とかやんなよハゲ、それじゃどこで例外が発生したかわからんだろが、どうやってデバックすんだ
と怒鳴られたんだろう
事なかれ主義で育てられた子が面倒を起こすパターン
事なかれ例外と名付けよう >>605
だって、このメソッドで落ちると困るじゃん例外とも言う >>605
問題はそのあと
throw ex
とかしちゃうやつ >>605
一律で書かないことになっちゃったけど
本当は何書いて欲しいの? >>609
>どこで例外が発生したかわからん
に対する補足。Java上がりがよくやるポカ。 >>610
一律で書かないと言うのは集中キャッチハンドラーがあるからでしょ >>612
なんもない
自分で書いた場所にtry catchがそもそもない IO系とかエラーが発生する可能性のある一帯だけ囲んで、こんなとこじゃエラー出ないよね?
ってとこは囲わないかな
万一そういう所でエラー発生したら、そのエラー箇所を特定しやすいように
売り物のソフトだと、好ましくないやり方かもしんないけどな 復旧可能かつ復旧を試みる事が要件で明示されてればそこでキャッチする
それ以外は基本的に全てキャッチしてはならない
グローバル例外ハンドラに任せてログ出力やユーザー通知を行う リソースの解放は原則IDisposableとusingで行うこと(try finallyは使わない) >>619
usingはtry finallyに展開されるという・・・ 1234.5678 => 1,234.5678
1234.56 => 1,234.56
123.456 => 123.456
というように、
数値を3桁区切り+小数点を含める(0埋めしない)文字列を出力するにはどうしたら良いでしょうか? >>625
複合書式指定
https://msdn.microsoft.com/ja-jp/library/txafckwd(v=vs.110).aspx
でできそうにないものは整数部分と小数点以下に分けて文字列作って合わせるしかない >>626
C#ってわざわざ面倒臭いことしないといけないんですね・・・ >>627
他の言語でできることならフォーマット用意してあるかもしれないから調べたら?
そこまで見ていないから >>625
ちょっと格好悪いけど、
ToString( "###,###,###,###,###.########" );
とでもしとけば。 Console.WriteLine("{0:#,0} ", 数値);
こんだけな それかコレな
Console.WriteLine("{0:N}", 数値); >>630-632
頭悪いレスは必要ないです
質問をよく読んでから答えてください ググる知能もない低脳に説教されちゃったよ..(^^; 一度でもやってからしゃべってんだろうかこのアホ ID:6xqAElZe は VB.netのクラスの中身の大半をC#に移動したいんだが、Partialしたらいいだろか? vb.netのコードをc#に一発変換してくれるツールがあった気がする Formは無理じゃない。 コードは変換できるのを見たことがある。なのでコード部とか
ライブラリクラスをC#にしようと思う。 >>638
https://dobon.net/vb/dotnet/links/convertcs2vb.html
sharpdevelopとかいうのでできた気がすんだよ
ちょっとやってみてよ
試す価値はあるでしょ?
ただ、動作までは知らんから変換出来てもテスト工数は減らせないぞ >>639
ありがとう。やってみてまた報告するよ。 プロジェクト分ければVBとC#共存できるんだから
循環参照が必要じゃないなら無理に変換することもないんじゃないかと >>641
VBerがそんな綺麗なコード書くわけ無いでしょ VisualBasicがなかったら
ファイルをゴミ箱入れたいとき困るじゃないですか >>634
>>635
せめてテストくらいしてからレスしてくださいね^^;
C#erレベル低すぎ >>639
バージョンによるな。こけるパターンが特徴的なので
慣れれば機械的に直していける >>644
Microsoft.VisualBasic.dllだけあればいいよ >>625
Console.WriteLine("{0:#,#.##########}", 1234.5678); >>646
すんなりは行かんかった?
Formは行けた? vb formからc# formへctl-aで全選択してコピペできるよ。
ちゃんと言語の変換をしてくれる。 あれぇ?
なんかボタンで一発変換だった記憶があるんだけど? クラスAでクラスBをインスタンス化する
クラスCでクラスBのメソッドを実行する。
クラスAでクラスBをインスタンス化する。クラスCでクラスBのメソッドを実行する。
クラスAのインスタンス名は未定の時に、clsCからB.bm()を呼び出す方法?
こういう時にどうすればいい? なんかスマートにできる方法はない?
public class clsA
{
public clsB B = new clsB;
public clsC C = new clsC(B);
}
public class clsB
{
public void bm()
{
}
}
public class clsC
{
clsB B;
private clsC(clsB bb)
{
B = bb;
}
private void doc()
{
B.bm();
}
} 👀
Rock54: Caution(BBR-MD5:0be15ced7fbdb9fdb4d0ce1929c1b82f) ■ このスレッドは過去ログ倉庫に格納されています