C#, C♯, C#相談室 Part93©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
■Visual Studio 2017 Community(無償の統合開発環境)等はこちら
http://www.visualstudio.com/downloads/
■コードを貼る場合はこちら
http://ideone.com/
■前スレ
C#, C♯, C#相談室 Part92
http://echo.2ch.net/test/read.cgi/tech/1485589613/
■次スレは>>970が建てる事。
建てられない場合は他を指定する事。
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured [0, 1]とか(0, 1)は数学の記号ね(多分高校1年ぐらいで習ってるはずw)
Random.DoubleNextの戻り値は[0, 1)(つまり0≦x<1)らしい
普段乱数使うようなコード書いてないからよく分からんけど、
0≦x≦1とか0<x<1でないと困る場面も多いんじゃないかなと思っただけ 有効桁区切るのと一緒で丸め、切り上げ、切り捨てしたらいいだけでは
Random自体C#で使う場面に出くわしたことないからあまり考えないな game engineだとか[]の乱数あったりするよ
()は見たことない
コーディングしてたらわかるけど利用場面は圧倒的に少ない >>665
> パラメータに対してちょっと複雑な変換を掛けるのだけど
と言うなら例もパラメーター使ってる例を書かなきゃ
>>668
俺もこれしか思いつかなかった
そもそも
var f = (string x) => { return "abc" + x; };
位は型推論してくれてもいいと思うんだけど難しいのかな? >>673
例えば0〜9の整数乱数がほしい時に[0,1)なら10倍して整数部分を取るだけだけど(0,1)とか[0,1]だとすごく面倒 面倒だったら擬似乱数生成器を自分で作ればいい
キミラ程度が使う程度の擬似乱数だったら数行コピペでできる程度のもんで十分だからな >>680
本来必要のない名前を考えるのが面倒
そもそもローカル関数にするぐらいなら>>661とたいして変わらんし やっぱり低学歴知恵遅れは
内側の擬似乱数生成器をかえるだけの話なのがわかってないわ
きっと擬似乱数がなんなのかすらわかってないわ
擬似乱数がなんなのかわからずに乱数()とかいって数字使ってる程度だからな つまり
コレがC#なんか使ってるヤツラのオツムの程度 >>673
(0,1)は[0,1)が0ならやりなおし、でいいんじゃないのと単純に思ったがそんなものじゃない? そもそも機械イプシロンのこと分かってて
ああいうレスしてるようにはまったく見えないからな >>686
発生側はそれでいいとしてそれを必要とする機会がどんだけあるの?
って話かと 気に掛けてくれた方々に。ありがとう。
>>668
ああ。なるほど。型を明示してあげたらよかったのか。
キャストを加えたら期待通りに書くことが出来ました。ありがとうございます。
これってラムダ式を var で宣言した変数に代入できなかったことがヒントになり得たんだな。頭が回ってなかった。
これくらいは型推論してくれても良さそうなのにとは原因が分かった後での負け惜しみ。
>>666,680
今回のはそういうことが出来そうなのに出来なくて悶々としてしまって。
実用性度外視で原因を知りたかったの。 今ならref/outがないならAction/Funcに型推論して
シグネチャが同じdelegate間の暗黙の型変換が行われる
初期化時に左辺とかキャストとかでdelegate型が明示されてたらそのdelegate型でnewされる
でいいと思うよな〜 Visual C#ってDelphiみたいに同じコードでWindows用とMac用にビルドできる?
マシンは両方用意できるとして Visual C#って具体的にはどのフレームワークを指してるのかい? >>691
コンソールアプリなら同じコードでどっちでも動くはずだけどGUIはよくわかんない
Xamarin Forms使えばいけるのかな? 多分ASP.NETを使ってGUIのWebSocketクライアントを作る予定です
ありがとうございます MacでWebSocket??????
ちょっと何言ってるかわかんないですね 下みたいなことって出来ます?
やりたいのは object 型の変数に代入したジェネリック系のインスタンスを、さらに元のジェネリックの型にキャストし直すってことなんですが。
void func( object dic )
{
var tmp = (Dictionary)dic; // ← これみたいなことをやる方法がないかなと
tmp.Add( "test", new object() );
}
var dic = new Dictionary< string, object >();
func( dic ); >>698
言葉が足りてなかった。申し訳ない。
例示のケースの場合は、
var tmp = (Dictionary<string,object>)dic;
と指定すれば出来るのだけど、Dictionary だけでキャストし直すみたいなコトできないかなって。
as でも Dictionary だけではキャストできないことは確認しました。 出来たとして何の意味があるのそれw
そもそもHoge<int>より大きなHoge<T>とかHogeって型が存在するわけじゃないでしょうw
根本的に勘違いしてないか genericsでないDictionaryは存在しないからでしょ。
genericsパッケージでないほうのHashtableならできると思うけど安全性を損ねるしやらんほうがいいんじゃね IDictionaryならあるよ
キャスト時にいちいち型引数を書くのが面倒ぐらいの意味しかないけど >>700
を読み直してみると、ひょっとして要するにジェネリックの型パラメータを書くのが面倒臭いから
省略できないか?、って言いたいのかな
それなら答えは「できないけど仮に出来たとしても絶対やるな」じゃないの?
もちろん、
using Dictionary = System.Collections.Generic.Dictionary<string, object>;
こういうエイリアスは書けるはずだと思うけど
何にしろ、質問は他人が読んで分かるように書いて欲しいよね 型安全性を無視していいならdynamic使え
そうじゃないなら出来てもやるな
つかジェネリックを勘違いしてるんじゃね それによって何がしたいのかを書いてくれないと何言ってるかわからんよな ありがと。
やっぱり dynamic 使うしかないかな。避けたかったのだけど。
なにが入ってるか分からない配列の中身を文字列化してログ出力したかったの。(最初は)
object[] の要素の中身が generic だったりしたときに ToString() だとクラス名?にしかならないから。 なんで何が入ってるかわからない配列なんてもんを触るんだ
静的型付け言語のメリット台無しやんけ 何が入っているかわからないものを扱いたいと言っていながら一方でdynamicは避けたいというのが
よくわからんなぁ。避けてどうしたかったんだろうか。 でもJSも実行時に型を判断できるし、逆の意味で大して変わらんと思う。 あれ? dynamic って推奨だったの?
おまえらがどういう場面で使ってるのか教えてくれ。 デシリアライズでもするつもりだったんじゃねの
クッソ面倒なんだよな実際 ん?
> なにが入ってるか分からない配列の中身を文字列化してログ出力したかったの。(最初は)
じゃねーの? もういいでしょw
たぶん何か勘違いしてるだけだと思うよ
俺もプログラミング初めて2,3年は静的/動的とかコンパイル時/実行時の違いとか
分かってるようでよく分かってなかった 結局なにがしたいのか伝わってこない上に
微妙にムカつく上から目線 そろそろ.NET標準でDDSのデコードできるようになってくれないかな
エクスプローラーでは普通に表示されるんだから
できればBC6と7までw >>694
あれ、C#って、マルチプラットフォームじゃなかったの?
Java は、Windows, Mac, Linux, iOS, Android, Chrome, Firefox, IE, どれでも
動いたよね、昔は。 Javaもクライアントアプリ分野から撤退したから今はクロスプラットフォーム度でいえばC#のほうが上なくらい(あくまでカタログスペック上は)
C#はWebかコンソールアプリなら.NET Core使えばLinuxやMacで動く
スマホやMac向けのGUIアプリならXamarinだな 普及度とかマルチプラットフォームとかどうでもいいけど
Windows使っていて個人的に何かちょっと作ろうと思ったときに、もうC#以外考えられない体になってしまった おれはpythonかなー
スクリプト言語はほんま楽やで
客先でインスト制限きつい時はC#とPowerShell
Microsoftさんは早くVSCodeとdotnet cliをWindows標準にしてPowerShellを強制アプデすべき >>727
個人で使ったけど、これを社内外で使わせるにはMVVMきっちり教えないと破綻確実だから諦めた >>726
確かに楽だな。 < python
Web API を叩くプログラムをこれで書いたけど、学習まで含めてすぐ出来た。w
VS 上でも書けるのが楽さに拍車を掛けてる。
>>727
うん。でも最近はやってないな。そーいえば。 >>727
使ってる。
チームとして採用するのは難しいかもね。 そうです。
XAMLとか慣れるまで大変だし、やっぱり簡単なFORMになるんじゃないかな。 レイアウトはFormよりWPFの方が楽だと思うんだけどな
Formばかりやってたチームだと学習コストが高くて難しいのはある XAMLはVS補佐がまだまだ足りない
昔の落ちまくりよりは格段に進歩はしたが formは過去の遺産だから、これからやるならWPFが正統だ。 >>735
Blendを使ってください、ってことなんだろうけどなぁ WPF自体は終わってるよね
次の本命が無いから使うしか無いだけで MSのイチオシはUWPだしコントロールは充実しているんだけどね
TreeViewは完成したし、後はDataGridの完成を待つだけだ 最近のMSはだいたい未完成
ちょうどGithubもやらかしたし、Azureのサービスなんかガチで世に出しちゃいけないレベルのものが大半 未完成の物をとりあえず出して、
バージョンアップで完成させてくのが昔からのビジネスモデルやろw >>747
どういうこともクソもWPFは5年くらい前にとっくに開発終了してメンテナンスモードだよ >>748
ソースは?
.NET Core3.0知らないの? >>749
ソースは.NET 4.5以降のリリースノートだよ
何か気になる新機能はありましたか? >>750
で、「終わってる」だなんてMicrosoftはリリースノートに書いてるのかい?
しかも.NET Coreは都合が悪いから無視ときたもんだ… Core3.0まで出てるんだ
なんか使いやすくなった? WPFが終わってるならFormは死んでる。
しかし、ゾンビ技術者がウヨウヨいるから需要はあるのかも。 >>751
CoreのWPF対応ってWPFをCore向けにビルドしてNuGetで入れられるようにするだけだぞ?
WPF自体の新機能ではないよ >>754
必死に調べて理解したのはそれだけ?
「終わっている」プロジェクトに対してそんなことしないだろ 平日に役に立たない言い争いしている奴らが終わってる WPFの機能追加は終わってる
なら正しいかもしれない >>752
せっかく切ったWPFとFormアプリ復活・・・ 業務系ならありがたいね
ランタイム依存なしでForms使えるんだろ
ブラウザ要らないじゃん >>759
デプロイどうすんの?アップデートの度に君が出向いて客のPCでZip解凍して回るの?
それが面倒だからWebなのに、それが.NET Coreになったところで何も解決しないよ
というかClick Onceが無くなる分だけ状況は悪くなるな >>760
>Click Onceが無くなる
ソース出してみ >>762
悪魔の証明を求められても困る
.NET CoreでClick Onceが使えるソースを出すのは君の仕事だ
当たり前だけど、FullFWのClick Onceを使うという本末転倒な方法は無しで頼むぞ >>763
断定してたからそんなアナウンスもうされたのかと思ったのに…思い込みが激しいと周りが苦労するね WPFが.net coreに対応したといってもlinaxで動くわけではないんだよね?
じゃあなんの意味があるの? ■ このスレッドは過去ログ倉庫に格納されています