ふらっと C#,C♯,C#(初心者用) Part138
■ このスレッドは過去ログ倉庫に格納されています
「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。
他のスレッドでは書き込めないような低レベルな質問、
質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。
内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。
なお、テンプレが読めない回答者、議論をしたいだけの人は邪魔なので後述のC#相談室に移動して下さい。
C#に関係の無い話題や荒らしの相手や罵倒レスはやめてください
>>980を踏んだ人は新スレを建てて下さい。
>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。
■関連スレ
C#, C♯, C#相談室 Part93
https://mevius.5ch.net/test/read.cgi/tech/1492818720/
■前スレ
ふらっと C#,C♯,C#(初心者用) Part137
https://mevius.5ch.net/test/read.cgi/tech/1523004019/
■コードを貼る場合は↓を使いましょう。
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 NumericUpDownで、ホイール下回転で値をUpさせる方法ないですか? >>562
ライブラリ実装者が破壊的変更の影響を最小化
細かいパフォーマンスを最適化
するためのものなので乱用しないで
拡張やダイヤモンド継承による名前の重複など問題はまだ残ってる >>553
管理者のパスワードって、単なるスーパーユーザーのパスワードのことだろきっと 久しぶりにまたC#勉強してみようかと思ってるんだけど
最近の動向ってどうなの?雑誌でもあまり見かけなくなったけど さあ、プログラミングの雑誌読んでる奴は最近少ないでしょ
プログラミング情報は基本ネットだからな >>570
マイクロソフトはAndroidのアプリC#で作る環境起こしたり結構力入れてる >>572
へえ〜そうなんだ
金のにおいプンプンするね そういえばWindowsフォンとかいうのもあったね 雑誌とか書籍とか、本屋の棚を見てると勢力図が判るね。
Python強い。 MVC使ってるんですが、アルゴリズムをSQLに書くのは邪道でしょうか?
Modelを用意している時点でC♯でアルゴリズムを書くのが正攻法なのかなという気がして
でもクエリにある程度書いた方がパフォーマンスは良さそうで悩んでいます >>566
NumericUpDownの派生コントロールを作ってOnMouseWheelを書き換える
方法 : 既存の Windows フォーム コントロールから継承する
https://docs.microsoft.com/ja-jp/dotnet/framework/winforms/controls/how-to-inherit-from-existing-windows-forms-controls
コード例
public class NumericUpDownEX : NumericUpDown
{
protected override void OnMouseWheel(MouseEventArgs e)
{
if (null == e) return;
decimal m = this.Value;
int a = e.Delta > 0 ? -1 : 1;
m += a * this.Increment;
m = m > this.Maximum ? this.Maximum : m;
m = m < this.Minimum ? this.Minimum : m;
this.Value = m;
}
} どうでもいいことだけどEventArgsがnullで渡ってくるケースってあるの? >>577
邪道です
ビジネスロジックがSQLを侵食すると保守性が下がりスパゲティクエリが量産されます
結果的にパフォーマンスも劣悪なものとなるでしょう SQLはクエリ管理クラスでC♯で管理してます
ストアドで書かれてたらC♯がどうこういう話では無いですね
つかストアドは世間様の開発では一般的なのでしょうか
改修に弱そうなイメージがありシステム構成の検討任されたら自分なら選択しなさそうですけど ビジネスロジックをストアドに集めるってのは
見たことあるなぁ。
既存言語はFEP構築だけに使う。
どちらかに徹底してりゃ良いんじゃね。鼻ホジ >>583
システムのリプレイスとデータベースのリプレイスのどちらが多いかだよな
後者でストアド依存は死ねると思う DBのバージョンアップじゃなくてリプレイスで
システムをリプレイスしない案件なんてほぼ考えられん 可能な限り全部SQLでいいよ
多くの場合SQLの方が圧倒的に簡潔だしテストも容易だし
ストアドは管理が面倒だし見通しも悪いからソースに書きたいが SQLに書いてもいいけどシステムが死ぬまで面倒を見て、他のメンテナーに迷惑をかけないでくださいね データベースにSQLite使ってるんだけど、データ量が増えたらSELECTがクッソ重くて無反応になる
無料でもっとまともなDBってないかな? >>588
データ量がどのくらい増えたとかテーブルのスキーマ構成とかSELECT文みてみないとなんとも言えんな
DBMS変えたら劇的に変わるもんでもないし >>596
売るアプリだから無料のがよい
>>597
すまんすまん
indexの順番変えたらかなり改善した
複合indexを先に設定して、その後単一index作ってた
これを入れ替えた感じ 無料ならSQLServerはかなり制限がある
PostgreSQLは完全に無料で、性能・機能とも圧倒的に上
SQL ServerはWin上でGUIでお手軽に運用できるしMS製品で完結するのでドカタには愛されてる 俺はデータをカテゴリに分けてそれぞれに専用のテーブルを用意して振り分けて高速化したことある >>599
かなりって例えば?
ストアドも使えるしDBサイズも10GBまで使えるし基本問題ないっしょ。サイズ超えそうになったらバックアップDBとしてアーカイブすりゃいいしね。C#ならSQLServerがいいよ 俺もSQLServer使ってたけど10GB制限がキツイし全てのレコードを読めないと不都合だから別のDB探してたけどMySQL使おうかと思ってたところだった >>601
最近はPostgreSQLも盛り上がってるね
PostgreSQLは機能が非常に豊富で極めて柔軟、非定形データだろうが地理空間情報だろうが何でも扱える
ライセンスもMySQL(GPL)より緩い >>599
まじか
postgreに変えようかな
>>602
10GBならかなり余裕あるね
ならSQLServerも良いかなあ
MySQLはWebアプリではよく使ってるけど
そもそもわかってないことがあるんだけど、SQLってSQLサーバーで動いてるわけじゃん?
SQLite以外はWinFormアプリで作ったアプリだけで動かないの?
SQLアプリみたいなのが生成されるの? >>604-605
なるほどありがとう
それならせっかくだしそっちにしてみようかな
SQLServerはEntityFramework簡単に使えたけどもPostgreSQLもライブラリとか使いやすいのかな?
MySQLは接続文字列がおかしいのかテーブル指定がおかしいのかイマイチ上手く動かせなかった ASP.NET Core MVCはオワコンになって今後はASP.NET Core Razorが主流になっていく感じですか? 今は各言語ごとにフルスタックのフレームワークがあるけど無駄に見える
どれか一個がセンターにあって後は各言語対応のAPI提供というパターンにならないのか 少なくとも.NETはASP.NET Coreが統一フレームワーク 各言語ごとにフルスタックフレームあるけど
シェア3位のdjangoすら5%以下らしい
それ以下のASP.Net coreの存在意義がかなり薄いと思うけどないといけないものなのか 検索でClassic ASP.NET/MVC/Coreは区別がつかないから混ざってるんだろ >>616
StackOverflowのデータ見てみろよ なんかSQLiteがおっせーって書いた者だけど、他のサーバー型SQLよりぶっ飛びで速いんだな
このまま使い続けるか >>620
速度求めるならメモリ使えば?
DBのinoutは別スレッドでコントロール 使ったことないからよく知らんけどローカルファイルへのアクセスだからレイテンシが小さいとか? javaに比べると圧倒的に仕事が少ないC#ですがjavaの有償化で仕事は増えるでしょうか レガシーJavaをすぐさまC#に移植するってのは現実的じゃない
レガシーの面倒を見るためにとりあえず金を払ってライセンスを買うしかない
ライセンス買ったならじゃあいいかとなってJavaを引き続き使っていくことになる 大人しくオラクルのケツ舐めて1CPUあたり25ドル払っとけって application/jsonを使ったRPCの実装方法でスタンダードなやり方ってありますか?
ぐぐってもREST APIの実装方法ばっかり出てくるんですが… >>629
.netならWCFかWEB API
REST APIは主流だが
規模的に保守が辛くなるなら
gRPC gatewayも良いと思う >>609
MVCのVの部分がRazorエンジンになっただけやで。 >>621
アプリ起動時とかにSQLからメモリテーブルにコピーして、追加更新削除があれば別スレッドでinoutする感じ? プログラミング初心者なんですが、Randomオブジェクトの扱われ方がよく分かりません
なぜ別にクラスを作らなくてもインスタンスを生成出来るのでしょうか >>633
「なぜ class Random { ... } とクラスを定義しなくても new Random() と書けるのか?」
という質問なら、「Random クラスは最初から定義されてるから」が答えになると思います
質問の意図が違うなら、「XXXと書くのが正しいと思うが、実際にはYYYと書くのはなぜか?」
というように具体的なコードを交えてもう一度質問してもらえませんか? usingで指定されて無いと幾ら最初から有っても使えないけどな。 そう言う意味では、最初からusingでネームスペースが指定されているって言わないと正しくない。 JSFみたいな使いやすいフレームワークねえかなぁ
C#は言語そのもののセンスは良いけどエコシステムがショボいよな >>636
namespace省略せずに書けば使えるぞ >>640
書けないけど「使える」
>>636
> usingで指定されて無いと幾ら最初から有っても使えないけどな。
自分の書き込みぐらい覚えとけ 偶にこういうコード見かけるんだけど、コーディング規約に全部書けとかあるのかな?
using System.IO;
略
System.IO.File.ReadAllBytes(hoge); 自分が作っていないクラスを使用するのに必要なのはアセンブリ/COMの参照設定。
(基本的なアセンブリは最初から設定されてる)
usingするかはどうかは別の話。
参照していないのにusingだけ書いてももちろん使えない。 >>642
そのスコープのFileクラスの定義が重複している場合
曖昧さを解消するために名前空間を全て書く必要がある
普通は標準ライブラリと名前が衝突する事態の方を避けるだろうけど >>642
そんな不合理な規約はないと信じたいねw
あえてフルネームで書くことを肯定できる(少なくとも否定的に思わない)ケースは
そのソースファイルでその名前空間の要素そ参照するのが1、2か所しかない場合ぐらいかなあ
意見は分かれるかもしれんが、バッティングを避ける目的ならエイリアスを使うのが普通でしょう
using IO = System.IO;
みたいに >>645
> そのソースファイルでその名前空間の要素そ参照するのが1、2か所しかない場合ぐらいかなあ
それならusingも書かないだろ、バカかよ その名前空間を使うのがここだけだと思ってフルで書いたが
やっぱり他でも使ったのでusing追加した
元の箇所は直していない
まあ、そんな感じじゃないかと >>634 に不適切なコードを書いたために混乱を招いてしまいました
また、 >>643 で適切な補足をしていただいていますが、
初めからこのような補足が必要ないようにできているだけでも
混乱は避けられたかもしれません。大変失礼しました 同じ名前のクラスがあるんだよw
だからフルネームで書かないと怒られるんだw >>650
あるあるw
バッティングすると悪夢なのなw
曲線をPathって名前にしてファイルパスもPathって名前にして
usingを呼んじゃってからエラーが出たぜハイ直せってやられると最悪
せめて改名してからusing呼べやクソがって思うんだが
馬鹿な奴に限ってバッティングさせるし作業手順も考えない
しかもそれでコミットしてくる []で読み込むDLLの意味がよくわからない
どこで呼んでもいいみたいだけど、あれってどういう仕組みなの? ランタイムがLoadLibraryなりで動的にロードしてよろしくやってるだけやで
ネイティブ側を書いたことないとイメージしづらいのかもしらんが >>651
バッティングどうこうよりもファイル操作と図形操作を同じファイル内に実装してる時点で最悪だね
誰が悪いかというとそんな設計書を書いたバカが最悪だ >>654
いや、別だよ
でもたまたま引っ張ってきたusingにPathが入っててバッティングしちゃったんだ
.netframeworkにはじめから入ってるPathも入ってかなり手強かったよ いやいや、それは例えが悪いだけで、マイクロソフト様ですら同じ名前のクラス名付けてて、たまにどっちだボケって聞いて来るからなぁ >>638
JSFときたかwww
具体的に何が足りないと? >>658
足りないってほどじゃないんだけどねー
直感的に挙動を理解しやすいJSFと比べてこっちはちょっと推測しにくい感じ
これを変えたいなら多分こうだろってのが閃きにくい
ドキュメントみれば解決するけど見ないでなんとなくで解決したいんだよね >>657
Managed DirectXは酷かった
嫌がらせレベル blockingcollectionを使ってキューを作ろうと思ってます
そのキューの中にデータを取り出すのではなく、データがあるかないかを確認したいのだけども
それってどうやって実現できるでしょうか? >>662
できない
BlockingCollection.GetEnumeratorで取得した列挙子は既にコレクションから削除された要素を返す可能性があるから、要素の存在確認には使用できない
それが必要なら普通のQueueをロックして使おう
BlockingCollectionはProducer-Consumerパターンを実装するための特殊なコレクションで、取得と消費は基本的に分離不可能な操作として扱う なぜキューを使わず違うものでキューみたいなものを作るのか? 【毒素ためる、制汗″】 Ban、Ag、 8×4が <乳癌> <鼻炎> <ワキガ> の原因になっている!?
http://rosie.5ch.net/test/read.cgi/liveplus/1531621398/l50
くさいくさい ■ このスレッドは過去ログ倉庫に格納されています