C#, C♯, C#相談室 Part91 [無断転載禁止]©5ch.io
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2016/06/29(水) 23:45:15.36ID:EZjVZgG6http://www.visualstudio.com/downloads/
■コードを貼る場合はこちら
http://ideone.com/
■前スレ
C#, C♯, C#相談室 Part88 [転載禁止]©2ch.net
http://peace.2ch.net/test/read.cgi/tech/1437808445/
C#, C♯, C#相談室 Part89
http://peace.2ch.net/test/read.cgi/tech/1443271409/
C#, C♯, C#相談室 Part90
http://echo.2ch.net/test/read.cgi/tech/1455160063/
■次スレは>>970が建てる事。
建てられない場合は他を指定する事。
0002デフォルトの名無しさん
2016/06/29(水) 23:45:41.68ID:EZjVZgG60003デフォルトの名無しさん
2016/06/29(水) 23:51:01.49ID:mTvmtbdU0004デフォルトの名無しさん
2016/06/29(水) 23:54:32.05ID:IF/e/aADえっ
C#, C♯, C#相談室 Part91 [無断転載禁止]©2ch.net
http://echo.2ch.net/test/read.cgi/tech/1467142749/
0005デフォルトの名無しさん
2016/07/01(金) 09:02:48.89ID:2/8SV6DIoh
0006デフォルトの名無しさん
2016/08/16(火) 01:59:58.67ID:jP/bzuFfGoogle Analitics でトラフィックを確認したところ
↓の様にIP+ポート番号でのアクセスがありました。
通常であれば、YahooやGoogleなどの検索エンジンからの流入だけになるハズが
この様なアクセスがあり警戒しています。これは何か攻撃を受けているのでしょうか?
10.160.XXX.XXX:XXXXX
0007デフォルトの名無しさん
2016/08/16(火) 03:13:01.98ID:ExAjikQC法律違反かもしれませんが人を殺しても見逃して下さい
ってか
↓で聞けよ脳タリン
スレ立てるまでもない質問はここで 143匹目 [無断転載禁止]©2ch.net
http://echo.2ch.net/test/read.cgi/tech/1464139565/
0008デフォルトの名無しさん
2016/11/05(土) 16:22:08.70ID:9mC8a8qM0009デフォルトの名無しさん
2016/11/05(土) 16:28:35.13ID:N0pRKuvW0010デフォルトの名無しさん
2016/11/05(土) 17:20:49.55ID:4QNuq7Ui重症だねこりゃ。
0011デフォルトの名無しさん
2016/11/05(土) 19:53:16.07ID:bx+ldDt80012デフォルトの名無しさん
2016/11/05(土) 20:36:49.81ID:BoxZvYjG0013デフォルトの名無しさん
2016/11/05(土) 21:25:32.22ID:yfItjWUA0014デフォルトの名無しさん
2016/11/06(日) 01:29:59.15ID:+j3xqinH0015デフォルトの名無しさん
2016/11/06(日) 06:47:09.15ID:yh+qoP1Q0016デフォルトの名無しさん
2016/11/06(日) 09:55:19.69ID:jO0QNoEc0017デフォルトの名無しさん
2016/11/06(日) 10:48:53.12ID:pU7B9Wvc前スレだとdecimalくんとか
LINQとラムダ式に親を殺された君とか
0018デフォルトの名無しさん
2016/11/06(日) 19:36:01.09ID:ci4MHKnCTextBoxとかButtonといった単項目コントロールはINotifyPropertyChangedとBindingSourceを使って
btnExec.Enabled <-> model.IsValid
txtHoge.ReadOnly <-> model.HogeIsReadOnly
のように柔軟なバインドができる
これと同じようにDataGridViewの各セルのプロパティとそのセルに対応するモデルのプロパティを細かくバインドすることは可能?
具体的には1行に対応するモデルの一部のプロパティがオブジェクトの状態によって変更可不可が変わる
このプロパティの変更可不可をセルの入力可不可に対応付けたい
0019デフォルトの名無しさん
2016/11/07(月) 02:02:19.36ID:8BVz5aV9できると思う。なんだったら自分が実験してやって見せてあげよう。
その前に、ちょっと聞きたいことがある。
>TextBoxとかButtonといった単項目コントロールはINotifyPropertyChangedとBindingSourceを使って
>btnExec.Enabled <-> model.IsValid
>txtHoge.ReadOnly <-> model.HogeIsReadOnly
このやり方を具体的に教えてくれ。
これが解れば俺の応用力と理解力をもってすれば君の要求にこたえられると思う。
0020デフォルトの名無しさん
2016/11/07(月) 02:15:23.59ID:8BVz5aV9A=1 を B=1で起こす。Bに代入されましたよ。何が? 1が。 じゃあAに入れます。
これだけのことだから、、、、
相手がGridだろうが何だろうが簡単にできると思う。
この簡単なことをわかりにくくしたのがWPFではなかろうか?
俺にはなぜこんなに複雑にするのか理解できない。W
0021デフォルトの名無しさん
2016/11/07(月) 09:30:16.42ID:FitVxgu/0022デフォルトの名無しさん
2016/11/07(月) 09:43:19.29ID:1ZmAoJ5f0023デフォルトの名無しさん
2016/11/07(月) 09:57:52.03ID:euWTmbm80024デフォルトの名無しさん
2016/11/07(月) 12:17:20.02ID:FyIcdvIJ業務系はWinFormsだろうな
0025デフォルトの名無しさん
2016/11/07(月) 12:20:21.90ID:fkbDdb5s0026デフォルトの名無しさん
2016/11/07(月) 12:44:44.53ID:9i/eBlRk可読性がとにかく悪い。
Win Formみたいなイベントドリブンならある機能がどこで実装されているか、それを修正するためには
どこを変えればいいか、ほとんどの場合すぐに検討が付くけど、WPFだとこれがイライラの連続の
苦行そのものに堕落しちゃう
0027デフォルトの名無しさん
2016/11/07(月) 14:03:36.25ID:T8rwYGfSリバースエンジニアへの対応もC++と同レベルになった
問題はDataGridViewが標準でないこととリソース使用の制限などだが
そこがクリアできるなら速攻移行するべきだな
0028デフォルトの名無しさん
2016/11/07(月) 14:24:49.81ID:/8UUm0jP異常に罫線が好きな民族だからね
0029デフォルトの名無しさん
2016/11/07(月) 14:26:53.51ID:lMECrzfj0030デフォルトの名無しさん
2016/11/07(月) 14:29:08.88ID:io5w9F+U>業務アプリ以外はUWPに移行
>業務系はWinFormsだろうな
何で業務系は移行しないん?
0031デフォルトの名無しさん
2016/11/07(月) 14:51:18.13ID:pMvOYophUWPはwin10必須になるからな
0032デフォルトの名無しさん
2016/11/07(月) 15:09:36.70ID:8BVz5aV9WPFは大失敗だから、いま見直ししてると思うな。もう少し頭のいい奴に考えさせる
んじゃないかな。まあすぐに消えるわ。
0033デフォルトの名無しさん
2016/11/07(月) 15:15:37.39ID:T8rwYGfS0034デフォルトの名無しさん
2016/11/07(月) 18:02:50.76ID:5lIwdUhD読んで字のごとく、UWPはWin10じゃないと動作しない
0035デフォルトの名無しさん
2016/11/07(月) 18:18:24.24ID:mmljEldz一台のPCで複数のセッションを
張りたいのですが
便利なC#でも難しいでしょうか
セッション枯渇をシュミレーション
したいのですが、数十台の
物理的なクライアントを用意するのが
厳しく
0036デフォルトの名無しさん
2016/11/07(月) 22:53:04.02ID:UfUqh0gR回答ありがとう
0037デフォルトの名無しさん
2016/11/07(月) 22:53:34.17ID:d19P1q1EWin32APIのスレで訊いた方が良いと思う。
0038デフォルトの名無しさん
2016/11/07(月) 23:00:48.29ID:GpYwrGgA0039デフォルトの名無しさん
2016/11/07(月) 23:26:27.59ID:geFZXkbdやはりC#での手段は無さそうなのですね
Win32APIスレで聞いてみます
ありがとうございます
0040デフォルトの名無しさん
2016/11/07(月) 23:46:06.46ID:d19P1q1EReactiveProperty(MS製のオープンソース)とか標準で入っていればずいぶん作りやすくなるのに。
標準のコントロールも数が足りないね。
とは言え、WindowsFormsよりもWPFの方が楽な場合もあるから、結局両方使う。
0041デフォルトの名無しさん
2016/11/08(火) 00:28:14.64ID:mUYwed620042デフォルトの名無しさん
2016/11/08(火) 00:31:06.09ID:mUYwed62完成度のもんだいだろうか? そもそも根本的なところで間違ってるような気がする。
何が間違っているのかうまく言えないが、、、W
0043デフォルトの名無しさん
2016/11/08(火) 00:41:11.17ID:mUYwed62ほとんどが駄目だとおもう。頭の悪い奴の書いた文章そのものって感じがする。
簡単なことを難しく書いていて要領を得ない。ワザとやってるのかなと思って
いたがそうでもないらしい。 こんなドキュメントを書くようではスッキリした
まともな言語の開発はできないと思う。
でもC#は奇跡的に素晴らしいと思う。この素晴らしさはMS的ではないな。WPFは
MS的だと思う。
0044デフォルトの名無しさん
2016/11/08(火) 00:51:04.50ID:360M0HJPWPFにWindowsFormsHostコントロールってのがあるので、それを利用してFormsのコントロールを使える。
その逆はやったことないけど、ElementHostコントロールを利用するらしい。
0045デフォルトの名無しさん
2016/11/08(火) 01:21:27.86ID:Iqb/ffmtFormsの何がダメかというと意識の低い雑魚プログラマでも手が出せるところだろうな
雑魚が書くとすぐにレイヤがぐちゃぐちゃに混ざり合い重複したコードが際限なく増えていきオブジェクトから手続きの時代にタイムスリップする
油断して監視を緩めるとあっという間に手に負えなくなる
WPFは雑魚は切り捨てられてるからそういったリスクが少ない
MVVMという共通の概念を身に付けた意識の高い人材が集まるから自然とコーディングスタイルが統制されて読みやすい高品質なコードが出来る
0046デフォルトの名無しさん
2016/11/08(火) 02:27:54.02ID:KFsAZFmiWPFのコードを読みやすい思ったことは一度もないわ。
しかし、凄い倒錯だねw
Windows Formの問題はダメな奴でもそれなりに(可読性のないコードを)書けてしまうことだというが、
それを言うならWPFの問題はまともなプログラマが書いても決して可読的にならないことだろう。
0047デフォルトの名無しさん
2016/11/08(火) 03:24:51.90ID:iu8f14dFそれともバインドしてるプロパティがどれなのかわからないみたいなこと?
前者ならもうどうしようもないけど、
後者ならWindows Formでも同じ気がするし、
バインドとかCommandとか使わずにイベントドリブンで作る方法もあるよ。
0048デフォルトの名無しさん
2016/11/08(火) 03:48:44.45ID:mUYwed62どっちがダメかといわれても答えようがないが、ダメなものを平気で追加している
と、少しだけはいいものがあったにしてもダメになるよね。
いいものなら直観的にシンプルに説明ができると思う。
C#の属性拡張なんかも、その点ではかなり危ない。でも本体がしっかりしているので
あまり汚れが目立たない。
WPFは最初からダメでしょ。そもそも取り付けないし見通しも見えない。1日ほど
弄ってみたことがあるが、全然わからんかった。何がいいのかさっぱりわからん。
直観的に説明できないようなものって間違ってると思うよ。
こういう場合二つのアプローチがあると思う。
1.訓練してこれに慣れるという方法
2.何がダメなのか何が問題なのか発見するという方法
後者を採用する人にはこれはある意味チャンスだと思う。まあでもこれを使いこなせる
ってことは「頭いい」って証明にはなると思うから、1.のアプローチも間違い
じゃない。W
0049デフォルトの名無しさん
2016/11/08(火) 04:02:41.99ID:VojG/etj英語を読んでる?
日本語版は機械翻訳だよ
0050デフォルトの名無しさん
2016/11/08(火) 05:54:50.91ID:360M0HJP1日しか触ってなくてほとんど何も理解もしてないのにダメ出しってのも何だかな。
従来と仕組みが違う部分が多いから、従来の(WindowsGUIプログラムの)経験からの直観は働きにくい。
学習コストがかかるのもデメリットではあるけどね。
0051デフォルトの名無しさん
2016/11/08(火) 07:31:09.86ID:TXhVVjP1VBを残し続ける理由が分からない
VB作る人的リソースを
XAML強化とかに回せば良いのに
0052デフォルトの名無しさん
2016/11/08(火) 07:36:07.95ID:TXhVVjP1健在だから使う機会がない
MSの下位互換の精神は悪いと
言わないけど、もう良いんじゃねって
技術が延々と残ってるから
嫌になる
0053デフォルトの名無しさん
2016/11/08(火) 07:48:59.11ID:uO4YTQEsあらゆる点でWPFの劣化版のように思えるのだが。
0054デフォルトの名無しさん
2016/11/08(火) 07:54:17.11ID:Iqb/ffmtこういう人をお断りできるだけでもすごいメリットだよな
WPF程度の難易度のフレームワークを1日で諦めるとかちょっとな
昔は多かったオブジェクト指向はよくわからないから悪もの理論の年配と同じ臭いを感じる
0055デフォルトの名無しさん
2016/11/08(火) 08:01:23.60ID:6Cpjtpfi>ReactiveProperty(MS製のオープンソース)
Prismとごっちゃにしないでね。
ただアレは便利だわ
0056デフォルトの名無しさん
2016/11/08(火) 08:10:26.28ID:6Cpjtpfiでも、コントロールの外観をいじりたいとかって話になると、wpfのほうがずっと楽だろ
Formsでアニメーショなどどうやってヤるんだよ
0057デフォルトの名無しさん
2016/11/08(火) 09:36:53.50ID:+DS6ozohそういう用途にしてもUWPに移行するって話だろ
0058デフォルトの名無しさん
2016/11/08(火) 10:24:37.04ID:h2p8PH96例えば、Formの利点というよりWPFの欠点だけどグラフィックのパフォーマンスだね。
GDI+も登場時散々遅いと叩かれたけどWPFはその何十倍も遅い。
ググると出てくると思うけど、あまりに遅くて、2Dの折れ線グラフのような単純なものでも
データ数が多いと全く使い物にならない。
俺自身パフォーマンスの問題をどう工夫しても解決できなかったので結局GDI+で書き直すはめになった
0059デフォルトの名無しさん
2016/11/08(火) 11:20:31.78ID:mUYwed62XAML
<TextBox
Width = "100" FontSize = "30" Text = "テスト"
Background = "White" Foreground = "Blue" />
C#
textbox1.Width = 100;
textbox1.FontSize = 30;
textbox1.Background = Colors.White;
textbox1.Foreground = Colors.Blue;
textbox1.Text = "テスト";
文字少なくてよさげだけど、肝心のこの部分が隠れる。
TextBox textbox1 = new TextBox();
大事なところを隠蔽されるのはダメだよ。
プロパティを並べるのに<>で囲む必要なんてどこにあるんだよ。
という感じ。文書として保存するときなら<>つけたらいいではない?
でもエディットするときにこんなもんは不要だ。
0060デフォルトの名無しさん
2016/11/08(火) 11:31:34.08ID:mUYwed62Width = "100"
FontSize = "30"
Text = "テスト"
Background = "White"
Foreground = "Blue"
/>
文書保存するときはこれは別にいいと思うけど、もともと簡単に打ち込みできるよう
になってるものを、テキストで打ち込む理由はないな。
0061デフォルトの名無しさん
2016/11/08(火) 11:43:12.95ID:mUYwed62XAMLはNetをXMLで表現するタグだけのことだろ。
それは別にそれでいいんでないか? 整理できるし。
問題はWPFっていう糞のIDEだな。見通しがきかない保存文書構造のXMLを使って
なんでプログラム組まなきゃなんないのってこと。本末転倒だろ。W
0062デフォルトの名無しさん
2016/11/08(火) 12:00:35.75ID:mUYwed62>Formsでアニメーショなどどうやってヤるんだよ
楽なのは抽象度が高くなっていて、逆に言えば細かい処理はできないってことだね。
FormでできないことがWPFでできるわけじゃなくて、それなりのコントロールを用意して
楽にしているだけ。楽なコントロールが楽になってるだけ。そういうのを適宜使うって
のはありだと思うよ。アニメーションとか、、、、アニメーションとかほかにどんなもの
がある? でも.netになくてWPFだけにあるものなんてある?
0063デフォルトの名無しさん
2016/11/08(火) 12:12:18.45ID:mUYwed62xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
エディターにロードした段階でこんなタグは不要だろ。なんでこんなのがいちいち
画面を占有しているの? バカっぽいと思わん。
これがなければ余分に2行ソースが見える。W
0064デフォルトの名無しさん
2016/11/08(火) 12:47:02.22ID:unEOfTV3なんでXAMLにすり替えてんだよじじい
0065デフォルトの名無しさん
2016/11/08(火) 14:50:51.38ID:CGI+nyHh0066デフォルトの名無しさん
2016/11/08(火) 15:14:04.09ID:EaH/m5NR根本的な設計がしっかりしてれば楽
でなければ何やっても苦痛
0067デフォルトの名無しさん
2016/11/08(火) 16:42:41.52ID:TdC6P0scWPFの問題はバインディングとかMVVMとかがなかなか難しいし、情報資産が少ないことにある気がする
少なくとも、外観やコントロールの機能いじったり、バインディングを活用するなら悪くはない
0068デフォルトの名無しさん
2016/11/08(火) 17:07:35.31ID:uO4YTQEsそうなのか。
本当にWPFが遅いのかは限界までチューニングしなきゃわからんとは思うが、
少なくとも通常のやり方ではWindowsフォームのほうが速いというわけだな。
WPFでは勝手に画像がスケーリングされたり、
アンチエイリアシングされたりするのでそういったのを
徹底的に無効化しなきゃ速くならんからな。
画像を綺麗に見せるためなのか知らんが、
こういったマクロソフトの俺様仕様は勘弁してほしいところだわ。
>>59
そんなにXAMLが嫌いならXAMLを使わなきゃいいだろ。
そもそもXAMLはWPFとは何の関係もない。
XAMLを使わなくてもWPFプログラミングなどいくらでもできる。
0069デフォルトの名無しさん
2016/11/08(火) 18:00:32.99ID:mUYwed62えっ、そうなんだ。チュートリアルはほぼxamlの説明だけだよ。W
0070デフォルトの名無しさん
2016/11/08(火) 18:03:46.28ID:mUYwed62失敗してXAMLはしぶとく残ってるということではないのか?
0071デフォルトの名無しさん
2016/11/08(火) 18:52:03.52ID:WSlpNxFlプログラム作れば良いよ
WindowsPhoneのシェア0.3%で
WPFの先も無さそうだし
0072デフォルトの名無しさん
2016/11/08(火) 18:56:36.28ID:WSlpNxFlWindows7までにしておけば良いのに
共に役目は終えたし
MSはリソースを少し集中しようよ
モバイルじゃシェア失ってるんだし
0073デフォルトの名無しさん
2016/11/08(火) 20:25:06.49ID:UoXgnYKD0074デフォルトの名無しさん
2016/11/08(火) 20:40:02.61ID:RPJf2WNuIDEのおかげで下手なスクリプトより楽だし
0075デフォルトの名無しさん
2016/11/08(火) 20:51:54.08ID:360M0HJPすまん。完全にごっちゃになってた。
>>59
その例だとXAMLにx:Name="textBox1"が抜けてるぞ。
XAMLでの<TextBox>タグの宣言こそが、TextBox textbox1 = new TextBox();
に相当するってだけで、別に隠しちゃいない。
0076デフォルトの名無しさん
2016/11/08(火) 20:58:12.04ID:RPJf2WNu>>58
WPFはGDI+(WinForm)よりもグラフィック関連は速くなるものだと思っていた
WinFormは扱うデータサイズが大きくなると消費するメモリサイズが飛躍的に増えるんで、グラフィック関連は扱うのにあまり適していないんだよな
0077デフォルトの名無しさん
2016/11/08(火) 21:15:33.89ID:360M0HJPあるポイント数を超えるとまったく実用じゃないくらい遅くなるね。
ポイント数が多くてスピードが要求される場合は、DirectXを使って高速描画出来る有償のコントロールを買うしか無さそう。
数年前の資料だけど、各種チャートコントロールの性能比較
WPF Charting Performance Comparisons (the Battle Continues)
http://blog.scottlogic.com/2012/04/24/wpf-charting-performance-comparisons-the-battle-continues.html
0078デフォルトの名無しさん
2016/11/08(火) 23:17:39.44ID:6Cpjtpfiデータ視覚化なら2、300もアレば十分だろ
0079デフォルトの名無しさん
2016/11/08(火) 23:28:48.20ID:o3gm2pi/0080デフォルトの名無しさん
2016/11/08(火) 23:52:00.16ID:6Cpjtpfiもうちょっと頑張れ
0081デフォルトの名無しさん
2016/11/09(水) 00:13:40.23ID:HQuuA4JA他のベンダーのヘルプとか見たことないんだろ
MS なんてかなりまともな方だと思う
0082デフォルトの名無しさん
2016/11/09(水) 01:04:00.05ID:SotHgA9V系列が少なければね。
0083デフォルトの名無しさん
2016/11/09(水) 01:09:36.44ID:SotHgA9V知らないのに当てずっぽうで書いてるのが良く分かるな
0084デフォルトの名無しさん
2016/11/09(水) 02:23:18.79ID:pYqjQFATイケてるやないか。 でもデータバインディングやったらボロボロ。W
0085デフォルトの名無しさん
2016/11/09(水) 02:57:40.95ID:pYqjQFAT隠すつもりがなくても視認性が悪いから隠れるんだな。これが、、
WPFの肝は
1.UI部分は XAML で記述
2.実行コードは C# または VB
3.グラフィックス描画は DirectX
4.データドリブン的なものをデータバインディングでやる
1.と4.が手抜きでいい加減だから全然だめ。
1が駄目だから2を書こうにもどう書いたらいいのかわからないというジレンマ
4がダメだから遅いし使いにくいし使い物にならないしトータル的には失望を加速
している。
料理の材料はまあこんなものでいいというか素材は素晴らしい。しかし集めて料理
するんならもっと一つ一つを丁寧に作りこまなくてはだめだろ。これじゃ味の
バランスが悪くて料理になってない。もうひと手間かけるのができないんだよな。
最後までやりきることができない。思い付きと能書きは立派。W
0086デフォルトの名無しさん
2016/11/09(水) 03:24:51.72ID:pYqjQFATxmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Window1" Height="300" Width="300" Background="LightBlue">
<Grid>
<TextBox Height="24" HorizontalAlignment="Left" Margin="30,19,0,0"
Name="textBox1" VerticalAlignment="Top" Width="72"
Text="{Binding ElementName=slider1, Path=Value}"/>
<Slider Height="22" Margin="28,64,20,0" Name="slider1" VerticalAlignment="Top" />
</Grid>
</Window>
この書き方は糞
Text="{Binding ElementName=slider1, Path=Value}"/>
こうなるのが正解。
Text="{Binding slider1.Value}"/>
0087デフォルトの名無しさん
2016/11/09(水) 04:07:40.94ID:pYqjQFATこんな書き方はどんだけ糞か? ネーミングのセンスがまるでない。
PreviewKeyDown="Window_PreviewKeyDown"
これがセンスのいいなまえ
FunctionKey = "KeyDown"
もしくは
KeyDown="FunctionKey"
KeyDown="F1"
など
0088デフォルトの名無しさん
2016/11/09(水) 04:26:59.85ID:pYqjQFATプロパティ値が割り当てられていない子要素がある場合、プロパティ値の設定がある
最も近い親要素の値を割り当てる。W
まあこういう問題が発生するのも、手抜きが手抜きを生むことの良い例だ。ボタンコン
トロールひとつを表すのに手近な要素をかき集めて作りあげるという手抜きをしたこと
で、イベントがうまく取れないという問題が発生した。そこでイベントルーティング
という新たな手抜き概念を導出してしかもプロパティ継承という誤魔化しまでしなくて
はならなくなった。
トンネル、バブル、ダイレクト イベント一つにこんだけ複雑なことをする羽目にな
ったのも、最初に行ったわずかな手抜きが原因なのだ。
0089デフォルトの名無しさん
2016/11/09(水) 04:29:27.99ID:9orsc4MQ>>87
業務で使う場合はViewとViewModelをきっちり分けるよ
なのでバインディング式は下記のように
<TextBox Text={Binding ResultMessage} />
シンプルになる。
View内の他の要素の値をバインドするなんて
滅多にないから(デバッグ時くらい?)、{Binding ElementName=slider1, Path=Value}
みたいな冗長な書き方はいいと思う。
装飾系も普通はResourceDictionaryにまとめる。TextBoxタグ内にゴテゴテ書いたりしない
<Window.Resources>
<ResourceDictionary>
<Style TargetType="TextBox">
<Setter Property="VerticalContentAlignment" Value="Center" />
<Setter Property="HorizontalAlignment" Value="Left" />
<Setter Property="Foreground" Value="{StaticResource GlobalForeground}" />
</Style>
</ResourceDictionary>
</Window.Resources>
キー押下時のイベント発生もViewはCommandをViewModelに発行するだけだね
<Window.InputBindings>
<KeyBinding Gesture="Ctrl+T" Command="{Binding MenuOpenCommand}" />
</Window.InputBindings>
イベント発生時の処理内容をxaml.csに記述したりはしない
0090デフォルトの名無しさん
2016/11/09(水) 04:36:52.64ID:pYqjQFAT「WPF のデータバインディングはこれだけで 1 冊の本が書けるほど面倒です。」という
関係者。たったこれだけで関係者が本を書いて10年は食える飯のタネになる。W
WPFにおけるデータバインディングの重要性と可能性はこの限りにおいては非常に成功
している。テーマとしては食いつきがいい。「これさえマスターすれば、あとは
データを流し込むだけで自動的に表示してくれる」
魅力的なのだ。
食いつきがよくて、複雑怪奇な場合には関係者は情報を小出しにすればかなり長期に
わたってよい飯の種になる。
0091デフォルトの名無しさん
2016/11/09(水) 04:37:26.02ID:pYqjQFAT0092デフォルトの名無しさん
2016/11/09(水) 07:27:40.65ID:ccPtaul1そこら辺が問題だと思うのなら、全て解決したUWPに移行したら良いんじゃないのかな?
x:Bindで事前バインディングで厳密に型チェックヤるし、イベントバインディングも出来るからな
つか、アンタの言い分はイソップ童話の酸っぱいブドウそのものです
0093デフォルトの名無しさん
2016/11/09(水) 07:54:15.04ID:TlbuxVnvOneNoteの糞さはUWP無関係だと思うが、自分の観測範囲にUWPの実用サンプルがそれしかないので
どうしても印象が引っ張られる
0094デフォルトの名無しさん
2016/11/09(水) 09:17:12.31ID:KnEUpDo20095デフォルトの名無しさん
2016/11/09(水) 09:17:36.57ID:SotHgA9VKeyDownってイベントは別にあるぞ
>>88
もはや言いがかりのレベルだな
0096デフォルトの名無しさん
2016/11/09(水) 12:09:48.16ID:pYqjQFATどんな糞言語でも本質をよく見極めてセンス良く使う人はいるものだよ。
しかしそこに到達するまでにどんだけ時間がかかるというのだ。俺なんかわけわからん
から右往左往するばかりだよ。
せめてBlendをまともに作ってくれれば、それなりにUIの問題は解決するのにな。
Blendも糞だろ。W 最近のは使ってないからわからんが、、、
0097デフォルトの名無しさん
2016/11/09(水) 12:10:37.11ID:pYqjQFAT>x:Bindで事前バインディングで厳密に型チェックヤるし、イベントバインディングも出来るからな
今度はUWPかよ。小出しにするなー。つまりWPFは糞だったと認めるんだな。W
0098デフォルトの名無しさん
2016/11/09(水) 12:12:21.25ID:C35LXred0099デフォルトの名無しさん
2016/11/09(水) 13:18:01.59ID:imHVERPt0100デフォルトの名無しさん
2016/11/09(水) 13:24:22.96ID:13V/HCY3よっぽどお勉強好きなんだろうなw
仕事ならしょうがないけど自分の時間使って勉強する気にはなれんわ
0101デフォルトの名無しさん
2016/11/09(水) 13:44:46.30ID:U6OuotlL0102デフォルトの名無しさん
2016/11/09(水) 16:05:04.67ID:L45XBX69コードビハインドにイベント書くことはおすすめされないし、そもそもPreviewKeyDownってFunctionキーのイベントを受け取るためのイベントじゃないぞ?
WinFormsにも同じ名前のイベントあったじゃん
WPF以前の根本的な能力がかけてるんじゃね?
0103デフォルトの名無しさん
2016/11/09(水) 19:12:41.31ID:UPD5ANvk0104デフォルトの名無しさん
2016/11/09(水) 19:23:20.90ID:c1gJ8Ir2まだ動く7とXPのPCがあるからな
0105デフォルトの名無しさん
2016/11/09(水) 20:02:19.12ID:xK7OwzcUVSのデザイナやBlendがダメすぎるのか?
フォームでさえ、.Designerの中身なんてほぼ見る事ないのに
人間が生のXAML見たり編集したりしないとダメならそら普及しないなと思うが
0106デフォルトの名無しさん
2016/11/09(水) 20:09:14.52ID:y+VOBp5jレイアウトだけにしとけばいいのに
0107デフォルトの名無しさん
2016/11/09(水) 20:09:22.06ID:knOh/4SR0108デフォルトの名無しさん
2016/11/09(水) 21:24:36.59ID:WmFTPhhEGodot(ゴドー)などのゲームエンジンでは、IDEの右側にある、
インスペクタービューで、プロパティなど設定する
オブジェクト同士の衝突判定・イベント通知なども、同じ
0109デフォルトの名無しさん
2016/11/09(水) 21:25:12.33ID:TlbuxVnvほんとその通り
0110デフォルトの名無しさん
2016/11/09(水) 23:41:49.58ID:7n7DDFeGXAMLはそもそもWPFだけのもんじゃないんだが。
Silverlightにも使われていたしUWPにも使われてる。
そしてC#だけじゃなくVBにも使われてる。
つまり、言語やクラスライブラリなどから分離できるものは分離しようっつーのがXAMLでしょ。
C#/VBとXAMLの関係はJavaScriptとHTMLの関係と似てる。
XAMLを批判してる奴ってほんとにXAMLを理解してんの?
0111デフォルトの名無しさん
2016/11/10(木) 00:11:40.20ID:TlbdJV8L0112デフォルトの名無しさん
2016/11/10(木) 00:22:28.24ID:4pFcdHJlXAMLはただのシリアライズフォーマットの1つでしかない
WPFと関係ない普通のオブジェクトもXAMLにシリアライズできる
そんでXAMLはJSONと違って型とアセンブリの情報を持つ
UIデザインを宣言する手段として考えると書きにくいXAML形式よりシンプルでインテリセンスもよく働くC#コードの方が優れているのは確かだろう
しかしそうではなく可視性と可搬性のある普遍的なシリアライズフォーマットとして考えるとXAMLがXMLを採用したのは自然な帰結と言える
可視性のためにはテキストでなければならない
可搬性と普遍性では対抗馬としてJSONがあるがJSONはシンプルすぎて表現力がちょっと物足りない
となるとXMLは妥当な選択と言っていい
新しい時代に乗り遅れてXMLにしたわけでもないし虐待目的でXMLにしたわけでもない
XAMLの目的に合致するフォーマットではXMLがベストだったというだけの話なんだ
0113デフォルトの名無しさん
2016/11/10(木) 00:29:57.49ID:ApowNrKS0114デフォルトの名無しさん
2016/11/10(木) 01:16:39.44ID:Co+DcSGG0115デフォルトの名無しさん
2016/11/10(木) 01:52:09.10ID:aHkFnxegん?
それは考え方に矛盾があるだろ。UIを切り離すのが目的なら、切り口がシンプルで
綺麗なほうがいい。
例えばスクロールバーと連動して値を表示する場合なんてUI内でまとめて片づけて
しまったほうがいい。
ほしいの値だけで、処理側からしたらくだらないイベントなんて見えないほうがいい。
そっちでまとめてやってほしい。
0116デフォルトの名無しさん
2016/11/10(木) 01:52:28.80ID:aHkFnxeg理解できないなから文句を言ってるんだよ。機械が簡単に理解できるからって
人間にそれを押しつけるのは間違い。
XAMLってのは単なるテキスト文書じゃない。プログラム全体から複雑なUIを切り離して
表現するという目的がある。複雑なUIは手打ちで入力するようなものじゃない。
UI={動作、表現、パラメータ、、、、}+窓口
プログラム=>窓口
UIの窓口さんにいえば{、、、}なかはわからなくても大体処理できる。そういう関係
なわけよ。窓口が美人でテキパキしてないとダメだろ。
時々あるんだが、大企業の開発部に電話してるのに田舎のおばちゃんみたいなのが
窓口で
「はあ、田中さんは今日はおらんよ、どっかに出張するからって鞄を下げて出て行った
よ」
みたいな感じな。
XAMLの美人の窓口さんはどこ? ねえ
0117デフォルトの名無しさん
2016/11/10(木) 02:08:02.40ID:CCFq8Qep批判って言うより、ほとんどいちゃもんだけどな。
0118デフォルトの名無しさん
2016/11/10(木) 02:16:50.13ID:lTw5QLQW0119デフォルトの名無しさん
2016/11/10(木) 02:20:15.15ID:aHkFnxegtextBox1.Text = "Hello, World!"
これでいいのに
public class Data
{
public string TextHelloWorld
{
get { return "Hello, World!"; }
}
}
example.xaml
<TextBox Text="{Binding Path=TextHelloWorld}" />
これだもんな。W
XAMLがデータを取りに行ってくれる。一見便利だが、いちいち細かい指示を出して
説明してやらんと分からんやつだから、教えるほうが手間。自分でHello!!て
書いたほうがなんぼかまし。
あれだ、パラダイムシフトだなんだって言ってるが、シフトダウンだよな。
0120デフォルトの名無しさん
2016/11/10(木) 02:26:27.64ID:wdbpo9Rt0121デフォルトの名無しさん
2016/11/10(木) 02:30:19.81ID:YdauEkQ90122デフォルトの名無しさん
2016/11/10(木) 02:31:25.72ID:aHkFnxeg窓口ってのは会社の顔だよ。XAMLの顔はというとBindingだ。ここが窓ぐち。
こいつが田舎もんだから、、、、W
0123デフォルトの名無しさん
2016/11/10(木) 02:33:21.09ID:4pFcdHJlでもそれってXAML関係ないじゃん
なんでさっきXAMLディスってたの?
0124デフォルトの名無しさん
2016/11/10(木) 02:33:22.15ID:wdbpo9Rt0125デフォルトの名無しさん
2016/11/10(木) 02:55:22.89ID:bu4ikKWVぇ、それだけじゃXAMLは取りに行かないよ。
Dataクラスからの通知機構は無いの?
0126デフォルトの名無しさん
2016/11/10(木) 03:08:35.71ID:zCCtWAZL?例が適当すぎて言いたいことがわからん
スクロールバーと連動して値を表示するのはバインディングで済むからUIのイベントなんて使わないだろ
UIを切り離すんじゃなくて、VとVMを切り離すのが目的
0127デフォルトの名無しさん
2016/11/10(木) 03:17:22.84ID:zCCtWAZLバインディングする意味のないソースを出されても
さっき言ったスクロールバーとその値を表示するテキストボックスの例を見ればいいんじゃない?
バインディングを使わないとイベントを利用してそれぞれの値を相互に書き換える必要があって面倒とかそういうの
0128デフォルトの名無しさん
2016/11/10(木) 06:37:59.52ID:B4277xpo0129デフォルトの名無しさん
2016/11/10(木) 07:36:13.26ID:o8sMendu例えばGridSplitter付きのパネルの開閉をアニメ付きでヤるとしたら、xamlじゃとても書けないけど
VMにやらせる仕事じゃないって場合とか、BringToViewなんかもViewで完結させるべき仕事だね
ビヘイビアやトリガーアクション使ってもいいけど無理やり突っ込むこともない
0130デフォルトの名無しさん
2016/11/10(木) 07:51:19.71ID:aHkFnxegHorizontalAlignment="Left" VerticalAlignment="Top"
Text="Button" />
<Button Name="btn1" Content="{Binding Text1.Text}" Height="23" Width="70"
Margin="5,35,0,0" HorizontalAlignment="Left" VerticalAlignment="Top"
Click="Button_Click"/>
ちっともBindingせんがーーー。W
エラーもでんし。
0131デフォルトの名無しさん
2016/11/10(木) 07:53:05.39ID:aHkFnxegこのバインドの書き方のどこが筋が通ってないんや?
0132デフォルトの名無しさん
2016/11/10(木) 08:11:55.57ID:aHkFnxegそうだこれがぬけてると検索場所が特定できんのだ。
私は私ですから私を検索してくだされ。
えっ、これでもやっぱりだめ。
0133デフォルトの名無しさん
2016/11/10(木) 08:24:57.67ID:o8sMenduxamlはhtmlと比べたら格段に進歩した代物だ
まあこんなケチを付けているんだから
htmlなんて触ったことない化石プログラマーなんだろうね
0134デフォルトの名無しさん
2016/11/10(木) 08:57:47.72ID:aHkFnxegところが味噌。
0135デフォルトの名無しさん
2016/11/10(木) 09:16:40.69ID:o8sMenduそれを解決する方法のBindingにケチをつける
化石の末期だなw
0136デフォルトの名無しさん
2016/11/10(木) 09:43:37.91ID:aHkFnxeg<SolidColorBrush x:Key="MyBrush" Color="Blue"/>
</Window.Resources>
ボタンのインスタンスIDはNameでリソースの場合hx:Keyかよ。笑かすな。W
0137デフォルトの名無しさん
2016/11/10(木) 10:15:41.71ID:aHkFnxeg大本の識別機構の混乱
XAMLコード中でIDictionaryインターフェイスを実装する要素に子要素を追加する際には
x:Key 属性の指定が必須
ただし、Styleクラス(System.Windows名前空間)のように、クラスにDictionaryKeyPropertyAttributeを付与して、(x:Key 属性の)代替となるプロパティ(Styleクラスの場合はTargetTypeプロパティ)を設定しているクラスの場合には、x:Key属性 を省略可能。
Styleクラスでは、x:Key 属性の代替としてTargetTypeプロパティを利用している。
高々リソースに名前振るだけで、、、ぷっ。
0138デフォルトの名無しさん
2016/11/10(木) 10:16:51.48ID:aHkFnxeg無批判に受け入れるのはよくない。「飼いならされて、食用にされる家畜」だよ。
In the world's broad field of battle,
In the bivouac of Life,
Be not like dumb, driven cattle !
Be a hero in the strife !
0139デフォルトの名無しさん
2016/11/10(木) 10:29:24.03ID:aHkFnxeghttp://www.atmarkit.co.jp/ait/articles/1010/08/news123.html
1ページ何を言ってるのか全然わからん。突っ込みどころが多すぎて、突っ込む気にもならん。
それとも誤字脱字が多いのかな?なんか説明が間違ってるだろ。論理がつながっていない。
うちのばあちゃんにでもわかるように説明してみろや。
{Binding X} という書き方は、{Binding Path=X} と同じ意味である。
藁、「同じ意味である」って、そんなら最初から一つに絞っておけよ。
{Binding Path=X} いらんだろ。
BindingにPath以外のプロパティはないんだろ!! 最初からBindingでいいだろ
パスもプロパティもいらんわ。
0140デフォルトの名無しさん
2016/11/10(木) 10:43:36.65ID:aHkFnxeg<Window.Resources>
<ResourceDictionary Source="Styles.xaml"/>
</Window.Resources>
includeにしろよな。常識だろ。
0141デフォルトの名無しさん
2016/11/10(木) 11:38:19.49ID:ElAt+S/3フォームにプロパティグリッドがあります
プロパティグリッドの中でCtrl+Zを押したときに
普通はプロパティグリッドが持っているアンドゥが呼ばれますが
これをフォームの独自のアンドゥ・メソッドを呼び出すようにしたいのですが、
どうすればいいですか?
0142デフォルトの名無しさん
2016/11/10(木) 12:03:59.07ID:dRW/oH8h思いつくのは、IMessageFilterを使ってWM_KEYDOWNでCtrl+Z拾ってやることかな
入力中のコントロールをControl.FromHandleで取れたら幸い
0143デフォルトの名無しさん
2016/11/10(木) 12:19:50.11ID:CCFq8QepPathは省略可能ってだけで、他にもプロパティあるし。
自分で張ったリンク先の2ページ目にも書いてあるだろ。
0144デフォルトの名無しさん
2016/11/10(木) 12:41:10.63ID:lWSBQV9X理解できない自分の頭を呪いな
0145デフォルトの名無しさん
2016/11/10(木) 12:59:35.96ID:otGHoxmh.NET1.1の頃からそんなのあったのか
まったく知らなかったw
しかし、IMessageFilterっていうかApplication.AddMessageFilterって結構恐ろしい仕組みだなw
NativeWindowの方が安全な気がするんだけど
0146デフォルトの名無しさん
2016/11/10(木) 13:07:51.76ID:ElAt+S/3IMessageFilterでCtrl+Z拾ってできました
ありがとうございます
0147デフォルトの名無しさん
2016/11/10(木) 14:50:01.95ID:zCCtWAZL結局、言われた指摘には何も返せず自分が理解できないのに適当に騒いでるだけじゃん
C言語とかやったら配列があればポインタいらないじゃん!とか騒いでそう
省略可能な記述についても、html5とかの仕様を見たらhtmlとかbodyとかのタグいらないじゃん!とか叫びそう
http://qiita.com/labocho/items/54fd70c73ced35c8ba49
0148デフォルトの名無しさん
2016/11/10(木) 15:34:39.47ID:aHkFnxegBindingの本質はというと要するにXamlのText="{Binding pName}" が意味するのは
var bind = new Binding("pName") { Source = per };
text1.SetBinding(TextBox.TextProperty, bind);
この二つの処理やないか。こいつを省略形で書いてるだけのことやろ。
チュートリアルでちゃんとこう言うように書けよな。そしたら3秒でわかるのに。
原辰。
0149デフォルトの名無しさん
2016/11/10(木) 15:45:02.09ID:aHkFnxeg1pが意味不明なので2pは見てなかった。
しかもインテリセンスが糞やからPath以外のプロパティがあるのかないのかわからん。
あくまでも
「BindingのプロパティはPath以外に無い」という前提、仮説の下でケチつけてる
わけであって、それはチャンと明記している。W
一遍にりかいするんは難しい。
OneWay ソースからターゲットへの一方通行の同期になります。
TwoWay ソースとターゲットの双方向の同期になります。
OneWayToSource ターゲットからソースへの一方通行の同期になります。
OneTime ソースからターゲットへ初回の一度だけ同期されます。
モードがあるじゃないか。ならインテリセンス効かせろや。
0150デフォルトの名無しさん
2016/11/10(木) 15:59:51.17ID:aHkFnxeg正確に説明できん
プロパティのインテリセンスも出せん
とか、要するに自分の頭で考えたものじゃなくて、アッチコッチから借りてきた借り物をくっつけ
て作り上げてるからだろ。ほんとうのところが正確に把握できてないんだよな。
0151デフォルトの名無しさん
2016/11/10(木) 16:05:52.04ID:aHkFnxegINotifyPropertyChangedインターフェースを実装
DependencyPropertyにしてしまう (インスタンスを生成したスレッドのみに限定される)
二つの方法がある。
PropertyChanged(this, new PropertyChangedEventArgs("pName”));
プロパティの変更でこれをやってやればいい。
なんやねん。結局イベント処理は書かなだめやないか? どんだけのメリットがあるか。W
0152デフォルトの名無しさん
2016/11/10(木) 16:10:01.34ID:ApowNrKSLINQ君
XAML君←new
0153デフォルトの名無しさん
2016/11/10(木) 16:33:44.59ID:aHkFnxegWEBを見たら、いろいろと説明が書いてるがどれも分りにくい。
C#でもVBでも1日も触っていたら、そこそこ使えるようになる。うろ覚えでも
プログラムはできる。
WPFは説明が中途半端なので肝の部分がはっきりしない。
バインディングするんならイベントもちゃんとバインディングしないとだめだわ。
バインディングを間違っていても反応なしだしな。W エラーすらチェックできてない。
中途半端。
0154デフォルトの名無しさん
2016/11/10(木) 17:47:19.45ID:riiUw9jl0155デフォルトの名無しさん
2016/11/10(木) 17:49:55.89ID:ApowNrKS0156デフォルトの名無しさん
2016/11/10(木) 19:15:21.25ID:pqjjw4yY拒絶するのは勝手だがいちいち布教しようとするのはウザイ
0157デフォルトの名無しさん
2016/11/10(木) 19:22:39.57ID:CGPJd07S0158デフォルトの名無しさん
2016/11/10(木) 19:23:04.26ID:ApowNrKS0159157
2016/11/10(木) 19:31:03.19ID:CGPJd07SIEで動画見ながら、IEがダウンロードしてるデータがストリーミング動画かどうかを判断して、動画ならIEの画面に表示される前に手を加えたいんです。
0160デフォルトの名無しさん
2016/11/10(木) 19:36:34.41ID:hirKpSKv0161デフォルトの名無しさん
2016/11/10(木) 20:17:59.57ID:13nZCkn2自分が使うのは無理だ参りましたと思ったら使わなければいい
ただどちらを選択したかは別に他人に伝えなくていい
0162デフォルトの名無しさん
2016/11/10(木) 22:17:57.52ID:c1KzPo7d現実的な内容じゃない
基本的に無理
プロキシ―作っても動画をいじれる技量が君にあるとは思えない
0163デフォルトの名無しさん
2016/11/10(木) 23:07:13.32ID:pEVMYV3pIEは、オープンソース(OSS)じゃないから、改造するのは難しい。
OSSは、Firefox, Chromium, Safari
Atom, Visual Studio Code, Electron は、Chromiumを使っている
0164デフォルトの名無しさん
2016/11/11(金) 03:04:38.37ID:+gNs9Nbk君はWPFどころかC#もよく理解できてないみたいだから、C#入門書からスタートするのがおすすめ
0165デフォルトの名無しさん
2016/11/11(金) 04:07:56.66ID:KgVthd+hストリーミングをやるコンポーネントはあるだろ。そのデータ取り込み部分を
バッファリングして中を加工すればいいだけだろ。W
画像認識をするのかな?
0166デフォルトの名無しさん
2016/11/11(金) 07:05:40.26ID:KgVthd+hICommandを実装する理由はなんだ?
ttp://www.atmarkit.co.jp/ait/articles/1011/09/news102_3.html
これは読んでいくとよくまとまっているが、これだけでは難しすぎて
何を言ってるんかわからん。まるでMS。
そもそもICommandってなーに?
1. 処理の実行可否を状態として持つ、また状態の変更を通知
2. XAMLからメソッドの呼び出しはコードビハインドしか利用できないが、ICommandはバインドが利用でき別クラス(ViewModel)の処理を呼び出すことができる
中身は
public interface ICommand
{
void Execute(object parameter);
bool CanExecute(object parameter);
event EventHandler CanExecuteChanged;
}
0167デフォルトの名無しさん
2016/11/11(金) 07:07:03.74ID:zUQAdwQM0168デフォルトの名無しさん
2016/11/11(金) 07:08:21.41ID:KgVthd+h優れた例を提示しておく。
優れた例
XAML
<TextBox Text="{Binding Name}"/>
<Button Content="実行" Command="{Binding ExecuteCommand}"/>
<Label Content="{Binding Result}"/>
ViewModel
public DelegateCommand ExecuteCommand { get; }
public MainWindowViewModel(){
ExecuteCommand = new DelegateCommand(() => Result = "登録OK", CanExecute);
}
private bool CanExecute(){
return !string.IsNullOrWhiteSpace(Name);
}
private string _name;
public string Name{
get { return _name; }
set { if (OnPropertyChanged(ref _name, value)) ExecuteCommand.RaiseCanExecuteChanged();}
}
0169デフォルトの名無しさん
2016/11/11(金) 07:09:49.57ID:KgVthd+hコンストラクタの中でインスタンス化
() => Result = "登録OK"
これはなんやねん? このアクションの書き方がわからんなーという人。
ラムダ式、、、初めて聞いた?
0170デフォルトの名無しさん
2016/11/11(金) 07:13:06.18ID:KgVthd+hC#の方が難しいわ。まあでも何とか動かせる。WPFもBindingだけわかったので何とか
使えるレベルにはなったな。
問題はMVVMパターンだな。
MVVMじゃなくてM-VM-VかV-VM-Mでないとだめだよな。VVMMの方がいいと思う。
0171デフォルトの名無しさん
2016/11/11(金) 07:23:51.87ID:KgVthd+h1.Bindingの理解
2.「優れた例」でVVMM(またはMVVM)を理解する こっちはまあボチボチでもOK
MSの文書は酷いがIT−PROの文書は体裁としてはよくまとまってはいるが説明が難しい。
第一に例が悪い。
第二に例にセンスがない。
第三に例の説明が下手。
単純化したシンプルな例で示さないと「俺はこんなにすごいんだぞ」みたいな
複雑な例では分からん。
0172デフォルトの名無しさん
2016/11/11(金) 08:31:34.35ID:KgVthd+hコードビハインドをVMにしたらいいんではないか? VとのIFはここで全部やった
らいいと思うがな。
なんか必要性がいまいちわからんなー。
0173デフォルトの名無しさん
2016/11/11(金) 08:51:31.09ID:qDFZLZyC必要性が何なのかちゃんと調べたのかい?
0174デフォルトの名無しさん
2016/11/11(金) 09:40:30.93ID:yIFyhkZ00175デフォルトの名無しさん
2016/11/11(金) 09:43:11.94ID:M2uBl8fvラムダ式は、Java, JS, Rubyなど、たいていの言語にある
例えば、独自の方法で、ソートしたい場合、先に比較関数を定義してから、
その関数を引数として、sort()に渡す
比較関数{ ここで定義する };
sort(比較関数);
ところが、先に定義するのは面倒だから、sort()の引数の所で、
匿名(無名)関数として定義して、そのまま引数として渡せれば、簡単。
それの糖衣構文で、関数宣言も無くしたのが、ラムダ式
JSで書くと、
var a = ["Hydrogen", "Helium", "Lithium", "Beryl-lium"];
匿名関数・ラムダ式
var a2 = a.map(function(s){ return s.length });
var a3 = a.map( s => s.length );
0176デフォルトの名無しさん
2016/11/11(金) 13:38:45.67ID:KgVthd+h使わないかな。
右も左もわからないのにアンドロイドアプリ(簡単なんだが、、)を作る
羽目になってしまった。しかしXamalinダウンロードしてみたらXamlに似ていて
驚いたわ。W
WPFを勉強したかいがあった。これからバリバリつくってみる。
0177デフォルトの名無しさん
2016/11/11(金) 18:30:50.13ID:ciOc6C5W例えば、List<string>をList<object>に変換したい時、
var hoge=list.map(x=>(object)x);
だけで良い。foreachとかで書くより楽で読みやすい
0178デフォルトの名無しさん
2016/11/11(金) 18:55:28.67ID:+ZeaIXfwやっぱりラムダ式が便利だと感じる
0179デフォルトの名無しさん
2016/11/11(金) 18:56:03.62ID:qDFZLZyCXamlに似てる?勘違いしてんぞお前
0180デフォルトの名無しさん
2016/11/11(金) 18:57:11.76ID:0OJ17qIgList<T>.ComvertAll<TOutput>(Converter<T,TOutput>)ではダメなんか?
0181デフォルトの名無しさん
2016/11/11(金) 19:20:11.62ID:KgVthd+hXamlそのものだわ。C++もC#のFormもXmalinUIもあって、3種類の開発環境がある。
まともに動けば凄いよ。W
でもサンプルを動かしたまではすんなりいったんだが署名ができないとか、文字ばけ
するとかどうも先が思いやられるのでxamalin
やめてAndroid Studioにしようかと迷ってる。こっちはJavaだけど、、
0182デフォルトの名無しさん
2016/11/11(金) 19:58:04.56ID:JZCe9Y2P0183デフォルトの名無しさん
2016/11/11(金) 20:14:46.10ID:tUVkv4AT0184デフォルトの名無しさん
2016/11/11(金) 20:20:02.48ID:TqB+9XQ40185デフォルトの名無しさん
2016/11/11(金) 20:27:50.64ID:nfVHRfzRc#初心者スレがあるからそっちにいった方がいい
いい加減うっとおしい
0186デフォルトの名無しさん
2016/11/11(金) 20:46:50.11ID:KgVthd+h0187デフォルトの名無しさん
2016/11/11(金) 20:49:06.76ID:nfVHRfzR0188デフォルトの名無しさん
2016/11/11(金) 21:09:36.24ID:TOO7Y3Ld0189デフォルトの名無しさん
2016/11/11(金) 22:25:05.87ID:+gNs9NbkXamarinはC#に相当慣れ親しんでるか、androidもiOSもそこそこやってる人がまとめて開発したいって場面以外ではまだおすすめできる状態じゃないかな
まだ情報も少ないし、ラムダ式とかイベントとかの基本を自力で調べられない人には特に厳しいと思う
0190デフォルトの名無しさん
2016/11/12(土) 20:58:13.68ID:RWma0It4まずエミュレータが動かない
WindowsPhoneが頑張ってくれてたら
引き続きVisualStudioで開発できたのに
どうしてここまで差を付けられたのか
MSってエリート揃いじゃないのかな?
0191デフォルトの名無しさん
2016/11/12(土) 21:30:04.79ID:cIUa0gZx0192デフォルトの名無しさん
2016/11/12(土) 23:10:09.55ID:l9OhshgV流石の聖人マイクロソフトもお荷物を抱えきれなくなってきたんだろうね
0193デフォルトの名無しさん
2016/11/13(日) 02:11:36.78ID:PRCnkR8cBindingが理解出来ないのなら、全部コードビハインドで書けば良いのに。
0194デフォルトの名無しさん
2016/11/13(日) 02:55:57.86ID:+xp6lf8w苦労して覚えたものを擁護したくなる気持ちはわからんでもないけど、
10年経ってもほとんど普及してないのにはやっぱりそれなりに理由があると思う。
パフォーマンスの問題は目をつぶるとしても、個人的には可読的じゃないのが大きいと思うんだよね。
書いてるときはいいんだけど、自分が書いたものであっても後から見るとどこで何をやってるのか
ぱっと見て分からないし見当がつかない。
MVVM(正直これはあんまり理解してないんで誤解してるかもしれんが)にしてもそうだけど、
理念的に綺麗なのはわかるけど何か「これじゃない」感が強いというか、美しい理想の実現のための
コストが大きすぎるというか...
0195デフォルトの名無しさん
2016/11/13(日) 09:01:19.59ID:sNDrzqcx綺麗なコードをみてみたら素晴らしさが一発でわかるとおもぞ。直感的にすぐに
わかる。わからないようなのではだめだな。
だれか194のためにだせるかな?
0196デフォルトの名無しさん
2016/11/13(日) 09:45:56.53ID:lb7gRuG3同意。結局世の中に求められてるのは
大ヒットしたVB6レベルなんじゃないかねえ
SOAPがはやらなかったのも一緒。
0197デフォルトの名無しさん
2016/11/13(日) 10:23:03.20ID:67al7/78ポトペタも出来るし。
0198デフォルトの名無しさん
2016/11/13(日) 10:23:37.75ID:sNDrzqcx上がる。と考える人が殆どだから?
0199デフォルトの名無しさん
2016/11/13(日) 10:50:51.74ID:lO2MkZMm今時html触ったことない人なんだろうか?
0200デフォルトの名無しさん
2016/11/13(日) 11:12:37.23ID:ZjdX2IN8んーーーーんと考え込むよりもサクサクと作れるような案件ばかりだからだろ
0201デフォルトの名無しさん
2016/11/13(日) 11:39:53.10ID:IKKUDTFwそんな擁護とか色眼鏡で見ないでも、単純に学習コストが高いのが一番のネックだろう。
0202デフォルトの名無しさん
2016/11/13(日) 11:52:49.11ID:fBLfWj6L振るまいを独立にモデリングした上で、UIのどことモデルのどこを対応付けるか、を明確化するのがMVVMであり、バインディングの利点じゃん?
従来のフォーム・イベントゴリ押し的なやり方だとこれが曖昧化してしまうから、どこで何をやってるかがわからなくなる
MVVMでわけわからなくなる人はなにか根本的に間違ったことやってるんじゃないかな?
0203デフォルトの名無しさん
2016/11/13(日) 12:15:54.37ID:IKKUDTFw慣れてないだけだと思う
>>194
MVVMは高コストって主張も分かる。
単純な案件にはオーバースペックだし、Formsでも十分。
0204デフォルトの名無しさん
2016/11/13(日) 14:15:44.38ID:67al7/780205デフォルトの名無しさん
2016/11/13(日) 15:30:42.14ID:zWTpia8y0206デフォルトの名無しさん
2016/11/13(日) 19:32:23.00ID:wHFHc9ra0207デフォルトの名無しさん
2016/11/13(日) 19:51:43.67ID:6IaE8voh間違った変更は拒絶して例外を投げるのが基本のOOP
間違った変更を一時的に受け入れて(そのかわりエラーを状態の一部として持つ)コミット時に不変条件を満たせば良いMVVM
Formsなら例外をキャッチしてメッセージを出して入力を戻すだけでいいからOOP的に正しいモデルをそのまま再利用できる
要するにビューがドメインモデルについてよく知らなくてもビジネスルール的に正しい状態に保つことができる
MVVMだとビュー及びビューモデルがビジネスルール的に正しいか正しくないかということを知っていなければならない
それはビューやビューモデルではなくドメインモデルが管理すべき情報でしょ
0208デフォルトの名無しさん
2016/11/13(日) 22:40:30.15ID:67al7/78難しいから全部フラットで良いよ。
0209デフォルトの名無しさん
2016/11/14(月) 17:11:40.86ID:iSq4NCnavar dic2 = new Dictionary<string, string> { { "key", "value" } };
どちらでも動くようなのですが、カッコは付けるほうが良いですか?
0210デフォルトの名無しさん
2016/11/14(月) 19:10:02.84ID:xSfNgSMsお好きな方で。
今なら
{["key"] = "value"}
の方が解りやすいかも。
0211デフォルトの名無しさん
2016/11/14(月) 22:10:40.45ID:p26anznyA, Bは自由入力欄、CはA * Bを出力する読み取り専用(A, Bが変化したら即座に再計算される)
A, Bに数値と解釈できない文字列(decimalに変換できない文字列)が入力された場合、即座にERRVALという文字列に置き換える
Cが計算不能な場合、ERRVALという文字列に置き換える
このような画面をWPFで作成したいのですがViewModelとxamlはどのように書けばいいでしょうか?
0212デフォルトの名無しさん
2016/11/14(月) 22:57:37.38ID:2SylIT9P0213デフォルトの名無しさん
2016/11/14(月) 23:09:54.35ID:p26anzny他のプログラマがどう書くか参考にしたいです
0214デフォルトの名無しさん
2016/11/15(火) 00:54:17.56ID:gSjda41/htmlにはCSSがあるから見た目は外に出せる
0215デフォルトの名無しさん
2016/11/15(火) 07:18:35.80ID:wcWx6QZbならまず自分がどう書いたかを晒せよ
0216デフォルトの名無しさん
2016/11/15(火) 07:47:41.89ID:AaicVHah0217デフォルトの名無しさん
2016/11/15(火) 08:30:57.20ID:9/yxKzNnReactivePropertyのサンプルならググれば見つかるから参考にすりゃいいよ
0218デフォルトの名無しさん
2016/11/15(火) 10:37:08.44ID:9/yxKzNnxamlを腐しているやつは、xamlを全然知らないんだな
0219デフォルトの名無しさん
2016/11/15(火) 11:29:28.89ID:f/VYzzwV0220デフォルトの名無しさん
2016/11/15(火) 12:05:59.99ID:Sy8HLWAK残念なやつ
0221デフォルトの名無しさん
2016/11/15(火) 12:12:58.11ID:f/VYzzwV0222デフォルトの名無しさん
2016/11/15(火) 12:39:21.59ID:Sy8HLWAK顔真っ赤www
0223デフォルトの名無しさん
2016/11/15(火) 14:14:09.51ID:EsNZ5iro0224デフォルトの名無しさん
2016/11/15(火) 17:55:17.20ID:idS/rHgA必要なところで必要な形を使うのが良い
0225デフォルトの名無しさん
2016/11/15(火) 18:43:22.99ID:IxpYJQnbmizchiと取り巻きの声だけやたらデカいReactみたいなもんだ
0226デフォルトの名無しさん
2016/11/15(火) 22:31:04.10ID:YqUWOmsBstyle等は外に出せるぞ。
0227デフォルトの名無しさん
2016/11/16(水) 10:35:34.62ID:hL8zHUS90228デフォルトの名無しさん
2016/11/18(金) 23:01:26.36ID:+QqWh5chaがnullでないならaを用いてmyfuncの計算結果をbに入れたいのですが、
var b = (a == null) ? null: myfunc(a);
こんなふうにしたのですが、もっとスッキリ書けそうな気がするのですが、
思い付きません。
もっとスッキリ書けますか?
0229デフォルトの名無しさん
2016/11/18(金) 23:08:28.42ID:2P9KWEZx0230デフォルトの名無しさん
2016/11/19(土) 01:56:09.52ID:eBIxsLr/var b = a?.myfunc(a);
0231デフォルトの名無しさん
2016/11/19(土) 01:57:55.29ID:eBIxsLr/230は間違い。忘れてくだされ
0232デフォルトの名無しさん
2016/11/19(土) 03:57:45.25ID:gmVZjmNib = myfunc(a)で済むんだがなぁ
まあきっとそうではない何かをする関数なんだろうな
おれならaやbがnullである事に特別な意味があったり、myfuncを呼ばない事に特別な意味があるなら
ちゃんとif文書くけどな
0233デフォルトの名無しさん
2016/11/19(土) 10:29:56.40ID:0bgRfGhzstring myfunc(string a){
if(a==null)
return null;
を追加したらスッキリしました!
0234デフォルトの名無しさん
2016/11/19(土) 11:12:00.41ID:6I7N2mEo余計なことを言いたくなるなあ…
0235デフォルトの名無しさん
2016/11/19(土) 11:15:09.05ID:ZfUdGYAZどうしてもならジェネリックの拡張メソッドを作っとく手もあったね。
0236デフォルトの名無しさん
2016/11/19(土) 17:50:29.26ID:t3MBfDke0237デフォルトの名無しさん
2016/11/19(土) 17:52:57.62ID:E8arxXAw0238デフォルトの名無しさん
2016/11/19(土) 17:55:21.80ID:VKIYWaqIまたその話か
それはないよ。
0239デフォルトの名無しさん
2016/11/19(土) 23:03:49.26ID:0bgRfGhzなんで?
0240デフォルトの名無しさん
2016/11/20(日) 00:13:29.86ID:BknfpFpO暫定的にとはいえ不正な状態のオブジェクトを受け入れるってのが致命的にコードを汚くする
カプセル化で状態を保護するのが基本のオブジェクト指向に喧嘩売ってるとしか思えない
0241デフォルトの名無しさん
2016/11/20(日) 00:26:32.91ID:K2ib4r+Uその関数使う使う時に一々nullチェックするの面倒。
それを忘れない保証もどこにもないし。
0242デフォルトの名無しさん
2016/11/20(日) 00:30:59.63ID:ckE9xegj何という頭の悪さ。
nullを禁止したらnullを返すことで表現していたことを
もっと面倒な別の方法で呼び出し側に伝達する必要が生じるんだけど。
何でこんな簡単なことが分からないのかね。
0243デフォルトの名無しさん
2016/11/20(日) 01:00:26.85ID:KPo4Qlq+返されたとしてもどのみちチェックする必要が出てくる
0244デフォルトの名無しさん
2016/11/20(日) 01:09:39.51ID:X8MMRSH30245デフォルトの名無しさん
2016/11/20(日) 01:27:12.98ID:K2ib4r+U勉強不足
0246デフォルトの名無しさん
2016/11/20(日) 01:38:16.74ID:K2ib4r+UC#7.0か8.0に期待。
0247デフォルトの名無しさん
2016/11/20(日) 02:13:42.33ID:ckE9xegj馬鹿じゃなきゃちょっと考えればわかるはずだが、
必ず既定値で初期化されるようにするにしろ初期化なしの変数宣言ができないようにするにしろ、
nullを許容することの弊害とは別のより大きい弊害や利便性の低下を生むだけ。
だいたい、nullを許容することの弊害なんて大半はそれを主張してる奴が勘違いしてるだけだ
0248デフォルトの名無しさん
2016/11/20(日) 02:22:59.08ID:9PtzIqGH0249デフォルトの名無しさん
2016/11/20(日) 02:25:15.52ID:ckE9xegj馬鹿かそうでないか、それだけの問題
0250デフォルトの名無しさん
2016/11/20(日) 05:58:45.20ID:2ye3zmI2nullを返す関数や変数にnullを代入する処理をよく使うのですが、
それで混乱した経験も無いのですが、なぜ、
nullを返す関数
変数にnullを代入
に反対する人がいるのでしょうか?
0251デフォルトの名無しさん
2016/11/20(日) 07:22:58.86ID:pCJ1qvOZ>>241と同じ
0252デフォルトの名無しさん
2016/11/20(日) 08:05:54.92ID:2ye3zmI2>その関数使う使う時に一々nullチェックするの面倒。
>それを忘れない保証もどこにもないし。
この意味が分からないのですが、関数を使うときにnullチェックする
と言うのは何ですか?
関数がnullを返す場合もあるように自分でそうしているわけだから
何も問題ないと思いますが。
0253デフォルトの名無しさん
2016/11/20(日) 08:15:43.24ID:pCJ1qvOZ理解できない奴には理解できないからもう気にするな。null禁止にしても同じ問題起きるしw
0254デフォルトの名無しさん
2016/11/20(日) 08:27:09.27ID:2ye3zmI2気になるんです。
教えてください。
0255デフォルトの名無しさん
2016/11/20(日) 08:32:27.43ID:w/pS54nD普通のオブジェクトでnull禁止はありえないからね
0256デフォルトの名無しさん
2016/11/20(日) 08:43:15.40ID:pCJ1qvOZ(nullでなく()デフォルト値を入れた空のオブジェクトを返すって考え方もあるからオブジェクトでも同じだよ
そもそも1つの戻り値で関数失敗成功情報まで返そうとするのが間違い
0257デフォルトの名無しさん
2016/11/20(日) 08:47:01.08ID:3blV6AGf0258デフォルトの名無しさん
2016/11/20(日) 09:29:50.43ID:2ye3zmI2>面倒なのは、String
C#で文字列を扱っていてnullの扱いで面倒だと感じた経験が
一度もないのですが、Stringでnullがなぜ面倒なのですか?
0259デフォルトの名無しさん
2016/11/20(日) 09:42:15.04ID:BknfpFpOエラー許容型を作ってそれを使うのが定石
Errorable<string> s = func();
if(s.HasNoError) WriteLine(s.Value);
else WriteLine(s.ErrorMessage);
if(s.NotFound) ...
if(s.AuthError) ...
if(s.FormatError) ...
...
0260デフォルトの名無しさん
2016/11/20(日) 09:59:28.46ID:Y223jndk> その関数使う使う時に一々nullチェックするの面倒。
> それを忘れない保証もどこにもないし。
全然改善されてないだろ w
てか、その例なら素直に例外使えよ
0261デフォルトの名無しさん
2016/11/20(日) 10:11:47.90ID:GbOcvoRT0262デフォルトの名無しさん
2016/11/20(日) 10:12:24.08ID:wbF3tHCAチェックなしでValueにアクセスしたら例外を投げる
Errorableという名前が見えることによってチェックを忘れるということを回避できる
チェックがめんどくさいという怠惰さには手の施しようがないがnullやエラーコードと違ってチェック方法が統一化できる点も優れている
0263デフォルトの名無しさん
2016/11/20(日) 10:27:40.57ID:9PtzIqGHValueプロパティは、もちろん無し。
0264デフォルトの名無しさん
2016/11/20(日) 10:30:00.58ID:X8MMRSH3仕様を否定したって聞き入れる訳ないじゃん
ヘジにアントニー・ホーアの言葉をどう考えるか聞いた奴がいるが
なんて答えたか知らないんだろうし
(あるいは、C#に間違いがあってはならないから目をつぶっているか、そもそも英語は読めないか)
0265デフォルトの名無しさん
2016/11/20(日) 10:30:10.23ID:9PtzIqGHぼっちで書いてる時は、好きにする宜し。
0266デフォルトの名無しさん
2016/11/20(日) 10:35:26.28ID:2ye3zmI20267デフォルトの名無しさん
2016/11/20(日) 10:37:02.45ID:NgPgW0rj現在、null非許容型を破壊的にならないように言語仕様を変えよう(追加しよう)としている。
将来を全て見通せる人は、いないと言う事だよ。
0268デフォルトの名無しさん
2016/11/20(日) 10:38:09.66ID:Y223jndk> チェックなしでValueにアクセスしたら例外を投げる
ならはじめから例外でいいだろ
> Errorableという名前が見えることによってチェックを忘れるということを回避できる
マジで言ってるの?
チェックする箇所には変数名しか見えないんだが...
まあ IDE でいちいち型を確認すればいいんだろうけど、エラーチェック忘れるような奴はそう言う型の確認も忘れるわけで...
> チェックがめんどくさいという怠惰さには手の施しようがないがnullやエラーコードと違ってチェック方法が統一化できる点も優れている
たぶん思い付きで書いてるんだろうけど例えば Errorable<string> の
> if(s.AuthError) ...
って何を返すの?
自作のクラスで新しいエラー状態をチェックしたい時はどうするの?
いちいち Errorable を派生させたりしたらチェック方法が統一できないしどうするつもり?
0269デフォルトの名無しさん
2016/11/20(日) 10:40:19.54ID:Y223jndkお前さんがそれでいいならなんの問題もない
0270デフォルトの名無しさん
2016/11/20(日) 10:48:41.71ID:NgPgW0rj最近は若くても「老害」みたいな人が少なくないよね。
新しい事を覚える・勉強するのを嫌がる。
現状のやり方を変えるのを恐れる。
現状維持大好き。
良いか悪いは別問題だけど。
0271デフォルトの名無しさん
2016/11/20(日) 10:58:38.68ID:wbF3tHCA初めから例外を投げるではチェックのためにtryを書かなければならない
パフォーマンスが悪いしifで分岐する処理を書きたいという場面では構文的に不利で不適切
変数の型が見えなくなるほど長いスコープは普通は書かないので考慮しなくて良い
エラーというのは幾つかの典型的なエラーに分類可能
例であげたようにNotFoundやAuthErrorといった幾つかの典型的なエラーを定義しておけば良い
新しいエラーを定義する必要はない
0272デフォルトの名無しさん
2016/11/20(日) 11:34:52.66ID:Y223jndk> パフォーマンスが悪いしifで分岐する処理を書きたいという場面では構文的に不利で不適切
まあ、これはいいとして
> 変数の型が見えなくなるほど長いスコープは普通は書かないので考慮しなくて良い
フィールドとかには使えないってことでいいかな?
> エラーというのは幾つかの典型的なエラーに分類可能
へー、すごいね w
> 例であげたようにNotFoundやAuthErrorといった幾つかの典型的なエラーを定義しておけば良い
で、Errorable<string> の AuthError ってなにさ
> 新しいエラーを定義する必要はない
自称エスパーのお前はそうなんだろうね w
0273デフォルトの名無しさん
2016/11/20(日) 11:43:29.92ID:lYnhz1xv「nullをなくせ」という意見にはまったく賛同できないが
エラー許容型は、エラーの種類を enum で返すプロパティを付けたものをよく作る
(エラー種類ごとにプロパティ作るようなことはしない)
でも、nullで済む場合も多いんだよね
0274デフォルトの名無しさん
2016/11/20(日) 11:43:53.85ID:kKwT4/wtはぁ
今は返り値の話をしているんだろ
そもそもオブジェクトの内部状態であるフィールドがエラーを受け入れるのが間違いって基本的なことになんで思い至らないのか
すごいっていうか、常識
人間がどんだけエラー処理と付き合ってきたと思ってるんだ?
AuthErrorは認証、認可のエラー
2chの書き込みだから横着して省略したがこれらは普通は別にする
nullを見ただけでエラー内容がわかる歴史上類を見ないほどに強力なエスパーの君にはかなわないよ
プログラマにしておくのは勿体無いから新しい宗教でも立ち上げることをお勧めするよ
0275デフォルトの名無しさん
2016/11/20(日) 11:47:36.19ID:pCJ1qvOZ0276デフォルトの名無しさん
2016/11/20(日) 11:47:38.25ID:GbOcvoRTその考えの場合はnullじゃなくて、""を返すのも良いかもね。
0277デフォルトの名無しさん
2016/11/20(日) 11:56:23.29ID:Y223jndk> そもそもオブジェクトの内部状態であるフィールドがエラーを受け入れるのが間違いって基本的なことになんで思い至らないのか
え?
オレオレスタイルをどや顔で言われても困るんだが w
> これらは普通は別にする
結局 Errorable<string> と Errorable<database> は別に作るってことかよ...
チェック方法が統一出来るとかほざいてたのにね w
0278デフォルトの名無しさん
2016/11/20(日) 12:10:20.24ID:kKwT4/wtはぁ
オレオレスタイルではなくオブジェクト指向の基本
別に作らないよ
君は超人的エスパーだから何をどう考えてそういう答えにたどり着いたのか常人にはちょっと理解しがたいんだ
これからはそのことを考慮して常人にもわかるように丁寧に意見して欲しい
0279デフォルトの名無しさん
2016/11/20(日) 12:10:41.53ID:zFrmc+0Jオラクルですね
0280デフォルトの名無しさん
2016/11/20(日) 12:23:00.48ID:L/fyhMFXみっともないから、もう止めとけ。
0281デフォルトの名無しさん
2016/11/20(日) 12:30:03.99ID:Y223jndkオレオレスタイルは宗教だろうから教祖さんと争う気はないよ w
で、
> これらは普通は別にする
の意味を説明してみ
0282デフォルトの名無しさん
2016/11/20(日) 12:30:42.62ID:Y223jndkお前がな w
0283デフォルトの名無しさん
2016/11/20(日) 12:37:01.76ID:kKwT4/wtこの文脈でauth errorと省略せずにauthentication errorとauthorization errorに分けるという意味以外に何があるんだ?
君は何をどう考えてErrorable<string>とErrorable<database>は別に作るという考えに到達したの?
ジェネリック型の新しい使い方を編み出したの?
ハイレベルすぎてついていけないよ
一体何段階思考手続きをスキップできればこの境地にたどり着けるのか
0284デフォルトの名無しさん
2016/11/20(日) 12:38:10.81ID:aCqfb5MR0285デフォルトの名無しさん
2016/11/20(日) 12:43:24.41ID:h3zFIm5rそして普通に考えれば問題Bの悪質性はAより大きくなる場合の方が多いだろう。
nullガーって吠えてる馬鹿って何でこの程度のことが分からんかね。
(a) 値がnullであることで問題が顕在化した
からといって
(b) nullの存在が問題の原因
であるとは限らない。
この程度のことも分からない奴はプログラマ辞めろよ本当
0286デフォルトの名無しさん
2016/11/20(日) 12:45:41.10ID:2ye3zmI2そう、
オレオレスタイルではなてく
オラクルスタイルだ。
0287デフォルトの名無しさん
2016/11/20(日) 12:53:48.90ID:Jza3G5L30288デフォルトの名無しさん
2016/11/20(日) 12:54:07.99ID:Y223jndk> この文脈でauth errorと省略せずにauthentication errorとauthorization errorに分けるという意味以外に何があるんだ?
そんな話は全くしてないが?
そんなのどうでもいいから
>> で、Errorable<string> の AuthError ってなにさ
の答えを書けよ w
0289デフォルトの名無しさん
2016/11/20(日) 12:54:12.13ID:L/fyhMFX0290デフォルトの名無しさん
2016/11/20(日) 12:57:21.73ID:L/fyhMFX1つの手段は、エラー種類と「値」のタプルを返す。
これだと、エラー処理を強制は出来んけどね。
0291デフォルトの名無しさん
2016/11/20(日) 12:57:41.85ID:Y223jndk上から目線で意味のないこと言ってるけどどうしたの?
ここ仮にも技術系の板だから話に加われないなら黙っていてくれるとありがたいんだが
0292デフォルトの名無しさん
2016/11/20(日) 17:21:32.25ID:XK08TpAyでも例外が使えない場面もあるんだよなぁ
0293デフォルトの名無しさん
2016/11/20(日) 18:54:25.34ID:34y1pXq0エラーと言ってもいろんなレイヤーでいろんな事があるわけで
結論としてはケースバイケースでどれが一番とか決めれない
これを理解できずに単一の方法ですべてやろうとするからおかしな話になるわけで
まあ、宗教論はその宗旨に納得できる点がある場合もあるけど、他の宗教を認めないのがなぁ
0294デフォルトの名無しさん
2016/11/20(日) 19:03:56.76ID:eCa9a5kv一般的とは行かなくても、オレオレではない
http://faithandbrave.hateblo.jp/entry/2014/05/30/153325
http://ufcpp.net/blog/2016/11/nullproblem/
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4015.pdf
0295デフォルトの名無しさん
2016/11/20(日) 19:18:59.75ID:V9rEuhsa0296デフォルトの名無しさん
2016/11/20(日) 19:26:56.04ID:w/pS54nD普通にnull使えよw
0297デフォルトの名無しさん
2016/11/20(日) 19:31:08.12ID:34y1pXq00298デフォルトの名無しさん
2016/11/20(日) 19:46:59.71ID:ELwGw4owメリットが薄いから
3 == i と言う書き方みたいにこだわる人だけこだわる
0299デフォルトの名無しさん
2016/11/20(日) 20:23:01.03ID:JNgwCyth将来的には分からないかもよ
0300デフォルトの名無しさん
2016/11/20(日) 20:32:56.89ID:ixFUSBgZ0301デフォルトの名無しさん
2016/11/20(日) 20:42:02.87ID:RSV7nlYWSwift が非許容でそれを使う必要があるなら、それの流儀でなんの苦もなく対応しそう。
そんなことに拘ってるのはオレオレな一部の人だけじゃねーのかなぁ。。
0302デフォルトの名無しさん
2016/11/20(日) 21:02:17.68ID:2AHf550w0303デフォルトの名無しさん
2016/11/20(日) 22:12:22.04ID:eCa9a5kvそれを言い出すとなにも言語仕様がいじれなくなっちゃう
Javaとかは進化が停滞して今必死に挽回してるし
もちろん、実装や文法の複雑さと利点を天秤にかけるのは常にしてるので、Roslynのissueとかを見てみると良いよ。
もっと変なのもたくさんある
http://qiita.com/koher/items/e4835bd429b88809ab33
を見るとわかるが、実際に各言語がnull安全に取り組んでる
0304デフォルトの名無しさん
2016/11/20(日) 23:25:18.49ID:OrHcogkuそういう発想をする人ってよくいう「例外を握りつぶす」コードを書いちゃうタイプなんだろうなとは思うわ。
言いたいことは理解できるが全く同意はできない。
それはただの錯誤だからな。
安全どころか、nullであれば容易に発見できたバグをわざわざ発見困難にするだけ。
何がうれしいんだそんなの。
0305デフォルトの名無しさん
2016/11/21(月) 00:24:21.34ID:hlf3slD2・今までは無効な値(null)を返す可能性がある事は、ドキュメントを読まないと分からなかったけど定義だけで分かるから便利
・分解が色々な方法で出来て便利
まあなくても何とかなるけど、あれば便利程度
0306デフォルトの名無しさん
2016/11/21(月) 01:11:30.92ID:fZvEw43o先ず、エラーを握り潰す事が出来ない。
ドキュメントを読む必要が無い。
monadとして扱うと、一々ifで分岐書く手間がなくなる。
eitherまで踏み込めば、検査例外云々で議論する事自体が馬鹿らしくなる。
面倒くさいけどねw
C#のint?を使った事ある人には解ると思う。
コンパイラに事前チェックをしてもらえる有り難みが。
機械に解る単純作業?に対して、人間が一々苦労する馬鹿らしさが。
0307デフォルトの名無しさん
2016/11/21(月) 01:16:13.30ID:fZvEw43o「そう書く」事しか出来ないから。
強制出来るから。
0308デフォルトの名無しさん
2016/11/21(月) 01:34:00.10ID:CO+aVjyU0309デフォルトの名無しさん
2016/11/21(月) 02:03:53.66ID:n+GSTHBLOptionalはこぞって採用されているという決定的な違いがある
0310デフォルトの名無しさん
2016/11/21(月) 02:04:20.65ID:n+GSTHBLC#perにそんなこと言っても分からないよね(苦笑)
0311デフォルトの名無しさん
2016/11/21(月) 11:12:26.42ID:Ka0MFQDU0312デフォルトの名無しさん
2016/11/21(月) 11:41:21.77ID:hLpmxTjl0313デフォルトの名無しさん
2016/11/21(月) 17:31:28.36ID:fZvEw43oこのスレにもいるような「老害」は少数派だよ
と信じたい。
0314デフォルトの名無しさん
2016/11/21(月) 20:45:41.48ID:HLjti5+rnull安全の手法はこれからの主流になっていくのかもしれない
そんで、また数年後には新しいやり方に置き換えられるんだろう
0315デフォルトの名無しさん
2016/11/21(月) 21:06:27.63ID:4A1pLeCTその意図は認めるけど、null安全がその目的に対して合理的とは全く思わんがね
0316デフォルトの名無しさん
2016/11/21(月) 21:15:05.95ID:fZvEw43o例えば、C#の値型でもoption型は有意義な訳で。
0317デフォルトの名無しさん
2016/11/21(月) 22:30:24.18ID:wfKopLFyパフォーマンスはあまり気にしていない
同名同型のプロパティをマッピングできれば十分
今のところシリアライザーで誤魔化してる感じ
0318デフォルトの名無しさん
2016/11/22(火) 00:16:30.64ID:QATijxTL最初からならともかく、ここまで普及したC#で今更取り入れて定着するのは難しいよな
0319デフォルトの名無しさん
2016/11/22(火) 06:51:43.66ID:y8FHZWuV> 最初からならともかく、ここまで普及したC#で今更取り入れて定着するのは難しいよな
これには同意するけど
> null安全よりstring?.lengthの方が合理的に見えるわ
これはないわ
string が null になる可能性がないなら普通に string.length って書いた方がエラーが早期にわかるからデバッグも楽だし
0320デフォルトの名無しさん
2016/11/22(火) 07:50:04.91ID:vhsrXRxUちなみに、null非許容型導入の影響で、?.を使っていない箇所は全てwarning扱いになる話もあったりする。
0321デフォルトの名無しさん
2016/11/22(火) 13:10:29.71ID:bfu4FZ0hこれって式の左辺に何書くの?
int? hoge
とか?
で結局hoge==nullとか聞いちゃうの?
?.演算子は参照型と値型のペアでは使いにくいし分かりにくいと思う
0322デフォルトの名無しさん
2016/11/22(火) 17:09:05.83ID:EJKURZYz分かりやすく解説してくれ
0323デフォルトの名無しさん
2016/11/22(火) 17:11:14.76ID:VnsYzvlz0324デフォルトの名無しさん
2016/11/22(火) 19:57:46.66ID:vhsrXRxU例えば
int len = str?.Length ?? 0;
0325デフォルトの名無しさん
2016/11/22(火) 20:13:33.64ID:ga0p/qoV0326デフォルトの名無しさん
2016/11/23(水) 10:56:47.19ID:Sj0D9A4Yなんで過去形?
0327デフォルトの名無しさん
2016/11/23(水) 11:55:24.93ID:Sj0D9A4Yこのページで
dictionary.FirstOrDefault
とやっていますがディクショナリーにFirstOrDefaultを
やるとなぜこういう結果になるのですか?
0328デフォルトの名無しさん
2016/11/23(水) 13:27:10.63ID:GLuKyrfg何を「何故」と思ってるか分からん
0329デフォルトの名無しさん
2016/11/23(水) 18:46:09.31ID:QXjR6WNVDictionaryは、IEnumerable<KeyValuePair>を実装しているから。
0330デフォルトの名無しさん
2016/11/23(水) 19:25:46.80ID:Sj0D9A4YFirstOrDefault って最初の要素を取って来るんじゃないんですか?
何故全ての要素をループ出来るんですか?
0331デフォルトの名無しさん
2016/11/23(水) 19:44:53.91ID:GLuKyrfg『引数の条件に一致した』最初の要素ね。
内部的には列挙子で探してるよ。
0332デフォルトの名無しさん
2016/11/23(水) 19:48:19.93ID:4RFw+AHR0333デフォルトの名無しさん
2016/11/23(水) 19:49:49.71ID:dUmyuUeh0334デフォルトの名無しさん
2016/11/23(水) 20:19:45.57ID:Sj0D9A4Yそういうことですか。
良く分かりました。
皆さん、ありがとうございました。
0335デフォルトの名無しさん
2016/11/23(水) 20:45:31.10ID:mr7aPRRr時代の流れについて行けないおじいちゃん達をいかに介護するかの議論だよww
0336デフォルトの名無しさん
2016/11/24(木) 09:15:21.21ID:DNYUjCeyプロジェクトB C#ASP.NETアプリケーション(Web サイト)
プロジェクトC C#ASP.NETアプリケーション(Web API)
BとCはAに依存している
BとCは別のサーバーにデプロイする
2つのサーバーにインストールされているフレームワークが異なる(具体的には4と4.5.1)
サーバー管理者の都合によりフレームワークの更新はできない
Bをビルドする時はAのフレームワークバージョンを4にする
Cをビルドする時はAのフレームワークバージョンを4.5.1にする
このビルド時のフレームワーク切り替え作業が手間なのでなんとかして1オペレーションでビルドできるようにしたい
なんとかなりませんか?
0337デフォルトの名無しさん
2016/11/24(木) 09:36:13.90ID:iMAQMNBaaだけビルドするsln、bcだけビルドするsln作っておいて
aだけビルドするabcのslnでbcはポストビルドイベントでコマンドラインビルド、
bcだけビルドするabcのslnでaはプリビルドイベントでコマンドラインビルドとか?
0338デフォルトの名無しさん
2016/11/24(木) 14:18:54.69ID:G2Ig6DqzWebサイトって、Webアプリとは違ってランタイム側でビルドするんじゃなかったっけ?
0339デフォルトの名無しさん
2016/11/24(木) 18:57:30.96ID:/9TZdtP5プロジェクトCを4.0指定で実行させれば良いんじゃ
>>338
webサイトにもプリコンパイルってのがある
VSがサポートしてるのかどうかはしらんが
0340デフォルトの名無しさん
2016/11/24(木) 22:53:33.34ID:5QlniI4zC# で Windows のサービスプログラムを書きました。
その中でプロセス間通信を使いたく、パイプ(NamedPipeServerStream/NamedPipeClientStream)の利用を考えました。
サービスプログラムはそのままだとデバッグが面倒なので、
そのサービスプログラムを参照したフォームプログラムを作ってバグ取りをしました。
フォームプログラムからは、ボタンを押すことでサービスの開始や停止の処理をそっくり呼ぶようにしています。
ここで、
・フォームプログラムでは、問題なくパイプの送受信が出来る
・サービスプログラムでは、パイプの送受信が出来ない
ただし、サービスを止めるときにパイプの待ち受けを終了させるために、同じプログラム内から送信するデータは送受信できている
⇒ 実際に待ち受けを抜けているので同プログラム内では出来ていると思われる
と言う状態になりました。
サービスプログラム内でプロセス間通信、この場合は名前付きパイプですが、の使用に制限などはあるのでしょうか。
他の要因を考えるべきか悩みました。情報があれば教えていただけると助かります。
0341デフォルトの名無しさん
2016/11/25(金) 01:40:52.65ID:gI/r9WkTセッション0のアクセス権限の問題。
namedpipeclientstream-can-not-access-to-namedpipeserverstream-under-session-0
http://stackoverflow.com/questions/13174660/
0342デフォルトの名無しさん
2016/11/25(金) 10:25:47.20ID:2+oHnkxr0343デフォルトの名無しさん
2016/11/25(金) 15:18:07.17ID:6J0+Q2dTよくそんなのぱっと出てくるなあw
0345デフォルトの名無しさん
2016/11/26(土) 00:37:00.99ID:pkHe6RQg0346デフォルトの名無しさん
2016/11/26(土) 15:34:45.46ID:w/Dhvdu8特定のウィンドウにキーボードイベントを送信しようと考えている。
keybd_eventを使用してキーボードイベントの送信する事は成功した。
ちなみに第二引数のスキャンコードは使用しない、みたいな事を書いてあるサイト(MSDN含む)が多かったが
スキャンコードを指定しないと対象アプリがキーボード処理を受け付けてくれなかったため指定してある。
対象アプリがバックグラウンド中であっても操作しようと考えてSendMessage(またはPostMessage)に変更しようとしたのだが
スキャンコードはどこにどのように設定すればいいのだろう?
第四引数のlParamであろうと言う事は想像がつくが、スキャンコードをそのまま設定しても駄目だった。
0347デフォルトの名無しさん
2016/11/26(土) 16:13:12.18ID:dXHq99jtWM_KEYDOWNならこれ、カーソルキーとかも24ビット立てる必要があったかな
https://msdn.microsoft.com/en-us/library/windows/desktop/ms646280
SendMessage(hWnd, WM_KEYDOWN, uCode, MapVirtualKey(uCode, 0) << 16 | 1)
とかそんな感じだったはず、離すときはWM_KEYUPにして32ビットを立てる
C++でWM_KEYDOWNイベントのlParamを吐くウィンドウプロシージャでも作ると良い
0348347
2016/11/26(土) 16:22:01.70ID:dXHq99jtうっかりミスった、30〜31ビットね
WM_KEYDOWN時のlParam | 0xC0000000する形
0349347
2016/11/26(土) 16:37:54.65ID:dXHq99jtprotected override void WndProc(ref Message m) {
base.WndProc(ref m);
if(0x0100 <= m.Msg && m.Msg <= 0x0102) Text = m.ToString();
}
とか適当なフォームでやれば実際のウィンドウメッセージが確認できるよ
0350デフォルトの名無しさん
2016/11/26(土) 17:19:55.67ID:w/Dhvdu8非常に参考になった。
これを元にキー送信処理を作り直すことにするよ。
0351340
2016/11/26(土) 21:03:56.05ID:ZtR+Z7Wd昨日はまだ調べていませんでした。
341 に書いていただいた URL の方法で普通に出来ました。
ありがとう。
0352デフォルトの名無しさん
2016/11/27(日) 21:23:49.80ID:I1ny1q/I- MSDNフォーラム
- わんくまの掲示板
- DOBON.NETの掲示板
質問して答えが返ってきそうなのはこのぐらい?
あ、別にマルチで質問投げてやろうとかそういう意図ではないので念のため
0353デフォルトの名無しさん
2016/11/28(月) 00:18:17.41ID:n0A2uJuC0354デフォルトの名無しさん
2016/11/28(月) 00:18:37.64ID:VTugBhJZStackOverflow一択だろ
0355デフォルトの名無しさん
2016/11/28(月) 00:23:13.14ID:fF5TvHl50356デフォルトの名無しさん
2016/11/28(月) 01:04:22.51ID:v97E8kC6最近はteratailもありかも
あとは、.NET共通のことならVB中学校も一応あり
0357デフォルトの名無しさん
2016/11/28(月) 01:42:44.60ID:9T0ZytTvstackoverflowって日本語版もあったのかw
ありがとう
>>356
teratailはまったく知らなかったありがとう。
0358デフォルトの名無しさん
2016/11/28(月) 03:25:24.52ID:PwcZf+No0359デフォルトの名無しさん
2016/11/28(月) 04:33:07.21ID:VTugBhJZ日本語限定ってどこかに書いてあったっけ?
0360デフォルトの名無しさん
2016/11/28(月) 19:31:45.97ID:FcPInj/k>- MSDNフォーラム
>- わんくまの掲示板
>- DOBON.NETの掲示板
日本語って一目で分かるだろ
0361デフォルトの名無しさん
2016/11/28(月) 19:35:28.66ID:MT+LNPN60362デフォルトの名無しさん
2016/11/28(月) 21:09:47.26ID:SXoUdBtU日本語版の存在を知らなかった>>354は>>357を皮肉と受け取った。
0363デフォルトの名無しさん
2016/11/28(月) 21:23:26.86ID:C8x/B1Vpバカの連鎖反応
0364デフォルトの名無しさん
2016/11/28(月) 21:35:12.23ID:Efu8jG2pXamarinユーザー見習えよ
0365デフォルトの名無しさん
2016/11/28(月) 22:05:43.16ID:/OQd0iyQ無意味に喧嘩腰でつっかかるのはどうかと思うよ
意図としては英語も排除しないけど日本語のを中心に教えて欲しかった。
英語は読むのは何とか読めても書く(質問する)のは結構つらいっすわ。
0366デフォルトの名無しさん
2016/11/29(火) 15:41:26.31ID:07zLg605あのオタサー集団と同列に見られるのは非常に辛い
0367デフォルトの名無しさん
2016/11/30(水) 08:32:18.72ID:rOv2n/Ylthis.axWindowsMediaPlayer1.Ctlcontrols.next += new AxWMPLib.なんちゃらなどで記述?
ボタン自体もグレーアウトしていて使えない状態です。
再生などのボタンは初めから再生が割り当てられていてなにも記述しないでもよかったのですが。
0368デフォルトの名無しさん
2016/11/30(水) 11:01:13.74ID:U6G+25fYcurrentPlaylistとかでIWMPMedia管理すればそれらも使えるようになるはず
組み込みのプレイリスト使いたくないならUIも自分で全部やる
0369デフォルトの名無しさん
2016/11/30(水) 16:39:10.32ID:y2jQ/DIV岩永さんのところだと限定子となってるけど、どっちがより適切だと思う?
https://msdn.microsoft.com/ja-jp/library/bb546128(v=vs.120).aspx
http://ufcpp.net/study/csharp/sp3_stdqueryo.html#quantifier
0370デフォルトの名無しさん
2016/11/30(水) 23:23:25.49ID:rOv2n/Ylありがとう。プレイリストがよさそうです。
0371デフォルトの名無しさん
2016/12/01(木) 09:05:41.40ID:ySUX8EsS語義的には量指定子じゃない
quantityが量だから
0372デフォルトの名無しさん
2016/12/01(木) 18:33:51.23ID:CcMyBcAeSQL的な言い回しだとALL,ANY,SOMEとかは限定子になるはず。
http://software.fujitsu.com/jp/manual/manualfiles/M100005/J2X17484/01Z200/J7484-00-02-11-06.html
0373デフォルトの名無しさん
2016/12/01(木) 18:37:08.39ID:CcMyBcAe0374デフォルトの名無しさん
2016/12/01(木) 18:39:48.63ID:lOA8D/0g0375デフォルトの名無しさん
2016/12/01(木) 19:00:45.21ID:74fND9I40376デフォルトの名無しさん
2016/12/02(金) 00:05:35.89ID:ui5LUeC90377デフォルトの名無しさん
2016/12/02(金) 00:27:24.78ID:57Q76p9I0378デフォルトの名無しさん
2016/12/02(金) 06:58:37.23ID:jL2K9FKD運用の誤り。
無理やり日本語にするならクオンティフィアでいいと思うがゴミみたいな
概念をわざわざ日本語にするのはよくない。説明的に日本語で「量化を
意味する」のように使うのは問題ないが、「量化子」のように語彙にして
しまうのはよくない。英語のまま運用するのがよい。
0379デフォルトの名無しさん
2016/12/02(金) 07:09:43.00ID:jL2K9FKDこのサイトの説明では
Any,All,Conttainsを総合的に説明するのが目的だからLINQという具体的な
ものよりは上位概念だな。この場合は限定子で正しいと思う。
量指定、量化はちょっと違うな。
0380デフォルトの名無しさん
2016/12/02(金) 07:21:27.21ID:iUEu5k7c0381336
2016/12/02(金) 07:48:29.69ID:GGzlnXmJ0382デフォルトの名無しさん
2016/12/02(金) 10:36:52.50ID:X9iN1GdM0383デフォルトの名無しさん
2016/12/02(金) 14:59:21.44ID:rEQGNTwOLINQはLanguage Integrated Queryを省略してるだけだから日本語化できるでしょ(してもらいたくないが)
OPEC〜石油輸出国機構みたいに訳してる例は多い
0384デフォルトの名無しさん
2016/12/02(金) 17:36:35.56ID:8D4FZt7rしてみ
0385デフォルトの名無しさん
2016/12/02(金) 17:40:15.92ID:DaaN/lCj・・・ないわ
0386デフォルトの名無しさん
2016/12/02(金) 18:09:20.76ID:rEQGNTwO統合言語クエリって単語がすでにある。クエリも訳したら統合言語処理要求か?
0387デフォルトの名無しさん
2016/12/02(金) 19:38:47.97ID:4/nN0nxx0388デフォルトの名無しさん
2016/12/02(金) 20:25:58.53ID:fkVt0GEN0389デフォルトの名無しさん
2016/12/02(金) 20:31:59.72ID:57Q76p9I0390デフォルトの名無しさん
2016/12/02(金) 20:59:04.23ID:fqYy1w3v0391デフォルトの名無しさん
2016/12/02(金) 21:09:36.57ID:ui5LUeC90392デフォルトの名無しさん
2016/12/04(日) 09:09:46.43ID:HFDVK7VF0393デフォルトの名無しさん
2016/12/04(日) 09:20:34.29ID:a6Aihxwgマイクロソフトのお墨付きだからこれが正解な
0394デフォルトの名無しさん
2016/12/04(日) 09:42:24.52ID:zAL6lz1+に見えた
0395デフォルトの名無しさん
2016/12/04(日) 10:29:28.25ID:U0Kel+uMvoid func<T>(T obj, string name) {
obj[name] = ...
}
[name]の部分でエラーが出ます。
こういう関数は作れませんか?
0396デフォルトの名無しさん
2016/12/04(日) 10:41:15.33ID:0sR5hBHN自分がTに入れたいクラスをwhere T: で指定しては
0397デフォルトの名無しさん
2016/12/04(日) 11:15:31.06ID:U0Kel+uMありがとうございました。
上手く行きました。
0398デフォルトの名無しさん
2016/12/04(日) 12:05:02.46ID:OeUSkEhRC++みたいな仕様にしてくれりゃいいのに
0399デフォルトの名無しさん
2016/12/04(日) 12:33:20.31ID:sIaSQQRIあほす
0400デフォルトの名無しさん
2016/12/04(日) 12:56:13.33ID:3+5uaoN5C#みたいにしてくれりゃあいいのにww
0401デフォルトの名無しさん
2016/12/04(日) 13:58:45.59ID:VS/jD7cpなんでわざとあんな文法になってると思うんだよ
JIT言語の特長を最大限に活かすためだぜ
コンパイラ言語みたいに使うコードを全てあらかじめ生成しておくわけではなく
Tでnewされた時に初めてコードを生成するからメモリ使用量も少ない
ただ利点はそのまま欠点にもなる
T型同士の演算コードを書くとたちまちエラーになるのでdynamic型にキャストするとかしないとな
0402デフォルトの名無しさん
2016/12/04(日) 15:28:39.35ID:UcElfbev0403デフォルトの名無しさん
2016/12/04(日) 19:05:36.47ID:U4ZfHibQ0404デフォルトの名無しさん
2016/12/04(日) 19:37:47.45ID:OeUSkEhRプログラマがCodeDOMや式木でやってる退屈で定型的なプロセスを自動化するだけじゃん
マイクロソフトの怠慢だよこれは
0405デフォルトの名無しさん
2016/12/05(月) 00:12:25.29ID:wzEk6zmldynamicの偉大な点は勝手に内部で式木に変換してしかもそれをキャッシュしてくれるから
完全なリフレクションに比べて速度的にそんなに不利ではない
http://ufcpp.net/study/csharp/misc_dynamic.html
ここら辺が有名だよな
0406デフォルトの名無しさん
2016/12/05(月) 01:54:32.46ID:kX3Q4svvだいぶ違うぞ
プログラミング学び直したほうがいい
0407デフォルトの名無しさん
2016/12/05(月) 02:10:45.39ID:u0DsEOY/1%くらいには李左車の言うように有意義な指摘もあろうが
それは404ではないだろう
0408デフォルトの名無しさん
2016/12/05(月) 03:06:07.61ID:TC/GOrDD0409デフォルトの名無しさん
2016/12/05(月) 07:38:13.09ID:FYlXKnN9お前は黙ってJavaかVBでもやってろ
0410デフォルトの名無しさん
2016/12/05(月) 16:46:58.81ID:5hp1IXjD誰だよ?
0411デフォルトの名無しさん
2016/12/05(月) 17:16:33.12ID:uj/2rcDx0412デフォルトの名無しさん
2016/12/05(月) 17:35:03.83ID:PG/Hzji50413デフォルトの名無しさん
2016/12/08(木) 00:12:08.98ID:/aGxLpEuGoogleも.NETの開発に参加したことだし、本格的に波が来ている
0414デフォルトの名無しさん
2016/12/08(木) 05:07:13.06ID:Vn/geEUt0415デフォルトの名無しさん
2016/12/08(木) 13:08:55.01ID:0EWqwyqoリストビューの各項目のクリックを拾いたいんですが方法ありますか?
例えば以下の様な構成になってる場合「山田」のクリックとか「21歳」のクリックとかを
拾いたい感じです。
---------------------
[項目1][項目2][項目3]
山田 20歳 東京
斎藤 22歳 埼玉
戸川 21歳 千葉
---------------------
やっぱりクリックイベントから現在選択されている項目を取得する
という方法が一番でしょうか?
0416デフォルトの名無しさん
2016/12/08(木) 13:14:33.65ID:h9KBoTPlという方法で何か困っていることがあるならそれを書くのが早い
0417デフォルトの名無しさん
2016/12/08(木) 13:15:32.08ID:RR5e4yCq0418デフォルトの名無しさん
2016/12/08(木) 13:33:02.23ID:0EWqwyqoおぉ〜クリックイベントに以下でイケました!>>416さんもありがとうございました!
Point pt = new Point(e.X, e.Y);
ListViewHitTestInfo lvHti = lstv.HitTest(pt);
int row = lvHti.Item.Index;
int col = lvHti.Item.SubItems.IndexOf(lvHti.SubItem);
MessageBox.Show(row.ToString() + ", " + col.ToString());
0419デフォルトの名無しさん
2016/12/08(木) 14:57:23.01ID:vKAf8GkYFontとColorのセットとなるクラスの配列を特定のコントロールのプロパティ値として持ちたいのですが、デザイン時に値を入れると
「ResXファイル.RESXファイルで使用される型XXXXXX..を読み込めませんでした。必要な参照がプロジェクトに追加されていることを確認してください。」というエラーとなってコンパイルできなくなってしまいます。
どの様にすれば、正しく、デザイン時の値を保持&読込ができるのでしょうか?
【ソース】
public class TestCmb:ComboBox
{
[DesignerSerializationVisibility(DesignerSerializationVisibility.Content)]
public List<FontAndColorSet> TestProperty { get; set; } = new List<FontAndColorSet>();
}
[Serializable]
public class FontAndColorSet
{
public Font Font { get; set; }
public Color Color { get; set; }
}
0420デフォルトの名無しさん
2016/12/08(木) 18:44:29.79ID:Ayid3Uvv>public Color Color { get; set; }
C#では、クラス名を、2回も書けるのか?
0421デフォルトの名無しさん
2016/12/08(木) 18:47:17.57ID:6K2Be21zpublic 型名 プロパティ名 {get;set;}
public Object Object(){
return null;
}
って書けるのと同じ
0422デフォルトの名無しさん
2016/12/08(木) 18:48:35.47ID:6K2Be21z0423デフォルトの名無しさん
2016/12/09(金) 01:37:38.58ID:nk5rcDEaとりあえずこんな感じ
public class TestCmb : ComboBox
{
[DesignerSerializationVisibility(DesignerSerializationVisibility.Content)]
public FontAndColorSetCollection TestProperty { get; set; } = new FontAndColorSetCollection();
}
//[Serializable] これいらない
public class FontAndColorSet
{
public Font Font { get; set; }
public Color Color { get; set; }
}
public class FontAndColorSetCollection : Collection<FontAndColorSet>
{
public void AddRange(FontAndColorSet[] items)
{
foreach (var x in items)
this.Items.Add(x);
}
}
ここが参考になる
https://www.codeproject.com/articles/5372/how-to-edit-and-persist-collections-with-collectio
0424419
2016/12/09(金) 09:31:24.99ID:pxgVwarYおおおおおおおおおおお!!!!!!!
ありがとうございます♪さっそく試したところうまくいきました!!
これだけでかなりコード量が減るのでホントたすかりました;w;
ありがとうございますm(_ _)m
0425デフォルトの名無しさん
2016/12/09(金) 11:25:46.06ID:nQ2cVzw4AddRangeの引数の型がT[]じゃないから?
0426デフォルトの名無しさん
2016/12/09(金) 12:43:50.54ID:73dS9ox0controlとの絡みばかりでクラスを作って色々やるといったことなく出来上がってしまいます
複雑化すればそうもならないのでしょうか。。
0427デフォルトの名無しさん
2016/12/09(金) 13:56:37.83ID:3kVVURfS単純なアプリだとそんなもんだよ
規模が大きくなってきても、ある程度まではその流儀でやれなくはないけど、そのうち
プログラムの見通しが悪くなって、メンテする際にイライラする事が多くなって、
やり方を変えたくなってくる
0428デフォルトの名無しさん
2016/12/09(金) 18:10:47.21ID:73dS9ox0ありがとうございます
頑張ってみます
0429デフォルトの名無しさん
2016/12/09(金) 18:31:58.73ID:IAKedM2U共有していいのはDBだけ、あとはコピペ上等で画面単位でぶった切れ、という開発スタイルなら設計スキルが無くても容易にスケールするよ
まあ一度書いたものは弄らないことが大前提のやり方なので、後で大きな仕様変更が入ったら炎上するんだけど
0430デフォルトの名無しさん
2016/12/09(金) 20:14:42.74ID:RJlryFXO特定企業への破壊工作を目的とする場合以外に絶対にやってはいけないアーキテクチャパターンランキング第1位のやつじゃん
0431デフォルトの名無しさん
2016/12/09(金) 20:54:48.40ID:0cPrt4mXとはいえ日本の高度経済成長を支えた伝統ある開発手法だからね
低スキルな要員で案件を確実に終わらせて逃げることに関しては現代においても最強よ
古典的なウォーターフォールが正しく機能してるなら客の後出し要件なんか無視できるんだし
0432デフォルトの名無しさん
2016/12/09(金) 21:03:09.07ID:SmYH2aqj0433デフォルトの名無しさん
2016/12/09(金) 21:12:50.85ID:0cPrt4mXしかしそのツケを払うのは当時のSIerではなく客だ
際限なく肥大化する保守費用、しかしリプレースしようにも見積は天文学的な金額になる
売る側にとっちゃメリットしかないんだよ
0434デフォルトの名無しさん
2016/12/09(金) 21:22:01.74ID:4/j9vJm7いつもスケジュール間に合わず動かず役に立たず。ぎりぎりになると周りがフォローよ
0435デフォルトの名無しさん
2016/12/09(金) 21:38:16.31ID:RJlryFXO借金は日本のお家芸だな
日本中でそれやってビジネス停滞してんだから国家的損失はデカイ
0436デフォルトの名無しさん
2016/12/09(金) 21:41:54.69ID:inzQIL9Uそこで魔法の言葉「過去資産の流用」が出て来るのか
0437デフォルトの名無しさん
2016/12/09(金) 21:50:33.79ID:YFW7nsECマジで経験したことないやろ
そんな案件の尻拭いってモチベーションだだ下がりやし
二度と経験したくない
0438デフォルトの名無しさん
2016/12/09(金) 22:28:31.44ID:RJlryFXOでもリファクタリングをしたら正しく動いてるものに触るなと怒られる
ジャアアアアップ
0439デフォルトの名無しさん
2016/12/09(金) 22:32:26.54ID:o6zCM5vx草
0440デフォルトの名無しさん
2016/12/09(金) 23:11:31.83ID:SjD2GByw次のような書き方はアリでしょうか
たとえばWindowsフォームアプリケーションのForm1クラスの
直下に
Regex.CacheSize = 100;
などとほかのクラスのプロパティ代入文を書くとエラーでコンパイルが通りませんが、これを
int dummy_int = Regex.CacheSize = 100;
というようにダミーの変数代入を噛ませれば、
コンパイルエラーを起こすことなく書くことができてしまいます
これは普通に使われるようなテクニックですか?
それとも仕様上はコンパイルできるがあまり好ましくない書き方ですか?
0441デフォルトの名無しさん
2016/12/09(金) 23:20:41.59ID:SmYH2aqj上の書き方でコンストラクタ内とかで設定。
0442デフォルトの名無しさん
2016/12/09(金) 23:22:54.69ID:AFnkuo0i視点の違いってすごいわ
0443デフォルトの名無しさん
2016/12/09(金) 23:39:59.90ID:pDhW8mKL普通はコンストラクタかForm1がロードされた時に代入かな。
0444デフォルトの名無しさん
2016/12/09(金) 23:45:53.15ID:SjD2GBywありがとうございます、やっぱりダメですか
ちなみにどういった理由でダメなんでしょう
実際には色々なクラスの色々な所でRegexオブジェクトを定義しているので
なるべく早くキャッシュサイズを拡大したいんですが、
(あまりProgram.csは触りたくないけど)素直にMain()内に書くしかないんでしょうか
>>443
ステップ実行してみたら、Form1のコンストラクタ(InitializeComponent();)よりも前に実行されてました
0445デフォルトの名無しさん
2016/12/09(金) 23:51:08.34ID:vatll/rzこんな仕様初めて聞いたんだが、誰かkwsk
0446デフォルトの名無しさん
2016/12/10(土) 00:10:15.56ID:htA28gv+int a=b=100;
みたいな書き方ができること自体は以前どこかで読んだことがあったものの
なんとなく気持ち悪くてこれまで使ったことがなかったのですが、
最近改めて=演算子の戻り値と演算順序(先に実行される「b=100」の結果が100を返すので
それがaにも代入される)を勉強したところだったので、コンパイルできるかなと思ったらできてしまいました
0447デフォルトの名無しさん
2016/12/10(土) 00:11:39.47ID:htA28gv+0448デフォルトの名無しさん
2016/12/10(土) 00:14:55.08ID:HOF4U6Imそれは分かる
でも何故エラーが出なくなるのかって話
0449デフォルトの名無しさん
2016/12/10(土) 00:24:59.06ID:mt2BmPb5そういう制約をわざわざ付けてるってことは、そういう事はやるべきじゃないって思想の表現だと思うが
0450デフォルトの名無しさん
2016/12/10(土) 02:21:43.03ID:XBbQ6S0E横だし俺はC#専門ではないけど、それってコンストラクタ内に書けばいいだけだよね。
果たして>>440で動くのかも疑問だけど、
仮に動いたとしても、ダミー変数がインスタンス内に残ってしまうのが無駄だよね。
そもそも a=b=c の書き方自体をしない。(ただしRubyの連中はするのかもしれない)
何故かは知らんが、おそらく見にくいという主張をする奴が多いからだろう。
どのみち普通はコーディングルールで禁止してあるし、
行数をケチる以外のメリットもないからいちいち文句を言う価値もないし。
0451デフォルトの名無しさん
2016/12/10(土) 02:29:36.15ID:THyFY8cN単純に分かり難いから。このスレの反応見ても、普通使わなそうなのが見て取れるでしょ。
Program.csが嫌でなるべく早くというなら、Form1のコンストラクタが良いんじゃないの。
Form1のコンストラクタよりも先である必要ってないでしょ。
0452デフォルトの名無しさん
2016/12/10(土) 03:10:58.12ID:jJfPnpDEvar disposer =
source.Subscribe(value => Console.WriteLine("{0} : OnNext({1})", name, value));
return disposer;
}
このプログラムは一体なんなのだ。全然わからない。そこで理解しようと思ってラムダ部分を
関数に置き換えてみると
void ramda(string value ){ Console.WriteLine("{0} : OnNext({1})", name, value); };
だあーー、nameを持ってこれない。持ってくるとすればグローバルにするしかない。
ラムダ関数は単なる匿名関数というだけでなくて、こういう便利な機能があるんだと初めて
分かった。つまり普通の関数にするとスコープを閉じるがラムダにするとスコープが開く。
オープンスコープ機能だ。ダダだい発見だ。と思ってほかにも気が付いた奴がいないかと
「ラムダ関数はスコープを開く」でググってみると、無い。俺の発見だ。w
0453デフォルトの名無しさん
2016/12/10(土) 03:13:11.24ID:jJfPnpDEラムダ式は、デリゲート型または式ツリー型を作成するために使用できる匿名関数です。 ラムダ式を使用すると、引数として渡したり関数呼び出しの結果値として返すことができるローカル関数を記述できます。 ラムダ式は、LINQ クエリ式を記述する場合に特に便利です。
以下省略(間違いがおおすぎ、、、、)
1行目から間違ってるよな。W デリゲート型をつくるのは delegate int del(int i); この部分で
あって
del myDelegate = x => x * x;
これではないな。
2行目も間違ってるよな。w ローカル関数ってのはC#7(VS2017)からなのでまだサポート
ないだろ。
0454デフォルトの名無しさん
2016/12/10(土) 04:49:24.16ID:jJfPnpDEstatic string _name;
static IDisposable SubscribeTracer<T>(this IObservable<T> source, string name)
{
_name = name;
//var disposer = source.Subscribe(value => Console.WriteLine("{0} : OnNext({1})", name, value));
del aa;
aa= eventdo;
var disposer = source.Subscribe( aa(val ) );
}
static void eventdo(string value){
Console.WriteLine("{0} : OnNext({1})", _name, value);
}
452をDelegateで書き換えてみたがコンパイルエラーになる。なんでだ?
0455デフォルトの名無しさん
2016/12/10(土) 08:12:40.98ID:htA28gv+なるほど、見にくい・分かりづらいというのは同意見です
(自分もint a=b=0みたいな表現は今回の件まで一度も使おうとしなかったので)
ただ、Form1のコンストラクタに書いても
実行順序はForm1のメンバ変数定義より後回しになってしまうようなので…
Form1のメンバ変数としてRegexオブジェクトを大量に定義しているので
もっと早くキャッシュサイズを拡張しないと意味ないのかな?と
0456デフォルトの名無しさん
2016/12/10(土) 09:33:27.42ID:jJfPnpDEそもそもIObservableをまったく理解してなかった。
0457デフォルトの名無しさん
2016/12/10(土) 10:41:12.43ID:scmr7sdZメンバ変数の初期化もコンストラクタでやったらどうかな?
0458デフォルトの名無しさん
2016/12/10(土) 12:31:00.36ID:rHn5Q6ti変な小細工せずにForm1のコンストラクタを呼び出す前に書くのが筋だと思う。
っていうか、Regexあんまり使わないので自信ないけど、そもそもRegex.CacheSizeなんか設定しなくても
RegexのコンストラクタでRegexOptions.Compiledを指定すれば済むんじゃないの?
0459デフォルトの名無しさん
2016/12/10(土) 12:43:23.50ID:rHn5Q6ti↑によるとCacheSizeが影響するのはスタティックメソッドを使う場合だけ?
>>455はRegexのインスタンスを生成してるみたいだから、だったらそもそもCacheSizeの
設定は無意味ってことかな。
0460デフォルトの名無しさん
2016/12/10(土) 12:53:41.37ID:rHn5Q6ti個々のインスタンスの挙動に影響を与えるような筋悪な設計は
普通はありえないよな
0461デフォルトの名無しさん
2016/12/10(土) 12:59:36.57ID:9rLOEiC0>>455も設定先はstaticでしょ。そうしないとエラーになるはず
0462デフォルトの名無しさん
2016/12/10(土) 14:07:24.95ID:8ZN9Ra/9new Regexする時はキャッシュ関係ないと思う
あと、フィールドの初期化はわかりにくいので軽くて副作用のないものだけにした方が良い
正規表現の作成が時間食うなら、コンストラクタで行った方があとあと変更するときによい
0463デフォルトの名無しさん
2016/12/10(土) 14:32:08.61ID:ZQIWZdV9ドンドン触れ!
変なこだわりは捨てるべき
0464デフォルトの名無しさん
2016/12/10(土) 16:30:39.28ID:SuPtWdiaそもそも処理をFormに書いちゃうところから間違ってるな
0465デフォルトの名無しさん
2016/12/10(土) 18:25:04.69ID:9rLOEiC0世話焼くならForm1って名前からにしろ
0466デフォルトの名無しさん
2016/12/10(土) 18:42:35.17ID:L/PQ4lRu0467デフォルトの名無しさん
2016/12/10(土) 19:02:21.05ID:YyXkI5ew0468デフォルトの名無しさん
2016/12/10(土) 19:07:08.15ID:BtzSATc1BeginUpdateをしていても遅くて。3万件のItemから29800件消すといった場合です。
0469デフォルトの名無しさん
2016/12/10(土) 19:17:12.33ID:htA28gv+インスタンスの場合はキャッシュ関係ないんですね…勘違いしてました
>>458後半
コンパイルすればキャッシュは無関係、というわけではなかったと思います
キャッシュが少ない状態で何種類ものパターンで静的メソッド(コンパイルオプションつき)を使うと
何度もコンパイルされる羽目になるはずです
>>463
キャッシュの拡大はRegexを使うクラス内に書いておきたいという気持ちがあるんですが
「なるべく早めに」ということならやはりMain()に書いた方がいいのかなあ…
0470デフォルトの名無しさん
2016/12/10(土) 19:19:43.47ID:0TBYagU6そういうのはコードじゃなくて設定ファイルに書くもんだよ
0471デフォルトの名無しさん
2016/12/10(土) 19:22:20.67ID:wTYgtvkFコントロールを再作成して必要な分だけ追加したら?
0472デフォルトの名無しさん
2016/12/10(土) 20:00:23.99ID:g6CF/PBVその前に3万件追加した作業が無駄だよね
0件から200件追加することが出来ないのかプログラムを見直すべき
0473デフォルトの名無しさん
2016/12/10(土) 20:24:13.29ID:BtzSATc1ありかもしれません。
>>472
追加と削除のタイミングが違うので・・・
0474デフォルトの名無しさん
2016/12/10(土) 20:32:26.08ID:moWXVb0v0475デフォルトの名無しさん
2016/12/10(土) 20:33:06.95ID:g6CF/PBV3万件をスクロールして閲覧する用途が有るはずもなく、最初から考えが間違っているんだよ
とはいえ、割りとありがちなんだけどね
0476デフォルトの名無しさん
2016/12/10(土) 20:46:01.62ID:iMqvKcIt0477デフォルトの名無しさん
2016/12/10(土) 20:48:19.32ID:0TBYagU6もちろんパフォーマンスの低下は許さない
つまりこれは現実的な用件なんだよね
0478デフォルトの名無しさん
2016/12/10(土) 21:14:17.86ID:f57StUOL0479デフォルトの名無しさん
2016/12/10(土) 21:45:14.07ID:BtzSATc1なんだこれ
これを待ってました。
0480デフォルトの名無しさん
2016/12/10(土) 21:53:53.30ID:mMrYCd0+PHPでのMVCフレームワークとかrailsはわかる
0481デフォルトの名無しさん
2016/12/10(土) 22:08:22.01ID:0TBYagU6そのためにUIフレームワークに依存しないように作れっていつも言われるだろ
0482デフォルトの名無しさん
2016/12/10(土) 22:09:21.73ID:mMrYCd0+さんくす
手を出してみるわ
何を選んでもMFCのドキュメントビューよりは良いだろうってのが心の拠り所です
0483デフォルトの名無しさん
2016/12/10(土) 22:28:44.20ID:moWXVb0v0484デフォルトの名無しさん
2016/12/10(土) 22:31:16.68ID:BtzSATc1どうしましょうか?
0485デフォルトの名無しさん
2016/12/10(土) 23:55:43.96ID:VtzX6XaJ発想を変えて、ListViewを作り直したら?
0486デフォルトの名無しさん
2016/12/11(日) 07:29:54.22ID:9qlRR3sUWM_SETREDRAWで描画停止してやれば、Virtualでなくても3万件ぐらいいけると思う。
やり方は、検索すれば出てくる。
0487デフォルトの名無しさん
2016/12/11(日) 08:09:32.73ID:tSe+v4ik0488デフォルトの名無しさん
2016/12/11(日) 10:51:04.21ID:rgeKQ1h1Microsoft Press の「プログラミング.NET Framework 第2版」という本に、下記の記述があるのですが、
【【【【【引用ここから】】】】】
internal sealed class Transaction {
private DateTime timeOfLastTransaction; // 最後にトランザクションが行われた時間を記録するフィールド
public void PerformTransaction() {
Monitor.Enter(this); // thisオブジェクトのロックを取得
// トランザクションを実施...
timeOfLastTransaction = DateTime.Now; // 直前のトランザクションの時間を記録
Monitor.Exit(this); // thisオフジエクトのロックを開放
}
public DateTime LastTransaction { // 最後にトランザクションが行われた時間を返す読み取り専用プロパティ
get {
Monitor.Enter(this); // thisオブジ工クトのロックを取得
DateTime dt = timeOfLastTransaction; // 最近のトランザクションの時間を一時変数に保存
Monitor.Exit(this); // thisオブジェク卜のロックを開放
return dt; // 保存された日時を返す
}
}
}
【【【【【中略】】】】】
プロパティの実装でEnterとExitと一時変数dtが必要なことに注意してください。
破壊されている可能性のある値を返さないようにするために、これが重要です。
あるスレッドがPerformTransactionを呼び出している問に別のスレッドがプロパティにアクセスすると、これが起こりえます。
【【【【【引用ここまで】】】】】
Monitorでロックをしてるのに、なぜ「あるスレッドがPerformTransactionを呼び出している問に別のスレッドがプロパティに
アクセスする」ことがありえるのでしょうか?
0489デフォルトの名無しさん
2016/12/11(日) 11:00:53.02ID:E1v0n/uNプロパティの実装でEnterとExitと一時変数dtが必要なことに注意してください。
破壊されている可能性のある値を返さないようにするために、これ(enter/exit/dtの存在)が重要です。
(enter/exit/dtが存在しないなら、)あるスレッドがPerformTransactionを呼び出している問に別のスレッドがプロパティにアクセスすると、これ(破壊されている値を返すこと)が起こりえます。
つまり(きちんと)ロックしてるならアクセスすることはない
0490デフォルトの名無しさん
2016/12/11(日) 11:14:59.06ID:rgeKQ1h1それと、もう一度自分でよく考えて、自己解決しました。
疑問に思ったのは、
・複数スレッドが同時にアクセスしないようにするために、EnterとExitが必要なことは
わかるが一時変数dtはなぜ必要なのか?
・Enter〜Exitでロックしてても、PerformTransactionの呼び出し中に別スレッドが
アクセスすることがありえるのか?
・その問題を回避するために、いったん一時変数dtに退避する必要があるという意味か?
ということでした。
しかし、よく考えれば、疑問が解消しました。
・dtが無いとreturnで値を直接返すことになる
・そのためにはreturnをEnterとExitで囲む必要がある(がそんなことはできない)
・だから、dtに入れてる
ってだけのことですね。お騒がせしました。
回答いただいた方、ありがとうございました。
0491デフォルトの名無しさん
2016/12/11(日) 14:59:01.41ID:o/YiWCErWM〜でなんかやるならInsertionMark云々だって自己解決できるような気が
0492デフォルトの名無しさん
2016/12/11(日) 22:39:52.04ID:9qlRR3sU描画止めるくらいであればウインドウメッセージとかよくわからなくてもググって数行コピペするだけで出来るし、既に非Virtualで作ったものをVirtualに変更するより手っ取り早いかなと思って。
0493デフォルトの名無しさん
2016/12/11(日) 23:37:43.42ID:rW4zRmsaそこだけ計算で出してやれば使えました。
お陰で高速な動作ができるようになりました。ありがとうございました。
0494デフォルトの名無しさん
2016/12/14(水) 22:10:21.05ID:zGQk9RuM@を先頭につけているのを見るのですが、
これはどういったことでしょうか
必要なのでしょうか
0495デフォルトの名無しさん
2016/12/14(水) 22:16:24.21ID:LQhYfqJw\を大量に書かなくていいようにするため
0496デフォルトの名無しさん
2016/12/14(水) 23:05:36.02ID:PdV20HuVrp = Regexp.escape("$bc^")
\$bc\^
Regexp.escape(string) -> String
string の中で正規表現において、特別な意味を持つ文字の直前に、
エスケープ文字(バックスラッシュ)を挿入した文字列を返します
0497デフォルトの名無しさん
2016/12/14(水) 23:08:32.15ID:+dTErpY/Regex.Escape(string)
0498デフォルトの名無しさん
2016/12/14(水) 23:16:39.96ID:zGQk9RuM494です
ありがとうございます
0499デフォルトの名無しさん
2016/12/15(木) 08:46:01.32ID:3NUBKOAZ0500デフォルトの名無しさん
2016/12/15(木) 12:09:47.56ID:VtGam84Mへーすごいね
0501デフォルトの名無しさん
2016/12/15(木) 12:57:24.49ID:4tPXC7sh0502デフォルトの名無しさん
2016/12/15(木) 13:45:31.77ID:7KRIzock0503デフォルトの名無しさん
2016/12/15(木) 13:55:12.96ID:8Dy0z+2t"*://b.st-hatena.com/*",
"*://b.hatena.ne.jp/entrylist/*",
"*://b.hatena.ne.jp/entry/image/http*",
"*://b.hatena.ne.jp/entry/json*",
"*://b.hatena.ne.jp/bc/or/http*",
"*://api.b.st-hatena.com/entry.count*",
"*://cdn-ak.b.st-hatena.com/*",
0504デフォルトの名無しさん
2016/12/15(木) 19:32:58.03ID:aesj07do0505デフォルトの名無しさん
2016/12/15(木) 20:28:20.48ID:u3iwxuUXhttps://en.wikipedia.org/wiki/Comparison_of_parser_generators
0506デフォルトの名無しさん
2016/12/19(月) 00:22:28.34ID:hPPOameE1.フォームの×ボタンを押してValidatingが発生しe.cancel=trueになっても、form.closingを実装するとフォームを閉じれるとネットブログであったのですが、
これはどういった仕組みでしょうか?
cancelになっても別のコントロールについては実装すれば、その処理が走るのでしょうか。
また、msdnでのそこに関する説明はどこにありますでしょうか?
2.そもそも,フォームの×ボタンでValidatingを走らせないようにするにはどうしたらいいでしょうか?
0507デフォルトの名無しさん
2016/12/19(月) 14:59:52.95ID:/uogIQCg> form.closingを実装するとフォームを閉じれる
実装するとじゃない。
Closingイベントのイベントハンドラでe.Cancelをfalseに設定したら閉じられる。
> これはどういった仕組みでしょうか?
Validatingで設定したe.CancelがClosingで設定されるe.Cancelで上書きされるだけ。
> cancelになっても別のコントロールについては実装すれば、その処理が走るのでしょうか。
ちょっと何言ってるか分からない。
> msdnでのそこに関する説明はどこにありますでしょうか?
ValidatingとClosing(FormClosing)のページにないんなら、ないんじゃない?
> フォームの×ボタンでValidatingを走らせないようにするにはどうしたらいいでしょうか?
WM_CLOSEをハンドルする方法とか提案されてる
http://d.hatena.ne.jp/dotnetmemo/20060702/1151839515
0508デフォルトの名無しさん
2016/12/19(月) 21:55:11.26ID:m20BeiOW0509デフォルトの名無しさん
2016/12/19(月) 23:07:10.38ID:nxaByp7vユーザビリティ何それ
0510デフォルトの名無しさん
2016/12/21(水) 22:02:28.59ID:OBoWPQLOあのC#コード生成ってどうやってんの?
右クリックメニューのコマンドで画面開いてパラメータ入力したらコードがいくつかババっと出力されてプロジェクトにインクルードされて時にはconfigまで書き換わるあの便利なやつ
0511デフォルトの名無しさん
2016/12/21(水) 22:13:35.55ID:I2xL3xVw0512デフォルトの名無しさん
2016/12/21(水) 23:15:00.27ID:EydnUon0テンプレートで生成してるだけだよ
自分で同じようなことやりたければT4でも調べてみたら
0513デフォルトの名無しさん
2016/12/22(木) 00:41:34.58ID:0KrqUh09506です。遅くなりましたがお答えありがとうございます。
補足で質問です。
> cancelになっても別のコントロールについては>実装すれば、その処理が走るのでしょうか。
ここに関しては、validatingでe.cancel=trueにしたら、そもそもclosingが走らないかと思っていたのですが、そういうことではないのでしょうか。validatedまでキャンセルになるということでしょうか。
0514デフォルトの名無しさん
2016/12/22(木) 00:52:26.00ID:3F8kH50rそんくらいもできないのかよ
0515デフォルトの名無しさん
2016/12/22(木) 10:02:04.72ID:i/pZa1E80516デフォルトの名無しさん
2016/12/22(木) 10:12:48.15ID:hYDEOt1H0517デフォルトの名無しさん
2016/12/23(金) 13:13:48.39ID:/B2iyB1G0518デフォルトの名無しさん
2016/12/24(土) 06:16:26.82ID:WEJSRv5CC#で関数の引数に関数を指定することって出来ないのかな?
具体的にしたいことは関数の傾きを求めることで、たとえば適当な関数
float A(float x){return x^2;}
があったときに、傾きを求める関数
float B(関数, float x){return xでの傾き;}
みたいなものを作成して
d = B(A(), 0.1f);
のような呼び出し方をしたいんだけど・・・・なにかそれに近いC#のコードの記述方法ってないかな?
0519デフォルトの名無しさん
2016/12/24(土) 06:53:00.31ID:kPI05Gb30520デフォルトの名無しさん
2016/12/24(土) 06:56:25.78ID:iV5eYun00521デフォルトの名無しさん
2016/12/24(土) 07:23:08.42ID:WEJSRv5Cデリゲートを使うのが一番近い記述ができるのかな?
そうするとミスって複数メソッドを登録したときの処理も記述しとかなきゃなんないかな・・・・
0522デフォルトの名無しさん
2016/12/24(土) 07:41:28.77ID:qXNVWWNf関数を引数にしたいなら520でいいけど
そもそもC#で任意の関数を引数にして傾きを求めるのは無理だと思うよ
引数の関数が微分可能かどうか(下手すると連続かどうか)も保証されてないのに
0523デフォルトの名無しさん
2016/12/24(土) 09:21:29.09ID:3LTJc3r/イベントハンドラ以外のデリゲートでマルチキャストを使う馬鹿もいない(いたら今すぐやめろ)から無視していい
あとそういう計算にfloat使うと激しく誤差が出るからfloatじゃなくてdouble使え
Pythonの浮動小数点数もdouble精度だ
0524デフォルトの名無しさん
2016/12/24(土) 10:31:06.47ID:dPbQS77J微分可能とか最近覚えた用語を使いたくてしょうがないんだな w
0525デフォルトの名無しさん
2016/12/24(土) 10:37:23.24ID:qXNVWWNf>>523
mathematica等の数式処理言語ならできるよ
0526デフォルトの名無しさん
2016/12/24(土) 12:25:20.15ID:1tLIoM8k0527デフォルトの名無しさん
2016/12/24(土) 15:05:19.64ID:uriaUnJG0528デフォルトの名無しさん
2016/12/24(土) 15:50:11.41ID:IXC75mXHそこになんの違いもありゃしねぇだろうが!
0529デフォルトの名無しさん
2016/12/24(土) 15:52:59.52ID:51ELz7BuマークアップエディタのインテリセンスにViewBagがないって怒られます
コードエディタでは普通にViewBagにアクセスできます
これはいったいどういうことなんでしょうか
0530デフォルトの名無しさん
2016/12/24(土) 16:49:07.86ID:uriaUnJG自分ですうしきクラスを作れよ。
0531デフォルトの名無しさん
2016/12/24(土) 17:01:13.35ID:WEJSRv5Cたしかに解析的に正しい微分できないけど、僅かにXをずらしてそれっぽい数値を出したいんです
0532デフォルトの名無しさん
2016/12/24(土) 17:07:45.02ID:3KzFEnUIちょっと大げさめだが、俺ならinterface使う
0533デフォルトの名無しさん
2016/12/24(土) 18:08:40.53ID:2kirY5E3何が言いたいのかよく分からんけど普通にこういうのじゃいかんの?
static double GetSlope(Func<double, double> func, double x, double delta = 1e-6)
{
var left = func(x - delta/2);
var right = func(x + delta/2);
return (right - left) / delta;
}
0534デフォルトの名無しさん
2016/12/24(土) 19:30:16.14ID:dPbQS77Jいや実装方法はわかってるでしょ
python からの移植なんだし
>>531 は >>522 が微分可能とか言い出してるからそれへの説明だと思うぞ
0535デフォルトの名無しさん
2016/12/24(土) 22:57:47.19ID:ZPnvY2Guえっ?
0536デフォルトの名無しさん
2016/12/25(日) 01:15:18.80ID:2bXL0gSr作ろうとしてます。
数千の単語の音声を、少数のファイルで扱うには
どのような方法使えばいいんでしょうか?
0537デフォルトの名無しさん
2016/12/25(日) 02:05:37.96ID:1Va0hmvu欲しい時にはその単語データのオフセットと長さを指定して取り出して再生、かな
0538デフォルトの名無しさん
2016/12/25(日) 02:11:45.12ID:xhZEf65tっていうか、今時のWindowsってたいがいの言語の音声合成エンジンがタダで提供されてなかったっけ?
0539デフォルトの名無しさん
2016/12/25(日) 02:18:12.49ID:tQvSe6Qrバイト配列にしてつなげてサイズと順番のインデックス作ればいいだけ
0540デフォルトの名無しさん
2016/12/25(日) 02:45:35.51ID:bvgmOMUN>>537や>>539はバラバラの既存の単語音声データを単一ファイルにまとめる話
>>538はボインや子音とかから合成するTTSライブラリ使えって話
>>536の目的は学習アプリ
前者なのか後者なのかはっきりさせないと答えようがないが
TTSから垂れ流す音声が正しいとは限らないので
単語レベルなら既存の音声辞書から引っ張って来た方がいい気はする
0541デフォルトの名無しさん
2016/12/25(日) 07:18:53.50ID:MTT7ZR6N0542デフォルトの名無しさん
2016/12/25(日) 08:51:11.94ID:NMeoNRf00543デフォルトの名無しさん
2016/12/25(日) 09:09:11.14ID:r6LchLOJバラバラのままでS3にでも突っ込んどけ
0544デフォルトの名無しさん
2016/12/25(日) 10:03:57.23ID:bejmTeDnだからといってゲームみたいにシーンに必要なデータを予め読める量でもないし
難しかったな
0545デフォルトの名無しさん
2016/12/27(火) 19:34:32.54ID:r2C7TXrR0546デフォルトの名無しさん
2016/12/27(火) 19:44:21.85ID:RazBYv5eもちろん
CoreもFullも使えるし
0547デフォルトの名無しさん
2016/12/27(火) 21:03:13.98ID:kWoV7/2eありがとうございます
やはりそうなんですね
0548デフォルトの名無しさん
2016/12/27(火) 22:49:58.42ID:DbM4OtJEMVCから入るとプロジェクトテンプレートの時点で訳が分からなくなって意欲を損なう
0549デフォルトの名無しさん
2016/12/28(水) 00:24:46.29ID:6PQ8eENJいやいや今どきWeb Formsとかないわ
仕事で仕方なくっていう理由ならわかるけど
0550デフォルトの名無しさん
2016/12/28(水) 02:37:03.12ID:tHS+BZPK具体的に言うとブラウザや携帯のtwitterアプリで見るような形でタイムラインを表示したいのですがどのようなコントロールを使えばいいのか分かりません
どなたか教えていただけないでしょうか
0551デフォルトの名無しさん
2016/12/28(水) 06:10:33.37ID:U/Wkcgn00552デフォルトの名無しさん
2016/12/28(水) 06:28:56.80ID:hLvgF446まずはタイムラインの仕様を詳しく書いて
0553デフォルトの名無しさん
2016/12/28(水) 07:40:36.68ID:EECpjgXG0554デフォルトの名無しさん
2016/12/28(水) 07:55:45.93ID:nclhbqFU独自に作ったところで結局同じものを再発明することになるだけで時間の無駄でしかない
結論として、WebBrowserでいい
0555デフォルトの名無しさん
2016/12/28(水) 11:01:45.01ID:Xid52+QB0556デフォルトの名無しさん
2016/12/28(水) 11:06:16.13ID:WHhbvFAoあの手のUIとXAMLは相性がいいとか何とか。
そういうのパクってWPFで....と思ったけどWindos Formで作るのか
0557デフォルトの名無しさん
2016/12/28(水) 11:11:05.17ID:Xid52+QB0558デフォルトの名無しさん
2016/12/28(水) 11:33:29.67ID:tDjKTni2そうじゃなきゃリストビューのオーナードローかな
なんか意図があるから作りたいわけだろうからそれに合わせて作れとしかw
0559デフォルトの名無しさん
2016/12/28(水) 16:33:19.65ID:XPsq6pGc0560デフォルトの名無しさん
2016/12/28(水) 17:04:41.95ID:hmpOAOdCWindows Formなら複合コントロール(UserControl)使うのが一番現実的なような気はする
0561デフォルトの名無しさん
2016/12/28(水) 20:06:12.28ID:tHS+BZPK基本的にはブラウザで見るものと同じです
が、リプライ、RTなどのアイコンがなくなっておりさらに時間の表示位置と形式が違います
また、どのクライアントでツイートしたかの情報も表示します
クライアントの情報はツイート文の下に表示し、時間は絶対時間表記でクライアント情報の右に表示します
0562デフォルトの名無しさん
2016/12/28(水) 20:09:09.19ID:ace8uG6sTwitterの規約に違反してる
0563デフォルトの名無しさん
2016/12/28(水) 20:15:46.64ID:tHS+BZPK違反している部分は例えば時間表記はデフォルトでの設定は相対時間表記にしておき設定を変更することによって絶対時間表記にすることができるといった方法で回避しようと考えています
0564デフォルトの名無しさん
2016/12/28(水) 20:34:23.74ID:EECpjgXG手軽に見た目もきれいに作れるし仕様変更もし易いのに。
PictureBoxにゴリゴリ描くのも楽しいだろうけど仕様変更が辛いよ。
0565デフォルトの名無しさん
2016/12/28(水) 20:42:16.89ID:tHS+BZPK個人的な考えなのですがWebBrowserコントロールを使うのであれば普通のブラウザソフトを使ってTwitterをすればいいと考えているからです
0566デフォルトの名無しさん
2016/12/28(水) 21:54:16.84ID:Bwga9xUV確かにWPFはこういうの得意だね。
>>563
誤魔化してるだけで、回避は出来てないような。
0567デフォルトの名無しさん
2016/12/28(水) 22:32:59.93ID:tHS+BZPKWPFの方が作りやすいでしょうか?
規約については他のクライアントがこのような方法をとっていたのでこれで良いものと思いまして…
0568デフォルトの名無しさん
2016/12/28(水) 22:43:34.20ID:6Nd1Z00H0569デフォルトの名無しさん
2016/12/28(水) 22:56:26.65ID:EECpjgXG流し込むってイメージだと思うよ。
0570デフォルトの名無しさん
2016/12/28(水) 23:00:12.19ID:Bwga9xUVWPFはちょっと凝ったUI作るのにはお勧めなんだけど、初期の学習コストが大きいのがネック。
規約に関してはグレーゾーンでしょ。Twitter社次第。
0571デフォルトの名無しさん
2016/12/28(水) 23:30:17.32ID:NekU8PBKvar isd = dic is IEnumerable<object>;
var asd = dic as IEnumerable<object>;
↑これなんだけど、vs2015だと
実際の値は
isdがfalse
asdがnull
なんだけど、ウォッチ式上は
isdがtrue
asdには値が入ってるんよ。
オレの環境だけ?
vs2010はどっちもfalseのnullなんだよね。
他の環境は手持ちがなくて確認できず
で、本題なんだけど
Dictionary<T, U>をIEnumerable<object>に変換できないかね?
誰かやり方知りない?
0572デフォルトの名無しさん
2016/12/28(水) 23:32:42.76ID:gapvLjp60573デフォルトの名無しさん
2016/12/28(水) 23:52:57.99ID:NekU8PBKサンクス
すまんがもう一個
Dictionary<T, U>を一度object型に変換した後にDictionaryに変換せずに
IEnumerable<object>に直接変換する方法ってある?
元々、object型の値がIEnumerable<V>を継承してるか、継承していたら変換するって処理を作ってる時に気付いたもんで
後出しで申し訳ないが知ってたら教えてくり
0574デフォルトの名無しさん
2016/12/29(木) 00:33:10.83ID:u+8RF5XFなるほどthx
0575デフォルトの名無しさん
2016/12/29(木) 00:38:59.83ID:ICm4kcbNターゲットフレームワークが4以降なら直接IEnumerable<object>にキャストできる
Dictionary<,> は IEnumerable<KeyValuePair<,>> を実装している
.NET4以降ではIEnumerable<>は共変だからIEnumerable<派生>をIEnumerable<既定>として扱える
あと関係ないけど.NETの場合ジェネリックの型引数は
1つの場合はT、複数の場合はTKey, TValueのようにT〇〇と名付ける決まりだから
Java臭いキモい書き方はやめろ
0576573
2016/12/29(木) 00:49:52.62ID:ICm4kcbNKeyValuePair<,>は値型だから不変だな
直接キャストはできないので>>572で全要素を個別にボックス化してやる必要がある
0577デフォルトの名無しさん
2016/12/29(木) 00:58:24.25ID:ICm4kcbNIEnumerable<object>のかわりに単に非ジェネリックのIEnumerableにキャストすりゃいいよ
IEnumerable<>はIEnumerableを継承しているので、
IEnumerable<>なら要素が値型だろうが何だろうがIEnumerableには確実にキャストできる
どうしても<object>にしたいなら ((IEnumerable)obj).Cast<object>() で変換できる
0578デフォルトの名無しさん
2016/12/29(木) 01:43:17.27ID:yvgqyy5k値型だとダメなのか。知らんかったわ。
名前については気を付けるよ。
.NETのクラスライブラリ設計にも書いてあんね。もう一度読み返すよ。
助かった。ありがとう
0579デフォルトの名無しさん
2016/12/29(木) 15:12:21.99ID:ZEkDPYaumsdnフォーラムで聞くほうがいいよ
0580デフォルトの名無しさん
2016/12/30(金) 07:18:33.47ID:WuCbATao0581デフォルトの名無しさん
2016/12/30(金) 07:52:06.59ID:ztwR1BBS0582デフォルトの名無しさん
2016/12/30(金) 08:01:52.99ID:pFqShxhH・に慣れてる
・しか知らない
・しか使えない環境
以外の理由で VB.net を選ぶ理由が知りたいよ
0583デフォルトの名無しさん
2016/12/30(金) 08:22:40.21ID:ztwR1BBS0584デフォルトの名無しさん
2016/12/30(金) 08:28:44.57ID:wot9qjtLはぁ…90年代からいらしたんですか?そりゃどうも…って感じになる
0585デフォルトの名無しさん
2016/12/30(金) 08:38:34.39ID:fHdmB1av毎年素人に教えなきゃいけないから学習コストは常にホットな話題なんだよ
0586デフォルトの名無しさん
2016/12/30(金) 08:55:52.86ID:IhX7anmLまぁそういう会社ってVB6なんだろーけどさ。
0587デフォルトの名無しさん
2016/12/30(金) 09:23:58.96ID:ylI4PuDYと思ってたら最新のTIOBEインデックスが不可解な事になってるけど
http://news.mynavi.jp/news/2016/12/08/031/
0588デフォルトの名無しさん
2016/12/30(金) 10:37:03.00ID:z+0XLzNtTIOBEは昔から滅茶苦茶で
指標として価値がないよ
PYPLのが実態にあってるとおもう
http://pypl.github.io/PYPL.html
0589デフォルトの名無しさん
2016/12/30(金) 11:36:38.80ID:LToUj4mCVB6よりも古い時代の資料を改定しながら使いまわしてる
今の時代に合わせて作り直したら大変だ
0590デフォルトの名無しさん
2016/12/30(金) 12:03:55.88ID:WuCbATaoコーディング量が多いってほんまかいな。
.netならどっちも同じことができるはずやないんかいな。
vb.netなら何行も書く必要のあるものがc#なら1行で書けるコードがあるわけか。
社員に還元する気のない会社なら単価は安くていい。
0591デフォルトの名無しさん
2016/12/30(金) 12:21:39.74ID:WuCbATaovbに慣れてない人なんか少数派ではないんかいな。
vbなんかほとんどの人ができると思うけどな。
それで、vbの手続き(Sub)や関数(Function)も使える利点もある。
0592デフォルトの名無しさん
2016/12/30(金) 12:28:11.59ID:FgVAt5LY葦の髄並みに視界が広いんだね!驚いた
0593デフォルトの名無しさん
2016/12/30(金) 12:30:49.02ID:3Ls/pupf0594デフォルトの名無しさん
2016/12/30(金) 12:30:52.92ID:WuCbATao0595デフォルトの名無しさん
2016/12/30(金) 12:31:12.31ID:1dqi8t3Cリファレンスの差が圧倒的だからな。ライブラリもC#の方が充実してる。
0596デフォルトの名無しさん
2016/12/30(金) 12:36:38.79ID:TrhPacUJ0597デフォルトの名無しさん
2016/12/30(金) 12:39:17.24ID:WuCbATaoリファレンスは、c#でも普通に利用してvb.netでプログラムしてるから別にいい。
ライブラリって、サードパーティ製でc#にしか使えないものがあるということか?
0598デフォルトの名無しさん
2016/12/30(金) 12:40:53.78ID:a9lBhbdOVBerの世界では日本語のゴミのことを利点って表現するんだな
勉強になったわ
0599デフォルトの名無しさん
2016/12/30(金) 12:44:33.76ID:p8PwMXsr利点がどうかをお前の主観で判断するなら人に問いかけるな
お前のキンタマ脳味噌でしこたまオナってろカス野郎
0600デフォルトの名無しさん
2016/12/30(金) 12:55:30.88ID:WuCbATao0601デフォルトの名無しさん
2016/12/30(金) 13:02:37.99ID:E/JZqwpg0602デフォルトの名無しさん
2016/12/30(金) 13:05:31.05ID:pFqShxhHVB なんて10年以上使ったことない
って奴はごろごろいると思うけど?
0603デフォルトの名無しさん
2016/12/30(金) 13:15:31.59ID:WuCbATao0604デフォルトの名無しさん
2016/12/30(金) 13:19:37.16ID:LToUj4mC0605デフォルトの名無しさん
2016/12/30(金) 13:29:15.01ID:/QGVHUc5tweenが確かソースコード非公開化する前はVB.NETじゃなかったっけ
0606デフォルトの名無しさん
2016/12/30(金) 14:03:07.38ID:WuCbATaoもちろん互換性もないのにc#とはおかしい言語名だ。
0607デフォルトの名無しさん
2016/12/30(金) 14:21:47.87ID:B5+tn9xF未だにJavaよりもC/C++使いの方がエキスパートみたいな風潮はあるしCって付けたのは悪くないと思うけど
0608デフォルトの名無しさん
2016/12/30(金) 15:56:44.65ID:hgBVSCl8Java、C++、VBという当時の三大勢力のうちC#はC++開発者をターゲットにしていたから、
Cの名前を冠するのは戦略上当然
0609デフォルトの名無しさん
2016/12/30(金) 17:46:25.33ID:U2S2spdu以上
0610デフォルトの名無しさん
2016/12/30(金) 18:31:14.27ID:WuCbATao「アンセーフコードを許可する」にチェックを入れないといけなかったのか。C#ってぼろいな。
0611デフォルトの名無しさん
2016/12/30(金) 18:53:07.80ID:WuCbATao0612デフォルトの名無しさん
2016/12/30(金) 19:06:33.29ID:B5+tn9xF0613デフォルトの名無しさん
2016/12/30(金) 21:27:21.00ID:rzMADc8/そもそもVB.NETもVB6と互換性無いしな
互換性の維持は欠点の引き継ぎでもあるから、良いことばかりではない
0614デフォルトの名無しさん
2016/12/31(土) 01:38:04.63ID:9j/vHbfh年末で暇なのか?
0615デフォルトの名無しさん
2017/01/03(火) 12:36:47.28ID:6G2Z4dX0ApplicationとSessionだけ?
0616デフォルトの名無しさん
2017/01/03(火) 13:07:31.73ID:bKYKotyvasync使ってたりforkしてたりすると死ぬけど
0617デフォルトの名無しさん
2017/01/03(火) 18:21:36.81ID:GxvhYohc何がしたいん?
0618デフォルトの名無しさん
2017/01/03(火) 19:30:11.31ID:7mNkwS/Nリクエストとトランザクションのスコープを同期させたい
フレームワーク側でトランザクション管理して
個々のリクエストからはトランザクションを参照するだけにして透過的に扱えるようにしたい
0619デフォルトの名無しさん
2017/01/03(火) 19:33:32.03ID:GxvhYohcカタカナが多くて理解出来ないわ
すまん
0620デフォルトの名無しさん
2017/01/03(火) 23:21:22.46ID:rV3i3AFUフレームワーク側でトランザクション管理って何の事を言ってるんだ?
@PageのTransactionならページ=リクエスト単位でのトランザクション管理だったと思うが
0621デフォルトの名無しさん
2017/01/04(水) 11:10:13.30ID:P9CxkEKM明示的に共有する必要なんかないだろ
現在のトランザクションはTransaction.Currentで取れるし、
TransactionScopeAsyncFlowOption.Enabledでasyncにも対応できる
0622デフォルトの名無しさん
2017/01/06(金) 15:01:19.97ID:ugUrUcmUなぜか糞重いんだけど、どうしてなんだろう
http://blog.xin9le.net/archive/category/C%23
.NET関係のブックマークはFirefoxで統一してるので出来たらFirefoxでも快適に見る方法ないかな
ブログ主が修正してくれたらそれが一番いいんだけど、こんなスレ見てないだろうし
こっちから指摘して直してくれってのもちょっとアレなんで
0623デフォルトの名無しさん
2017/01/06(金) 19:33:41.04ID:UonIfHoY0624デフォルトの名無しさん
2017/01/08(日) 04:55:07.07ID:AV67jRu6見かけがCに少し似てるだけで、中身はVB.NETと同じだろ。
VB.NETを拒絶してC#にこだわる理由がない。
挙句の果てに、「VBAをC#表記にすればいいのにと 」とまで言い出す始末。
0625デフォルトの名無しさん
2017/01/08(日) 05:21:47.77ID:gvW6zVP30626デフォルトの名無しさん
2017/01/08(日) 05:24:36.52ID:AV67jRu60627デフォルトの名無しさん
2017/01/08(日) 05:38:16.16ID:qYFGvy5R0628デフォルトの名無しさん
2017/01/08(日) 06:27:27.71ID:TbfsFEah消しとけ
0629デフォルトの名無しさん
2017/01/08(日) 09:01:21.88ID:FbXxDY90狂った人から見ると普通の人が狂ってるように見えるんだってさ
0630デフォルトの名無しさん
2017/01/08(日) 09:40:46.74ID:vasp0ss60631デフォルトの名無しさん
2017/01/08(日) 11:10:32.86ID:qEmyXRDT0632デフォルトの名無しさん
2017/01/08(日) 11:24:30.92ID:mLyjhJYPVBAはうんこ オブ ザ うんこ
0633デフォルトの名無しさん
2017/01/08(日) 11:50:35.91ID:aANViJyGc#への橋渡しとしてのVB.NETだと思うし
0634デフォルトの名無しさん
2017/01/08(日) 11:59:14.80ID:AV67jRu60635デフォルトの名無しさん
2017/01/08(日) 12:14:57.49ID:G2Ue1pwT使いたい人は勝手にしたらいいがC#のスレにきてわざわざ暴れるなよ
0636デフォルトの名無しさん
2017/01/08(日) 12:15:40.75ID:8d6R2/PQ何を勘違いしてるのか知らないが、普通のC#使いのほとんどはVBも普通に使えるぞ?
逆はそうでもないが
0637デフォルトの名無しさん
2017/01/08(日) 12:21:38.45ID:ZKkxHQju0638デフォルトの名無しさん
2017/01/08(日) 12:22:57.20ID:U62MbfoDというか幾らなんでも名前に踊らされ過ぎ
0639デフォルトの名無しさん
2017/01/08(日) 12:29:52.90ID:6Rfsv7h0VB専に聞いてみりゃわかるが、彼ら自身はC#は別物だと思ってるし
実際彼らの書くコードはC#とは全く似つかないよ
0640デフォルトの名無しさん
2017/01/08(日) 12:47:23.31ID:vasp0ss60641デフォルトの名無しさん
2017/01/08(日) 13:03:51.40ID:AV67jRu6のC#使いのほとんどはVBも普通に使えるぞ」という人がある。10年以上使わないなら、普通に使えるとは思えないの
で、後者は前者の主張を否定したようなものだ。
「VBにはC#のunsafe相当が無い」という人がいる一方で、別の人は「意図的に使いにくくしてるわけでCに近づける
意味も必要性もない」といってunsafeの存在価値を否定した。
それぞれの主張に客観性がないんだろうな。
0642デフォルトの名無しさん
2017/01/08(日) 13:10:39.99ID:ZKkxHQju0643デフォルトの名無しさん
2017/01/08(日) 13:25:57.09ID:Dfhzw297「意図的に使いにくくしてるわけでCに近づける意味も必要性もない」は別にunsafeの存在を否定はしてないだろ。
普段使いするものじゃないからわざと使いにくくしてあるけど、いざという時はちゃんと使えるんだから。
0644デフォルトの名無しさん
2017/01/08(日) 13:26:42.71ID:G2Ue1pwTそれでここで憂さ晴らししていると
ここでもバカにされるだけなのに
0645デフォルトの名無しさん
2017/01/08(日) 13:34:55.06ID:Dfhzw297最初からVBに興味ないか、少しだけ触って見限ったきりって人も多い。
少し勉強すればVBもできる人は多いだろうけど、そうする意味もあまりないし。
0646デフォルトの名無しさん
2017/01/08(日) 13:39:59.92ID:mLyjhJYPVB.NETで出来ることはC#で出来るし
何となく感覚で読めるけど書けない
0647デフォルトの名無しさん
2017/01/08(日) 13:43:29.27ID:AV67jRu60648デフォルトの名無しさん
2017/01/08(日) 13:48:31.81ID:AV67jRu60649デフォルトの名無しさん
2017/01/08(日) 13:58:48.72ID:euA+r4Nb東京、大阪の関係みたいなもんだな
0650デフォルトの名無しさん
2017/01/08(日) 13:59:50.66ID:pxQLZoyBExcelをCOM Interop;する時はOption Strict Offで適当にキャストかましてくれる
VBの方がまだちょっと使いやすいけどそれ以外はあえてVBを選ぶ理由は消滅したな。
0651デフォルトの名無しさん
2017/01/08(日) 14:00:51.70ID:vasp0ss60652デフォルトの名無しさん
2017/01/08(日) 14:06:57.00ID:ZKkxHQjuOffice関連はNetOffice使った方が便利で安全だぞ
わざわざVB.NETを選ぶ必要は無い
0653デフォルトの名無しさん
2017/01/08(日) 14:22:29.23ID:XDbKIsfAあいつら食わず嫌いしてるだけ
ただ書けるだけであってVBっぽい気持ち悪いC#コードが生産されるので書かせない方がいいのは確かだ
0654デフォルトの名無しさん
2017/01/08(日) 14:37:23.20ID:C9GVPqMv> 10年以上使わないなら、普通に使えるとは思えない
30年以上 FORTRAN を使ってないけど普通に使えるけど?
0655デフォルトの名無しさん
2017/01/08(日) 14:51:06.05ID:dpJgVr6uVB2008からはC#の開発チームと統合されて、VBを馬鹿にしてるアンダースの配下になったからね
それまでは独自路線だったが、以降は開発方針が変わってC#の方言になった
0656デフォルトの名無しさん
2017/01/08(日) 14:59:20.01ID:AV67jRu6と反論するために「10年以上使ったことないって奴はごろごろいると思うけど」と反論の理由を言ったんだろう
と解釈できるし、そうなると、Cが「FORTRANを30年以上使ってなくても普通に使える」という主張は、Bへの反
論かいな。
0657デフォルトの名無しさん
2017/01/08(日) 15:03:11.58ID:dpJgVr6u3日で生え抜きのベテランVBerより品質の高いコードを書ける
0658デフォルトの名無しさん
2017/01/08(日) 15:07:20.67ID:AV67jRu6や「3日で生え抜きのベテランVBerより品質の高いコードを書ける 」等の発言から自分らを高く見せたい
というプライドがあるんだな。
0659デフォルトの名無しさん
2017/01/08(日) 15:11:41.76ID:AV67jRu6と書こうとした。
0660デフォルトの名無しさん
2017/01/08(日) 15:21:13.72ID:tl4nBuMM0661デフォルトの名無しさん
2017/01/08(日) 15:33:55.81ID:j7hkxIjfC#erはコードにもこだわる
0662デフォルトの名無しさん
2017/01/08(日) 15:41:15.76ID:hmvsmXiF30年前のfortranってどんなの?
0663デフォルトの名無しさん
2017/01/08(日) 15:46:08.09ID:dpJgVr6uパンチガードで入力してたから、固定フォーマットでコメント文字は何文字目に打つというような決まりがあった
0664デフォルトの名無しさん
2017/01/08(日) 16:02:54.22ID:XDbKIsfAVBで書ければC#でも書けるし逆も同じ
でも品質は全く違うものが出来上がる
0665デフォルトの名無しさん
2017/01/08(日) 16:14:56.03ID:AV67jRu60666デフォルトの名無しさん
2017/01/08(日) 16:17:18.08ID:mLyjhJYP0667デフォルトの名無しさん
2017/01/08(日) 16:51:42.42ID:CzVAxFcaお前らも暇だなあ
0668デフォルトの名無しさん
2017/01/08(日) 17:06:56.44ID:AV67jRu6普通に疑問に答えればいいものを人格攻撃かいな。
0669デフォルトの名無しさん
2017/01/08(日) 17:07:39.75ID:bz1GF1b+0670デフォルトの名無しさん
2017/01/08(日) 17:18:11.47ID:ZD9uWaqV0671デフォルトの名無しさん
2017/01/08(日) 17:22:24.24ID:bz1GF1b+俺は褒めてるんだけど?
0672デフォルトの名無しさん
2017/01/08(日) 19:41:33.47ID:GefrbuSU世の中にはプログラミングが出来るだけで神様のように崇める挫折した人らがごまんといるんだからさぁ
ただ今さらVBは無いわなってだけで
ある程度のプログラミングのスキルがあれば大抵の言語やればできるわ
0673デフォルトの名無しさん
2017/01/08(日) 19:47:55.76ID:TbfsFEah0674デフォルトの名無しさん
2017/01/08(日) 19:55:49.52ID:zjQfPtHB察してあげる優しさも必要だと思うの。
・・・そうじゃなきゃこんなに拘ったりしないだろ。こんなどうでもいいことに。
0675デフォルトの名無しさん
2017/01/09(月) 01:08:12.74ID:vxkpROxT一部を除けばなれの問題じゃね?
0676デフォルトの名無しさん
2017/01/09(月) 03:40:15.39ID:iFTSomz+C# LITEとかのがよかった
本当はVB6の文法のまま.NET化したほうがよかったが気がするけど
0677デフォルトの名無しさん
2017/01/09(月) 08:28:02.64ID:PTkphACT0678デフォルトの名無しさん
2017/01/09(月) 09:27:26.68ID:4NqOEoqDレガシーコンポーネントとの接合面に徹するということね
0679デフォルトの名無しさん
2017/01/09(月) 10:11:36.58ID:ES9C16usやれることが変わるっておかしいだろ
Basicで低級から高級まで、技術計算からwebまで全部網羅しなさいよ
0680デフォルトの名無しさん
2017/01/09(月) 10:20:44.97ID:EPA1tS/m書き方が違うのにc#の名前つけるのと不自然だろ
0681デフォルトの名無しさん
2017/01/09(月) 10:28:05.78ID:5eZppcho0682デフォルトの名無しさん
2017/01/09(月) 10:46:51.41ID:4NqOEoqD規格化して機械可読にしろ
曖昧過ぎて話にならん
0683デフォルトの名無しさん
2017/01/09(月) 10:53:09.63ID:Ml4ZG/LK「と」が多いだけで不自然じゃないだろ
そっちじゃなくて、>>679の相手してやれよ
0684デフォルトの名無しさん
2017/01/09(月) 10:55:14.48ID:qNaaD21i不自然すぎるだろ
0685デフォルトの名無しさん
2017/01/09(月) 11:28:05.30ID:EPA1tS/m0686デフォルトの名無しさん
2017/01/09(月) 11:34:45.57ID:GZgSniwS0687デフォルトの名無しさん
2017/01/09(月) 11:49:57.75ID:CAx+Qp4q0688デフォルトの名無しさん
2017/01/09(月) 12:04:50.19ID:Ml4ZG/LK0689デフォルトの名無しさん
2017/01/09(月) 23:22:09.65ID:PtjtbCa1いやすでにゴミなら
GC.Collect();
が妥当
0690デフォルトの名無しさん
2017/01/10(火) 22:17:04.74ID:uwegHVoPGCSettings.LargeObjectHeapCompactionMode = GCLargeObjectHeapCompactionMode.CompactOnce;
GC.Collect();
0691デフォルトの名無しさん
2017/01/11(水) 23:03:15.22ID:5ZcY/57eC#は相変わらずクラス名と同名で行くのかな
<?php
class BaseClass {
function __construct() {
}
}
0692デフォルトの名無しさん
2017/01/11(水) 23:08:33.22ID:1SbN3a75地味に面倒臭いな確かに
数が多くなると発狂レベル
0693デフォルトの名無しさん
2017/01/11(水) 23:45:27.30ID:SOQiv9G3public void DoSomething() { fuga.Hello(); }
}
こういう構文をサポートしてほしい
インジェクションで決まりきったコンストラクタと読み取り専用フィールドをダラダラ書くのがめんどくさい
0694デフォルトの名無しさん
2017/01/11(水) 23:49:54.18ID:IQVyJq110695デフォルトの名無しさん
2017/01/12(木) 01:46:35.54ID:9/EXlZU1同じ名前にするのって歴史的以外になんか理由があるのかね
まぁ、手打ちすることはないからコピペしたときぐらいしか気にはならんが
>>693
入りそうになったけど、レコード型と一緒に入れようとかで延期になった気がする
0696デフォルトの名無しさん
2017/01/12(木) 07:05:51.82ID:0A4eRqXF歴史って言うか C++ 由来でしょ
Delphi みたいにキーワードで指定する方法もあるし、PHP みたいに固定的な名前もある
0697デフォルトの名無しさん
2017/01/12(木) 07:57:37.19ID:gDCHiAoV単にC++やJavaの人が違和感なく入れるように配慮しただけ
メソッド名にキーワード使うのはインデクサのthisとかあるから public new() がベストだと思う
0698デフォルトの名無しさん
2017/01/12(木) 08:22:28.72ID:arip6tnc0699デフォルトの名無しさん
2017/01/12(木) 19:27:23.13ID:xSuUU/8sASP.NETよりも桁違いに普及してる時点で
.NETのが格下扱いだろ
0700デフォルトの名無しさん
2017/01/12(木) 19:33:30.95ID:2oeweQcz0701デフォルトの名無しさん
2017/01/12(木) 20:12:53.07ID:wTRJIMgP0702デフォルトの名無しさん
2017/01/12(木) 20:13:54.54ID:QYJftQFGphpがか?
0703デフォルトの名無しさん
2017/01/12(木) 21:40:32.87ID:TJ6nofkx> public new() がベストだと思う
構造体は常に new する訳じゃないから
0704デフォルトの名無しさん
2017/01/12(木) 22:00:11.00ID:b+ED7Ag1構造体のコンストラクタが呼ばれるのは明示的にnewされた場合だけだからそれでいいだろ
0705デフォルトの名無しさん
2017/01/12(木) 22:29:17.14ID:3WOOMgjXnew new()扱いになるのがキモイ
0706デフォルトの名無しさん
2017/01/12(木) 22:30:43.93ID:3WOOMgjXnew a.new()
0707デフォルトの名無しさん
2017/01/12(木) 22:38:31.12ID:ja9bCuYX0708デフォルトの名無しさん
2017/01/12(木) 22:47:22.93ID:oQ7f95Jk今は仕事だとphpとrailsメインだけどc#でなんでもやりたいわ
LAMPがどかーんと行ったのだって言語云々じゃなくサーバが無料ってのが大きかったと思うんよね
0709デフォルトの名無しさん
2017/01/12(木) 22:50:38.88ID:wTRJIMgP海外では
0710デフォルトの名無しさん
2017/01/12(木) 22:53:57.51ID:XIu+56IqGoの代わりくらいにはなれるかもね
0711デフォルトの名無しさん
2017/01/12(木) 23:10:57.73ID:xSuUU/8sVisualStudioも無料になったら
本気で普及し始めると思う
あと、ザマリンの導入がもうちょっと
解りやすくなったら
0712デフォルトの名無しさん
2017/01/12(木) 23:45:09.08ID:vtJ2CftHならないでしょ
VBが>>697の言う仕様だけど、そんなことにはなってない
0713デフォルトの名無しさん
2017/01/13(金) 07:15:03.66ID:hmsqUFNGじゃあ俺の自作言語が最強だな
変数ないけど
0714デフォルトの名無しさん
2017/01/14(土) 08:53:21.93ID:rv9BkqptクラスはC++と全然書き方が違う。
Cの派生言語のように見せかけた、中身はVBと同じ言語だ。
こんなもんでVBよりC#のほうが偉いはずがない。
0715デフォルトの名無しさん
2017/01/14(土) 09:02:17.10ID:exppjyX70716デフォルトの名無しさん
2017/01/14(土) 10:10:34.71ID:H4kTcvBH0717デフォルトの名無しさん
2017/01/14(土) 11:52:35.26ID:C/3o1CZS>>714
お前がバカなのはこのスレでよくわかったから、もう書かなくていいぞ
0718デフォルトの名無しさん
2017/01/14(土) 12:41:03.27ID:DO73KmNH0719デフォルトの名無しさん
2017/01/14(土) 16:48:32.83ID:OgQ0DzZw0720デフォルトの名無しさん
2017/01/14(土) 20:18:03.67ID:rv9Bkqpt0721デフォルトの名無しさん
2017/01/14(土) 20:41:22.94ID:JD3u+vgV0722デフォルトの名無しさん
2017/01/14(土) 20:43:39.19ID:dtN7VWLVネタも無いしいいだろって住み着くオカシイ奴ってどこにでもいるから
0723デフォルトの名無しさん
2017/01/14(土) 20:44:39.50ID:adzUep7y0724デフォルトの名無しさん
2017/01/14(土) 20:45:16.55ID:JD3u+vgV0725デフォルトの名無しさん
2017/01/14(土) 20:58:45.21ID:adzUep7y自分が使ってないから登録のことは考えてなかったわすまんな
0726デフォルトの名無しさん
2017/01/14(土) 22:03:54.65ID:4p1bTVm60727デフォルトの名無しさん
2017/01/14(土) 23:42:52.47ID:OgQ0DzZw0728デフォルトの名無しさん
2017/01/15(日) 06:06:15.67ID:N0spz/4F0729デフォルトの名無しさん
2017/01/16(月) 18:22:07.32ID:h1Gia5xw0730デフォルトの名無しさん
2017/01/17(火) 17:50:34.77ID:cbxfPpyL0731デフォルトの名無しさん
2017/01/17(火) 18:27:11.28ID:VcB0QsgY0732デフォルトの名無しさん
2017/01/17(火) 18:38:01.09ID:TNo9RdVK0733デフォルトの名無しさん
2017/01/19(木) 02:27:36.32ID:zUZJ1T5EInputBoxも使えるのがVB。
C#人は、C#使いながら、Microsoft.VisualBasic名前空間のライブラリを使ったりもしないのかな。
0734デフォルトの名無しさん
2017/01/19(木) 03:12:26.89ID:mclODO+O0735デフォルトの名無しさん
2017/01/19(木) 03:16:26.12ID:HUduSCHLCSV絡みでTextFieldParserとか
CsvHelperあるしもう誰も使わんと思うけど
0736デフォルトの名無しさん
2017/01/19(木) 03:28:23.32ID:zUZJ1T5ELike演算子の代わりなるものもあるんかいな。正規表現まで持ち出するのは一手間だし。
0737デフォルトの名無しさん
2017/01/19(木) 03:33:28.73ID:zUZJ1T5Eなぜかコンパイラが異常終了したことがあった。VB.NETでないとexeが作れなかった。当時はC#
は勉強不足だったから、それでは試してない。
0738デフォルトの名無しさん
2017/01/19(木) 04:14:58.96ID:LVeuyfqahttp://www.atmarkit.co.jp/ait/spv/1412/02/news129.html
0739デフォルトの名無しさん
2017/01/19(木) 04:20:46.87ID:LVeuyfqainputBoxが必要でVBにしがみつく理由がわからない
そんなform一瞬で作れるだろ
0740デフォルトの名無しさん
2017/01/19(木) 04:30:24.85ID:zUZJ1T5EVBならこんなものを自作して管理する煩わしさもなく、作成済みのフォームをプロジェクトに追加する
必要もない。
0741デフォルトの名無しさん
2017/01/19(木) 04:39:21.41ID:LVeuyfqaじゃあ逆に聞くけど、VBで.NET Core使ってんの?
0742デフォルトの名無しさん
2017/01/19(木) 04:44:31.30ID:zUZJ1T5E0743デフォルトの名無しさん
2017/01/19(木) 04:46:13.14ID:LVeuyfqa…やっぱ触っちゃいけない人だった
0744デフォルトの名無しさん
2017/01/19(木) 04:47:52.86ID:2A4qP/TBhttps://blogs.msdn.microsoft.com/dotnet/2017/01/18/the-week-in-net-on-net-with-david-pine-pwdless-terraria/
.NETの勉強しててこれのF#以外をVBで試そうと思ったら、かなり大変じゃない?というかできるの?
0745デフォルトの名無しさん
2017/01/19(木) 04:59:14.61ID:zUZJ1T5E0746デフォルトの名無しさん
2017/01/19(木) 05:04:07.77ID:bDIUTWZ4英語も読めないなら消えな
0747デフォルトの名無しさん
2017/01/19(木) 05:11:17.04ID:zUZJ1T5E専門家でも、論文全体ではなく、ある一部分だけを抜き出して、それが何の論文から引用したかも何かも示されなければ、理解できるとは限らないだろう。
0748デフォルトの名無しさん
2017/01/19(木) 05:23:49.86ID:bDIUTWZ4学術論文の話なんかしてねーよ
.NETのtipsがいろいろとまとめられてるけど、どうやってそれをVBに読み換えてんの?
0749デフォルトの名無しさん
2017/01/19(木) 05:25:18.75ID:LVeuyfqaただのブログだろバカ
0750デフォルトの名無しさん
2017/01/19(木) 05:26:05.83ID:mclODO+O0751デフォルトの名無しさん
2017/01/19(木) 05:31:36.41ID:mclODO+O0752デフォルトの名無しさん
2017/01/19(木) 06:06:50.67ID:zUZJ1T5Eいきなり長文を出されて、どこの何をどのようにして読むのか何も示さず、それをどうしてもらいたいのかも
説明がないと困るだろ。
0753デフォルトの名無しさん
2017/01/19(木) 06:10:42.55ID:JVh2O255説明してるだろVB脳
0754デフォルトの名無しさん
2017/01/19(木) 06:16:44.40ID:zUZJ1T5Eのが大変ではないか、またはできるのか、あるいはその前に読み替えもできるのかを聞きたいのかね。
0755デフォルトの名無しさん
2017/01/19(木) 06:18:51.75ID:zUZJ1T5E0756デフォルトの名無しさん
2017/01/19(木) 06:21:00.70ID:JVh2O255仕方ないからその中のこれだけでいいよ
http://www.codemag.com/Article/1701061
これVBでやってみ
0757デフォルトの名無しさん
2017/01/19(木) 06:21:30.66ID:mclODO+O最初からVBじゃなくてC#使ってれば何も悩まず書いてあるのをコピペして使えるよねって話じゃねえの
0758デフォルトの名無しさん
2017/01/19(木) 06:21:31.93ID:zUZJ1T5Eバカ扱いすれば自分が偉くて高い立場だとでも思ってるのかね。
0759デフォルトの名無しさん
2017/01/19(木) 06:25:06.37ID:zUZJ1T5E0760デフォルトの名無しさん
2017/01/19(木) 06:29:21.58ID:JVh2O255少し見たらわかると思うけど、これ極々基本的なことしかやってないよ?むしろこれができないならVBには無理だわ
0761デフォルトの名無しさん
2017/01/19(木) 06:29:25.97ID:BbnbZdnl0762デフォルトの名無しさん
2017/01/19(木) 06:31:34.13ID:LVeuyfqa0763デフォルトの名無しさん
2017/01/19(木) 06:34:19.96ID:mclODO+O0764デフォルトの名無しさん
2017/01/19(木) 06:38:41.20ID:zUZJ1T5Eお前の頭がおかしいから、他人の頭がおかしいと思い込んでるだけだ。
0765デフォルトの名無しさん
2017/01/19(木) 06:52:09.97ID:zUZJ1T5E0766デフォルトの名無しさん
2017/01/19(木) 07:07:47.10ID:krZQnAr8vb.netは自分も嫌いじゃないけど
ここはスレ違いと認識してそろそろやめませんか?
0767デフォルトの名無しさん
2017/01/19(木) 07:09:56.04ID:EGANxKDdVBといえば
Microsoft.VisualBasic.FileIO.FileSystem.DeleteFile()
は便利だよね。よく使う
0768デフォルトの名無しさん
2017/01/19(木) 07:30:09.62ID:zUZJ1T5Evbにはない有利なところ、切り替える価値を探ってるんだけどな。vbだけの有利
と思えるところが.netで代替策があるならそれもまず知る必要がある。その準備
なしで、漠然とC#使うだけなら意味がないし。そのためにC#を知るための話題だか
らな。
0769デフォルトの名無しさん
2017/01/19(木) 07:38:27.30ID:Xmxeyump知ろうとしてないだろ
0770デフォルトの名無しさん
2017/01/19(木) 07:42:49.69ID:b0abdje/0771デフォルトの名無しさん
2017/01/19(木) 07:55:09.76ID:mclODO+Oなんて、>>744をはじめとする最先端のコード資源がほぼコピペだけで使えるってだけで十分じゃん
0772デフォルトの名無しさん
2017/01/19(木) 07:57:11.06ID:q3hudiC7BASICのいいところはすべて失われた。
0773デフォルトの名無しさん
2017/01/19(木) 07:59:57.29ID:Ntb3+hAE0774デフォルトの名無しさん
2017/01/19(木) 08:00:00.05ID:XmxeyumpVBでも同様の処理を書けるならまだしも、そもそもフレームワークでサポートされてないからな
0775デフォルトの名無しさん
2017/01/19(木) 08:02:10.58ID:Xmxeyump体系的にまとめられてるのは見たことないから、素直に公式のdocs読むのが一番手っ取り早いよ
まあVisual Studio2017が出た時点で大幅に修正が入るからね
0776デフォルトの名無しさん
2017/01/19(木) 08:29:16.46ID:9oxUjj4Y0777デフォルトの名無しさん
2017/01/19(木) 09:22:15.10ID:X4NEWeGC相対的にそうなるね
0778デフォルトの名無しさん
2017/01/19(木) 13:01:19.54ID:0ZEPc8s2原因わかりますか?
0779デフォルトの名無しさん
2017/01/19(木) 16:18:48.05ID:C+ssGhBJ0780デフォルトの名無しさん
2017/01/19(木) 18:03:11.37ID:t+KfFfyK普通はコードを理解して、自分の作る目的のプログラムに合わせて必要変更をするだろうが。
ただのコピペ厨の自称プログラマーかいな。
0781デフォルトの名無しさん
2017/01/19(木) 18:10:34.08ID:yUxFIvB50782デフォルトの名無しさん
2017/01/19(木) 19:01:51.57ID:Ccs4bPhGワイルドカードが使えるから便利ってこと?
0783デフォルトの名無しさん
2017/01/19(木) 19:56:33.00ID:mclODO+Oもちろん必要があれば読むよ
でも他人がもう書いてるコードなんて可能な限り自分で書き直さないで済むほうがいいんだよ
そもそもライブラリってそういうもんだろ
0784デフォルトの名無しさん
2017/01/19(木) 20:37:07.91ID:Ntb3+hAEありがとう
Core始めてみてEntity Framework使おうとしたら
dotnet efのコマンドが通らなくていきなりくじけたでござる
0785デフォルトの名無しさん
2017/01/19(木) 20:45:51.31ID:xEZd6WIvEntity Framework Coreは、まだOracleが正式にサポートされてないのが辛いね
0786デフォルトの名無しさん
2017/01/20(金) 03:17:40.48ID:mnoV+t38ゴミ箱に入れられるからでしょ
0787デフォルトの名無しさん
2017/01/20(金) 07:11:21.34ID:1c/0Zcpc0788デフォルトの名無しさん
2017/01/20(金) 07:26:59.76ID:73D0Dll6Windowsで運用とか苦痛でしかないし
0789デフォルトの名無しさん
2017/01/20(金) 07:30:05.91ID:1c/0Zcpciis便利やん。何が苦痛なん?
0790デフォルトの名無しさん
2017/01/20(金) 07:32:52.88ID:Bg1tCMvmシステムやアプリの設定方法に統一感なくてわかりにくいし
SeLinuxとか鬱陶しいし
コマンドへのIOが文字列とか前時代的だし
スイッチも一文字じゃ何やってるサッパリかわからん
0791デフォルトの名無しさん
2017/01/20(金) 08:16:51.86ID:uaOwYInAAPIも知らないのかな?ASP.NETにおけるWebサイトとWebアプリの違いはわかってるかい?
0792デフォルトの名無しさん
2017/01/20(金) 08:43:19.35ID:kuRbEAeZさすがにその言いがかりは無理があるだろ
Webサイトと聞いてASP.NET用語のWebサイトのことだと思っちゃう人は相当特殊だということを自覚したほうがいいよ
0793デフォルトの名無しさん
2017/01/20(金) 10:28:22.73ID:l+Qn6xw4次のような機能を拡張するために、.NET Core の上に追加のアプリケーション モデルがビルドされています。
ASP.NET Core
Windows 10 ユニバーサル Windows プラットフォーム (UWP)
Xamarin.Forms
https://docs.microsoft.com/ja-jp/dotnet/articles/core/
0794デフォルトの名無しさん
2017/01/20(金) 11:07:17.26ID:uaOwYInA単に無知なやつを茶化してるだけだろ
0795デフォルトの名無しさん
2017/01/21(土) 12:06:38.55ID:qCdjOj58動作環境を知ることができる特定の相手のみアプリケーションを配布するのにインストーラーが必要なのはどういった場合になるでしょうか
0796デフォルトの名無しさん
2017/01/21(土) 12:42:00.19ID:wnvzR/a/どんな無償環境?
無償環境だけが条件ならVisual Studio Community 2015 でインストーラーを作れるけど
0797デフォルトの名無しさん
2017/01/21(土) 13:15:17.44ID:3w6w5xSi0798デフォルトの名無しさん
2017/01/21(土) 13:26:11.74ID:DU5/M7G9ありがとう。調べてみたら
Installer projectっていうのがあるんだね
0799デフォルトの名無しさん
2017/01/22(日) 05:11:30.27ID:SRnP25taprivate void OnClick(object sender, DeviceGestureEventArgs e)
{
// いろいろ処理
}
Clickイベント自体はpublicです。
Clickイベントをどうにかしてこの いろいろ処理 を無効にできますか?
button.Click -= OnClick; みたいなことがやりたいのですが。
0800デフォルトの名無しさん
2017/01/22(日) 08:34:45.29ID:6kGfbYFSvar m = hoge.GetType().GetMethod("OnClick", BindingFlags.NonPublic | BindingFlags.Instance);
var h = (FugaEventHandler)m.CreateDelegate(typeof(FugaEventHandler), hoge);
hoge.Click -= h;
0801デフォルトの名無しさん
2017/01/22(日) 09:43:23.66ID:phG9hQKS継承して OnClick (>>799に書いてあるものではなくてこれhttps://msdn.microsoft.com/en-us/library/system.windows.forms.control.onclick(v=vs.110).aspx)
をオーバーライドして潰せばClickイベントは発生しなくなる
0802デフォルトの名無しさん
2017/01/22(日) 10:20:22.86ID:SRnP25taありがとうございます。
いけそうです。
0803デフォルトの名無しさん
2017/01/22(日) 23:41:02.88ID:B37Hjrvbbyte[] bs = System.IO.File.ReadAllBytes(file_path);
↑これだと2GB未満にしろといわれます
できるだけ分割したくないのですが方法はありますか?
0804デフォルトの名無しさん
2017/01/22(日) 23:47:39.67ID:5CC/gWkn0805デフォルトの名無しさん
2017/01/22(日) 23:56:07.82ID:f0ZpZ2O50806デフォルトの名無しさん
2017/01/22(日) 23:58:32.97ID:2orbyh8h0807デフォルトの名無しさん
2017/01/22(日) 23:59:03.69ID:7Uo1H//c配列の長さは仕様上Int32なのでどうしようもない
0808デフォルトの名無しさん
2017/01/23(月) 00:06:09.00ID:dQYVkXPHhttp://stackoverflow.com/questions/26882004/system-io-file-readallbytes-for-file-larger-than-2gb
http://msdn.microsoft.com/ja-jp/library/hh285054%28v=vs.110%29.aspx
http://abe-masato.cocolog-nifty.com/blog/2014/08/c-2gb-8da2.html
C# 2GB でググレカス
0809デフォルトの名無しさん
2017/01/23(月) 00:14:05.50ID:iJ5kh901少なくとも現時点では富豪的過ぎる気がするんだけどw
ムーアの法則とっくに終わってるし将来的にも疑問だなあw
まあ現時点でも動作環境を限定できるならそれほど非現実な数字でもないんだろうけど
0810デフォルトの名無しさん
2017/01/23(月) 00:41:33.95ID:ft2qOqRV10〜20個くらいのプロパティを持つクラス(ほとんどstring型)の、数百万個単位のインスタンスを処理したい
(現在百数十万個だがデータは日々増えていて、将来的には500万個以上のデータを扱いたい)
データ追加時を除けば1つのデータのプロパティを書き換えることはあまりない
全データを対象に集計や抽出をバリバリやる
今はこのクラスのジェネリックリストでメモリ上に保持していて、XmlSerializerとStreamReader/Writerでロード/セーブしてるけど、
500MB以上のファイル読み書きに十秒単位で時間が掛かるようになってきてしまい、使用メモリも多いときは1GBに届きそうになってきた
個人のPCでも実現出来る範囲で何か工夫して軽量化するとすれば、どういうやり方があるだろうか
データベースを使うと却って重くなる?
0811デフォルトの名無しさん
2017/01/23(月) 01:00:04.12ID:AKblCqbZ0812デフォルトの名無しさん
2017/01/23(月) 01:17:39.68ID:ft2qOqRVこの規模のデータでデータベースを使うなら何がいいですかね?
0813デフォルトの名無しさん
2017/01/23(月) 05:19:54.65ID:3LnhEFNWむしろそんなになるまでデータベースを使わない選択をしてたのが信じられんわ
0814デフォルトの名無しさん
2017/01/23(月) 07:25:59.67ID:4eKNVnEBpostgresかな
高性能で、ライセンスが緩く、比較的ローカルでも利用されることの多い非常に有名なDBMSだ
広く配布するようなものではなさそうに見えるから、
SQLiteみたいな組込型に拘る必要はないと思う
0815デフォルトの名無しさん
2017/01/23(月) 08:36:41.41ID:mc6Hyr1KSQL-SERVER LocaDB でいいんじゃね?
Visual Studio から操作できるし
他の端末からも参照したいって言われたら SQL-SERVER Express に移行すればいいし
もっとでかくなったら Standard や DataCenter Edition あるし
0816803
2017/01/23(月) 11:57:28.95ID:Enhoy4E3>>805
>>807
>>808
レスありがとうございます
<gcAllowVeryLargeObjects> を有効にしてもbyte配列自体が2GB超えて作ることができないため
それそも不可能ということでよろしいですか?
その場合、int32などに配列作りなおしたいと思います
0817デフォルトの名無しさん
2017/01/23(月) 12:04:12.14ID:uKeJP+/bbyte*にするなら可能
0818デフォルトの名無しさん
2017/01/23(月) 13:01:08.68ID:GKpZ78C8バイナリファイルの編集が目的ならreader/writer使えば良いんじゃないの
0819デフォルトの名無しさん
2017/01/23(月) 21:01:33.61ID:bI3M8V88ビルドターゲットはx64になってる?
AnyCPUだと最近のは32bitを優先がデフォルト設定だから上手く行かないかも。こっちを直しても良いけど。
いずれにせよ、64bit環境は必須。
0820デフォルトの名無しさん
2017/01/23(月) 21:16:01.30ID:4O+fDoKVSQL Server Expressは10GB制限があるから話にならんよ
DBまでわざわざMSにロックインとかアホらしいし
0821デフォルトの名無しさん
2017/01/23(月) 21:55:33.04ID:3LnhEFNWじゃあ何がおすすめなの?教えて先生!
0822デフォルトの名無しさん
2017/01/23(月) 21:58:50.93ID:hTicmAdc0823デフォルトの名無しさん
2017/01/23(月) 21:59:47.37ID:LuyUsAN110GBも有れば十分だと思う
0824デフォルトの名無しさん
2017/01/23(月) 22:29:35.23ID:4O+fDoKV既に500MBあってまだまだ増えるって言ってるのに何を根拠に十分だというのか
いくつも一時テーブル作ったりしたらカツカツだろ
DBってそれぞれに結構癖屋独特のノウハウがあるから、後で問題が出てから乗り換えるより最初から一本に決めたほうがいい
MSに金払う気がないならpostgresにしとけ
0825デフォルトの名無しさん
2017/01/23(月) 22:53:34.66ID:uKeJP+/b>(現在百数十万個だがデータは日々増えていて、将来的には500万個以上のデータを扱いたい)
> XmlSerializerとStreamReader/Writerでロード/セーブしてるけど、
> 500MB以上のファイル読み書きに十秒単位で時間が掛かる
今のデータで考えると10GBには百数十万個の20倍
今のデータはxml
どんな根拠で10GBが不十分だというのか逆に聞きたい
0826デフォルトの名無しさん
2017/01/23(月) 22:59:20.56ID:UsEI+ALW理由もなしにpostgresとな
0827デフォルトの名無しさん
2017/01/23(月) 23:08:01.01ID:wWnQplUy0828デフォルトの名無しさん
2017/01/23(月) 23:15:06.54ID:wcSM/s0i0829デフォルトの名無しさん
2017/01/23(月) 23:19:31.21ID:4eKNVnEBわかりやすいのは型付データセットだな
強制された基底クラスや大量の自動生成コードにクソミソに汚されたクラスのことだ
0830デフォルトの名無しさん
2017/01/23(月) 23:25:33.94ID:8CargB7Y0831デフォルトの名無しさん
2017/01/24(火) 01:13:39.09ID:JiOoKhp+GetValueなら64bitを指定できはする
64bitなら一応確保できるのかなぁ
だけど、そもそも2GB超の連続領域を安定して確保できるかは不安
メモリマップとかも検討したら?
0832デフォルトの名無しさん
2017/01/24(火) 08:39:50.24ID:HHZbO6eg> SQL Server Expressは10GB制限があるから話にならんよ
生の XML を格納する訳じゃないだろうしデータ圧縮もできるし話にならないのは君のちんけな知識じゃないかな? w
PostgreSQL もいいと思うけどちょっとしたデータの確認とかを Visual Studio でできる SQL-Server の便利さは捨てがたい
0833デフォルトの名無しさん
2017/01/24(火) 08:42:05.80ID:JKcqAdCJGUIの管理ツールを使えば済む話
0834デフォルトの名無しさん
2017/01/24(火) 08:42:56.64ID:HHZbO6eg内部的には SQL-Server のプロセス動いてるから大多数の人には邪魔にしかならんと思う
0835デフォルトの名無しさん
2017/01/24(火) 08:46:39.86ID:ghFC1Ntr0836デフォルトの名無しさん
2017/01/24(火) 10:25:32.84ID:tgh5wy6gVistaか7あたりから、ファイルシステムがSQL Serverベースになるという話があったよな
0837デフォルトの名無しさん
2017/01/24(火) 10:52:48.75ID:g9KGWoahちょっとはググれよ
0838デフォルトの名無しさん
2017/01/24(火) 11:02:46.65ID:tjYeiy24無駄な機能は悪
0839デフォルトの名無しさん
2017/01/24(火) 11:05:54.15ID:4uwrNeCv0840デフォルトの名無しさん
2017/01/24(火) 11:23:21.18ID:1ohBhH6C0841デフォルトの名無しさん
2017/01/24(火) 11:25:32.73ID:b/7/gkXoOSで各種設定を保持するのはやめよう(名案)
0842デフォルトの名無しさん
2017/01/24(火) 11:28:18.15ID:nhx4+y/y頓挫しちゃったのが勿体無い
0843デフォルトの名無しさん
2017/01/24(火) 11:47:35.47ID:HE6oytLNさっぱり理解できんかった。
0844デフォルトの名無しさん
2017/01/24(火) 12:20:30.56ID:b/7/gkXoもっとリッチなタグ情報をファイルシステムで持たせて
OSの検索機能に統合する思想は支持するよ
0845デフォルトの名無しさん
2017/01/24(火) 12:43:39.44ID:HHZbO6eg> GUIの管理ツールを使えば済む話
それをいちいちインストールするのが面倒だって話
0846デフォルトの名無しさん
2017/01/24(火) 12:47:25.25ID:HHZbO6egWinFS か
いい考え方だと思うがちょっと構想が壮大すぎたな
0847デフォルトの名無しさん
2017/01/24(火) 13:11:04.23ID:VXWwcrkCWinFS、WPF・・・ゲイツはやはり生粋のプログラマである。
0848デフォルトの名無しさん
2017/01/24(火) 15:21:09.38ID:iRQG5obN0849デフォルトの名無しさん
2017/01/24(火) 15:39:07.83ID:VXWwcrkC0850デフォルトの名無しさん
2017/01/25(水) 03:10:02.58ID:WHRwTArY全部読まないと一部分が取り出せないってのがデータが多くなると致命的だよね
0851デフォルトの名無しさん
2017/01/25(水) 07:15:37.99ID:fntd/u0o0852デフォルトの名無しさん
2017/01/25(水) 11:50:15.36ID:3NBpStvW機械語NativeとそうでないPGとに根本的な認識の断絶がある。
0853デフォルトの名無しさん
2017/01/25(水) 11:53:43.34ID:2idQLFdG0854デフォルトの名無しさん
2017/01/25(水) 11:59:10.65ID:uJriqNlz0855デフォルトの名無しさん
2017/01/25(水) 12:27:26.41ID:eMOc+Lms時代について行けてないお爺ちゃん頑張って
0856デフォルトの名無しさん
2017/01/25(水) 12:38:38.29ID:obtTERoQC#に移行するときにモッサリ感でイライラした人も多かったはずだが
0857デフォルトの名無しさん
2017/01/25(水) 14:12:06.66ID:LppA2Fcl0858デフォルトの名無しさん
2017/01/25(水) 14:18:51.33ID:7AoQtGUX+1
>>854
+1
>>853
+1
>>852
-1
0859デフォルトの名無しさん
2017/01/25(水) 16:32:03.08ID:ABI1PFb60860デフォルトの名無しさん
2017/01/25(水) 19:30:14.67ID:/wdbuGDrただそれ以前に暴れている奴がいないと思うが。
あとC#はnativeでは無くMSILだろ。そして必要十分な速度は出ていると思うよ。
DBについては、自前でDBモドキを作る位なら最初からDB使えって話だろ。
ただしOSは今のNTFS+検索用インデックス(現行システム)でいいと思うけどね。
大半は階層化で問題ないし、必要あればDBを動作させればいいだけ。
WPFは使ったこと無いが、中途半端なものを作るのではなく、
最初からHTMLにしとけばよかったと思う。
0861デフォルトの名無しさん
2017/01/25(水) 19:33:54.26ID:G7Mt73tJC#は実行時はネイティブだよ
Javaみたいなインタプリタとのハイブリッドとも違い、ほぼAOTな方式
0862デフォルトの名無しさん
2017/01/25(水) 19:34:38.55ID:uJriqNlz0863デフォルトの名無しさん
2017/01/25(水) 20:00:27.57ID:/wdbuGDrJITと言えよ。話が余計におかしくなるだろ。
とはいえMonoは直接native吐けるようだが。
0864デフォルトの名無しさん
2017/01/25(水) 20:06:49.55ID:a2fwv9ft.NETは起動時にコンパイルだから、JavaのHotSpotみたいなのが真のJITだとするなら実質的にはAOT寄りでしょ
あくまでコンパイルするタイミングの問題でしかないので、ngenや.NET Nativeみたいなのも技術的に難しくない
Cのソースを実行前にコンパイルしてるようなもんだ
0865デフォルトの名無しさん
2017/01/25(水) 21:03:29.96ID:/wdbuGDr所詮は言葉の定義だから争う意味はないんだが、
普通は「直接実行出来ない形式」(=MSIL)で配布され、
それを実行時(=CLR)に機械語に変換して実行するのなら、それはJITと言う。
MonoのAOTは見た目EXビットの対策用で、結果的にnativeが入手出来るが、それはJITより効率が悪い。
例えばJavaScript(V8)の場合は実行時にまず手抜きJITを行い、実行する。
そして何度も実行される部分だけ、最適化JITを行う。
最適化JITを最初から全面的に行わないのは、最適化にも時間がかかるから。
つまり、「JITコンパイル時間+実行時間」が最小になるように最適化している。
もちろん最適化JIT済みのnativeを吐くのも簡単なはずだが、必要ないから見たことはない。
Javaは知らんがHotJavaも同じようなコンセプトだったので、多分同じ。
結局、MonoのAOTは「常に最適化JIT」を全面的に行う分だけ効率が悪い。
ただしAOT済みのexeを配布/使用する場合はJIT時間分だけ効率がよくなる。
MonoはLinux等もターゲットにしているのでAOTが必要だが、
動的コードを実行出来る環境(windows)では必要なかった。
ここで.NET Nativeが出てきたところをも見ると、MSもJIT時間が気になっていたということではある。
.NET NativeならAOTと言っていい。
ただの.NET(MSIL)なら、やっぱりJITだよ。それは実行時(ダブルクリック以降)にコンパイルしている。
最初から全面最適化JITするという、頭の悪いJITを積んでいるだけでしかない。
ではC#は?というのはこの意味では質問が悪いが、
今のC#はMSILが主流だと思うが、
所詮大半はwindows/x86(x64)でしかないのでexeでも問題ないし、今後は変わるのかもね。
ちなみに.NET Nativeにしたら、難読化はかなり進むのかな?
0866デフォルトの名無しさん
2017/01/26(木) 02:07:47.45ID:NrOKhjjD技術が進歩したり、複合技を使うようになったから言及することにあんまり意味はないんだけどね
MSILで配布してインストーラでngenをかけるソフトとか、AndroidのArtの事前コンパイルを見ればAOTというのも間違いではない
0867デフォルトの名無しさん
2017/01/26(木) 07:09:13.07ID:hf6GrTPo0868デフォルトの名無しさん
2017/01/26(木) 09:22:35.13ID:+HXQGO570869デフォルトの名無しさん
2017/01/26(木) 09:47:45.25ID:e+Zq8z+DVisual Studio
0870デフォルトの名無しさん
2017/01/26(木) 10:33:30.90ID:MZPXqvXgdevenv.exe
cl.exe
ml.exe
nmake.exe
link.exe
こういうの全部ネイティブなんだが、C#で作ってネイティブ化してるのか?w
0871デフォルトの名無しさん
2017/01/26(木) 11:30:14.20ID:Bx3m0kqD例えばdevenv.exeとかファイルサイズが1MBすら無いけどそれだけでVS動いてんの?
0872デフォルトの名無しさん
2017/01/26(木) 12:08:47.81ID:sD2fcvWW何馬鹿なこと言ってるんだ?
今俺が起動してるVSだとntdll.dlljから数えて426モジュールロードされてるが、その中にはC#で作られてるのもあるよ
VSはVSで作られてるかもしれんが、VSはC#で作られてるとは言わないだろ
0873デフォルトの名無しさん
2017/01/26(木) 12:13:43.88ID:ecr0NxNG0874デフォルトの名無しさん
2017/01/26(木) 12:23:03.13ID:A9+CgNOi0875デフォルトの名無しさん
2017/01/26(木) 14:11:50.02ID:+5gKaLQm>その中にはC#で作られてるのもあるよ
どのくらいの割合で?
0876デフォルトの名無しさん
2017/01/26(木) 14:51:13.51ID:sD2fcvWWこのスレにいるならVSぐらい入れてるだろ。興味あるなら自分で数えろよ
0877デフォルトの名無しさん
2017/01/26(木) 15:46:52.91ID:NrOKhjjD0878デフォルトの名無しさん
2017/01/26(木) 15:54:26.65ID:mfu+uciH0879デフォルトの名無しさん
2017/01/26(木) 16:25:36.23ID:eYmqMcR30880デフォルトの名無しさん
2017/01/26(木) 17:41:07.76ID:Ofw1Wwb+0881デフォルトの名無しさん
2017/01/26(木) 18:25:52.64ID:BIlB42USとエラー一覧に出るようになって
<prism:PrismUnityApplication
に波線が付くようになったんだけどどうすれば直りますか?
プログラムは何の問題もなく動きます。
0882デフォルトの名無しさん
2017/01/26(木) 18:38:59.08ID:RbsnIhge逆でしょ
偶にVS2010使うと糞重くてイライラするぐらいなのに
0883デフォルトの名無しさん
2017/01/26(木) 20:12:45.99ID:FrBndq/i今MVCでEntityFrameworkの勉強中なんですけど、DisplayNameの属性で日本語指定すると文字化けするんですが何が原因と思われるでしょうか
0884デフォルトの名無しさん
2017/01/26(木) 20:39:43.56ID:kmw2XayLえーっと俺も経験あるような気がするんだが思い出せない。
どうにかしたら直ったと思う。
0885デフォルトの名無しさん
2017/01/26(木) 20:50:44.48ID:Ofw1Wwb+気にしない
xamlのコンパイラ統合は未だみたいだね
0886デフォルトの名無しさん
2017/01/26(木) 21:45:58.05ID:3P/eAUHhありがとうございます
そうですか。このあいだまでは確か普通に出来てたんですよね。。
プロジェクト変えたりweb.configでencoding書いてみてもダメでどうしたものかと
0887デフォルトの名無しさん
2017/01/26(木) 21:47:05.34ID:He8RO7U3何で君がAOTということにしたいのかよく分からんが、
俺は誤解の少ない言葉を使えと言っているだけ。
主流派がMSILならJITと言うべき。
主流派が君の言うようにnativeならAOTと言うべき。それだけ。
君がAOTだと言い張るのは自由だが、周りから見たら面倒な奴でしかない。
ただAOTは時間予算が潤沢であるところが本質的に異なる。
> しかし,AOT方式をいざ導入してみると,サイズの大きなアプリのインストールや,
> 一度に複数のアプリをアップデートするような場合にコンパイルに時間がかかり,
> 場合によっては20分程度かかるケースが存在していたようです。
> このインストール時間を問題と捉えて,
> Android NのARTでは,JIT方式をもう一度使うことになりました。
> これまでのAOT方式を止めてしまったというワケではなく,実行のタイミングが変わり,
> 端末がアイドル中かつ充電されている場合のみに変更されることになりました。
> http://gihyo.jp/lifestyle/clip/01/awt/201603/24
だから単純に持ってきた場合にはこういう事が起きる。
ちなみにngenも同様の仕組みは持っている。
> https://msdn.microsoft.com/ja-jp/library/6t9t5wcf(v=vs.110).aspx
最近思うのは○○言語スゲーという信者が多いこと。
C#はそういう馬鹿は比較的少ない感じだが、君がそうなら、それは止めた方がいい。
C#は開発速度を最適化した言語で、結果的に実行効率はC/C++より悪いし、よくなることはない。
これを踏まえた上で、そのアプリにとって最適な言語を選択すればいいだけのこと。
0888デフォルトの名無しさん
2017/01/26(木) 21:48:44.28ID:6c1mJ3TJデバッガのホストのように、目的の性質上ネイティブでなければならない一部のものを除けばほぼ全て
VS2010のときに全面的にC#で作り直したらしいよ
VSはC#で書かれたマネージドアプリだと公言してるし
0889デフォルトの名無しさん
2017/01/26(木) 21:57:18.89ID:6c1mJ3TJ誤解の少ない言葉を使えと言いながら実行速度の話とJITをごっちゃにして不要な混乱を招くのはいかがなものか
原理的にはJITの方が実行時のプロファイルをヒントとして最適化ができる分だけ有利だ
あとは起動時間や実行時にコードを差し替えるコストとのトレードオフだが、
サーバーならそこは全く問題にならないので実際JavaのHotSpotなんか(あくまでサーバー用としてはだが)すごく高性能だよ
重い処理やらせると段階的に最適化されて速くなっていくのが目に見えて、最終的には素直に書いたC++を超えるケースもある
0890デフォルトの名無しさん
2017/01/26(木) 22:14:43.93ID:kmw2XayLファイルのエンコードデングが関係してないか?
0891デフォルトの名無しさん
2017/01/26(木) 22:15:11.50ID:BIlB42USBlendで試したらエラーもなく、デザイナーも表示されたのでこれでしのぐことにします。
0892デフォルトの名無しさん
2017/01/26(木) 22:19:59.87ID:vDjllkLc可也期待薄だが、俺の環境のxamlのトラブルは
https://social.msdn.microsoft.com/Forums/vstudio/ja-JP/f7541527-df77-4bd7-8458-f90565bf34b4/visual-studio-2015-?forum=wpfja
の一番最後の方の解決法で何とかなった
こっちはblend関係だから望み薄だが、やっても害が出るものじゃないしよろしければどうぞ
0893デフォルトの名無しさん
2017/01/26(木) 22:28:27.88ID:uLxLwJKu> VSはC#で書かれたマネージドアプリだと公言してるし
ソースある?
0894デフォルトの名無しさん
2017/01/26(木) 22:34:12.57ID:He8RO7U3つか、全体として何が言いたいのか分からない。
C#についてなら、俺は主流はMSILだと思っているから、JITと言う方が適切だと言っている。
俺の認識が間違いで、主流は既にnativeであれば、AOTという方が適切だ。
君がそう思っているのならそれでいい。
C#の方がC/C++よりも高速であれば、高速アプリは全てC#で開発されることになる。
実際は、高速アプリは全てC/C++で組まれてるだろ。これが現実。
速度差は仕様差から来ているから、今後ともこれは埋まらない。
> 最終的には素直に書いたC++を超えるケースもある
JA馬鹿も同じ事を言うのだが、探して見つけて喜んでいる時点でゴミ。
アプリの性質を考えて、適切な言語を選択すればいいだけ。
ただ現実的にGUIも含めて全部C/C++で組むのもだるいので、
NumPyが流行るのも分かるし、実際あのアプローチがいいと思うが。
いずれにしても、C#信者ならそれは止めておけ。
それぞれ得手不得手はある。それは当たり前の話。
万能言語があったらこんなに乱立しない。
0895デフォルトの名無しさん
2017/01/26(木) 22:54:19.21ID:7sPtmcfc0896デフォルトの名無しさん
2017/01/26(木) 22:57:35.93ID:SLW9Wholでも普通のアプリならそこまで問題にならない程度の差
0897デフォルトの名無しさん
2017/01/26(木) 23:03:14.05ID:C8HlRM2h0898デフォルトの名無しさん
2017/01/26(木) 23:03:30.86ID:GQnwZs38ありがとうございます
確認してみます!
0899デフォルトの名無しさん
2017/01/26(木) 23:30:49.26ID:NrOKhjjD自分で争う意味はないって言ったのになんでそんなに定義にこだわるんだ?
俺を含めて、一般的にはJITと呼ぶ(個々を見るとAOT的な側面や使い方もあるね)って言ってるだけだぞ
0900デフォルトの名無しさん
2017/01/26(木) 23:50:28.00ID:NrOKhjjDあと、>>889はJavaやC#がC++よりはやいとか優れてるなんていってないじゃん
Javaも悪くはない言語選択だよっていってるのに
お前は何か、みんなが前提として理解してることを延々と説明してる感じ
0901デフォルトの名無しさん
2017/01/27(金) 00:00:30.43ID:sOrVpnzkAmazonがC++でやっててクソ遅かった大規模データ処理が
Java+Hadoopに乗り換えることで大幅に改善されたという例もある
今時言語の速度なんてあくまで要素の一つに過ぎないんだよ
0902デフォルトの名無しさん
2017/01/27(金) 00:06:54.41ID:FPm896mMこういう馬鹿のデスマーチの尻拭いを何度したことか。氏ね。
0903デフォルトの名無しさん
2017/01/27(金) 00:07:53.10ID:fDORPAeX今のこれは実にくだらないねw
0904デフォルトの名無しさん
2017/01/27(金) 00:11:06.35ID:a4ei9zsfあまりにも見識が狭すぎる
0905デフォルトの名無しさん
2017/01/27(金) 00:24:44.98ID:QXZBJ6J+0906デフォルトの名無しさん
2017/01/27(金) 00:29:28.64ID:CH0FWDPdおいおいすりかえんなよ。
俺はC#はJITと言う方が近いと言っている。
君はC#はAOTだと言い張っている。
俺は君が「C#はAOTだ」と言い張る理由が分からない。
C#に問題があるとしたらまずは速度だ。AOTと言い張る理由にもなる。
だからそれに言及しただけ。
では何故AOTだと言い張るのか理由をを言ってみてくれ。
俺はCUDAも使ったことあるよ。
ただそれをここで言う意味もないだろ。
0907デフォルトの名無しさん
2017/01/27(金) 00:30:54.80ID:iNBXS39I0908デフォルトの名無しさん
2017/01/27(金) 00:31:00.69ID:g7nuPYvQ.NET Native知らないの?
0909デフォルトの名無しさん
2017/01/27(金) 00:54:42.49ID:9J0c8boi0910デフォルトの名無しさん
2017/01/27(金) 01:49:06.49ID:z/+I8zAR「JITのほうが近い、ただしAOT的な側面もある」をどうやったら「C#はAOTだ」に変換できるんだ?
多分、お前は「AOT=配布時に機械語、JITとは真逆の概念」みたいな定義にこだわりがあるから話が合わない
みんなは「AOT的=実行する瞬間以外の機械語へのコンパイル」程度の認識だから、ネイティブキャッシュとかArtの事前コンパイルもAOT的と捉えてるだけだ
ただ、.NET Nativeはまだしも、iOS向けUnityとXamarinがそれなりに使われてるので「C#はJIT」は誤解を招く気もするけどね
0911デフォルトの名無しさん
2017/01/27(金) 02:14:06.13ID:fDORPAeX言語としてのC#と、そのWindows版.NET Framework用の実装は
一応理念的には別門だって前提で議論しないとまずいんじゃないのそもそもw
0912デフォルトの名無しさん
2017/01/27(金) 02:19:16.89ID:fDORPAeXっていううたい文句は最初の.NET1.0のころからあるけど、
これ今はちゃんと実現されてるんだっけ?
0913デフォルトの名無しさん
2017/01/27(金) 03:21:05.61ID:z/+I8zARSSE命令関連とかは結構頑張ってるみたいだね
一応.NET NativeでAOTするのと比べて優位を保てる程度には最適化してるらしい
http://blogs.microsoft.co.il/sasha/2014/04/28/net-native-performance-internals/
ちょっと古いから今はどちらも改善されてるかもしれんが
0914デフォルトの名無しさん
2017/01/27(金) 23:51:25.19ID:CH0FWDPd俺が問題にしているのは>>861の
> ほぼAOTな方式
についてだぞ。全然そんなこと無いだろ、という話をしている。
ただまあ、お前らが過剰に反応するのはお前ら自身も理解出来ているからだと思うが、
誤解のない表現で言い切ってしまうと以下だ。
・C#は遅い
・C#は20年後には無くなる言語
速度面については、native化や最適化でいいところまでは行くだろうが、
仕様上、保護無し、ランタイム無しで突っ走るC/C++には勝てない。
JITガーって言う意見もあるだろうが、CでもJITしてはいけないわけではなくて、
Cでも関数ポインタが不変なら関数の中身を差し替えたところで問題はない。
だからスカスカに配置しておいて差し替えることも可能ではある。(誰もやってないが)
そもそもDLLだけアップグレードすることは今でも問題ないわけだし。
速度面でC/C++に勝つ芽は今後ともない。
.NETのコンセプト、全ての言語/環境で同じフレームワーク、というのは素晴らしかった。
ただそれも過去形だ。
色々あった言語(VB/J++/VC++)も結局C#に統合されつつあるし、あとはせいぜいF#位か。
.NET compactは結果的にマーケットを取れずに失敗した。
全ての言語/環境での共通フレームワークはHTML/ブラウザでほぼ確定した。
今C#がまだ生きているのはJavaがあの体たらくだからだ。
とはいえ、見て分かるとおり結果的にC#とJavaはモロ被りだ。
そして一応Javaも動きだした。(Java8)
JavaとC#のシェアでは喧嘩にならないし、Javaで済む場合にC#を選ぶ理由がない。
今現在はJavaは相変わらず糞だが、今後機能追加されてC#との差が無くなると死ぬのはC#。
C#信者はこれをちゃんと認識しておいた方がいい。
C#は差別化出来ていない。
0915デフォルトの名無しさん
2017/01/28(土) 00:01:46.77ID:lJFdXfrP0916デフォルトの名無しさん
2017/01/28(土) 00:15:29.48ID:vlmW/cIj0917デフォルトの名無しさん
2017/01/28(土) 00:16:54.48ID:rD7WeMm90918デフォルトの名無しさん
2017/01/28(土) 00:24:24.84ID:lGyRVc7d10年前の過去スレかと思ったわ。
0919デフォルトの名無しさん
2017/01/28(土) 00:29:22.98ID:GpK52peCGoogleも.NET Foundationに加入したことだし、脱JAVA考えてたりして。
0920デフォルトの名無しさん
2017/01/28(土) 00:33:11.09ID:B8Cbj4aWだなww
0921デフォルトの名無しさん
2017/01/28(土) 00:50:41.15ID:cRpkhDFFJVMの世界にどっぷり浸かってしまえば楽なんだが、
PHPやらRailsやら他にもいろいろ使ってるとJavaだけデプロイが異色すぎる
その点 .NET Core は今時のWebらしいデプロイ方法を実現してるので非常に馴染みやすい
Javaの置き換えというより、スクリプト+αとしてのGoに代わる選択肢の一つとして普及する可能性は高いんじゃないかな
0922デフォルトの名無しさん
2017/01/28(土) 01:05:26.39ID:iWacJ3fP0923デフォルトの名無しさん
2017/01/28(土) 03:02:12.31ID:VlCpYCgGそれ俺じゃないし、そのレスもAOTの定義次第でしょ
君が言葉の定義にこだわりがあるのはわかったからそんなにAOTに過剰反応するな
言語の20年後は予想するだけ無駄
C/C++もgoやrustに置き換えられてるかもしれないし、Javaの代わりにKotlinがJVMの中心になってるかもしれない
ハードと通信の向上で富豪プログラミングができるといいけど、ナノマシンとかの制御のために今より貧相なハードウェア要件だったりするかもね
0924デフォルトの名無しさん
2017/01/28(土) 06:50:26.81ID:7LkpJPRm0925デフォルトの名無しさん
2017/01/28(土) 07:29:56.62ID:bLDCN2m1妄想だろ w
本人楽しそうだしいいんじゃね?
0926デフォルトの名無しさん
2017/01/28(土) 09:05:59.37ID:O0GHMxPw0927デフォルトの名無しさん
2017/01/28(土) 09:35:59.59ID:O0GHMxPw0928デフォルトの名無しさん
2017/01/28(土) 09:48:31.29ID:vlmW/cIjWindows7に標準装備されてるcsc.exeは役立ったよ
入力支援のないメモ帳でコーディングするのはちょっと面倒だったけど
小物アプリ作ったり、暇つぶしに十分だった
0929デフォルトの名無しさん
2017/01/28(土) 11:45:36.61ID:QNTErMWx確かに10年前もほぼ同じ状況だったろうね。
ただJavaはそこから全く進歩しなかった。それで延命してる。
>>919
MSは何だかんだで技術力は相当あるし、OracleではJavaを発展させられないのも事実だ。
とはいえ、周回遅れでよければ他言語のいいところを採り入れればいいだけ。
これならOracleにも出来る。
今のC#が生き残るとしたらJavaを食らうことだが、
現代のCOBOL化しつつあるJavaはもう食いきれない。
(Javaは向こう30年の需要はあるし、その後他言語に移行するメリットもない)
周回遅れであってもJavaが追いついてくる限りC#は死ぬ運命だ。
(ただし逆に、周回遅れであるうちは死にきらないとも言えるが.。)
>>921
Javaが殿様商売でブラウザから外されてあたふたしていたのは事実だ。
Web系の連中はその辺も含めてJavaは嫌いかもしれないね。
とはいえC#がサーバサイド言語として君臨するとも思えない。
C#にはサーバ用途のサポートがなく、移行される理由がない。
C#の特徴はLINQだけど、それがどこの分野にフィットするかだね。
0930デフォルトの名無しさん
2017/01/28(土) 11:46:16.89ID:QNTErMWx分からないことは考えない、さすがのゆとりだな。
確実に言えるのは、今のままのC#だと生き残る芽がないこと。
もちろんMSも分かっているだろうから、色々試してはいるのだろうけど。
C#はPascalと同じでベンダーが一つだ。よってMSが辞めますといったらいきなり終わる。
C/C++はその点各社各様なので誰も終わりの号令を出せない。
機能的にもあの範囲では完成しているし、今後共、流行はしないが使われ続けるだろう。
ただし開発効率がいいとは誰も思ってないだろうし、その点色々努力は為されるはずだ。
JVM言語群はJavaの発展には寄与するだろう。
ただそれらもJavaが追いついてくれば死ぬ運命にある。もっともこれは幸せな死だが。
で、C#もランタイムが違うだけでほぼJVM言語群と立ち位置が同じだろ、という話。
お前らが「C#は永久に不滅です!」なんて思ってるのなら完全に勘違いだぞ、というだけ。
ただそこまで信者化する理由もよく分からんのだがな。
C#が死ぬ頃にはC#とJavaの差異も今より無くなっているはずで、移行は容易だ。
逆に差異がある状態ならC#が死ぬこともない。
0931デフォルトの名無しさん
2017/01/28(土) 11:51:01.14ID:sBhxwabY0932デフォルトの名無しさん
2017/01/28(土) 12:03:08.93ID:PWlkAQF70933デフォルトの名無しさん
2017/01/28(土) 12:09:23.15ID:7tAJxods好きなの使えばいいじゃん
0934デフォルトの名無しさん
2017/01/28(土) 12:09:39.25ID:q55sXuC9つ SharpDevelop
0935デフォルトの名無しさん
2017/01/28(土) 12:13:41.44ID:7tAJxods俺は使いたいから使ってるだけ
コンピューターサイエンスジャンルとかじゃもうpythonに追いつけない
入門者もc#よりpy選んでるらしいし
時代遅れのc++使ってる人も流行ってるからとか他が使えないって理由じゃないでしょ
使いたいから使うでいいよ
0936デフォルトの名無しさん
2017/01/28(土) 12:29:18.26ID:op86qfG/あんたがNGにしやすくするためだけに
2ちゃんねるの特徴を捨て去って全員強制コテつけろというのはひどいエゴだと思う
0937デフォルトの名無しさん
2017/01/28(土) 12:36:35.24ID:kK1HMpWmC#にサーバー用途のサポートがないって、一体こいつはなんのことを言ってるんだ
まさかどっか別のパラレルワールドの住人なのか、それともC#と言う名の別のマイナーな別言語の話をしていたのか
0938デフォルトの名無しさん
2017/01/28(土) 12:38:31.29ID:GpK52peC強制コテも一週間で変わるんだし、IP表示が無ければ反対する真っ当な理由が思いつかない
0939デフォルトの名無しさん
2017/01/28(土) 12:41:01.92ID:XpAKmUmzみんなエゴ丸出し自己中でいくのが2ちゃんねるの特徴よ
0940デフォルトの名無しさん
2017/01/28(土) 12:41:42.84ID:rD7WeMm9比較なら他所のスレでやってくれ
C++ Builder vs C# どっちがいいか教えて
http://echo.2ch.net/test/read.cgi/tech/1459000291/
0941デフォルトの名無しさん
2017/01/28(土) 12:42:51.15ID:s1e/PAHlそれぞれ好きなスレ立てて使えばいいんだよ
どの板でもワッチョイ有り無しでスレが分かれているのをよく見るし
逆にその手の議論で荒れだすとどこでもひどい有様になる
0942デフォルトの名無しさん
2017/01/28(土) 12:50:41.06ID:op86qfG/一週間で変わるというのは違うよ
3、4文字目は仕様上永久固定だし、表面上変わる1、2、5〜8文字目も簡単に逆引きできるから実質永久固定だよ
0943デフォルトの名無しさん
2017/01/28(土) 12:58:20.48ID:ivgBCMum0944デフォルトの名無しさん
2017/01/28(土) 13:00:33.35ID:k4gxsyFf0945デフォルトの名無しさん
2017/01/28(土) 13:01:40.71ID:mpmWyhNT0946デフォルトの名無しさん
2017/01/28(土) 13:16:35.58ID:1Ptz3K6uなぜ2ちゃんをコテハン化する必要があんの?
0947デフォルトの名無しさん
2017/01/28(土) 13:29:21.18ID:yHdW8px10948デフォルトの名無しさん
2017/01/28(土) 13:33:06.15ID:WlIlAAzsよう荒らし
元気か?死ね
0949デフォルトの名無しさん
2017/01/28(土) 13:40:45.05ID:op86qfG/0950デフォルトの名無しさん
2017/01/28(土) 13:45:46.68ID:Bb/tAbed煽りにのって相手を始める低脳が多過ぎる
本当に目障りでNGが面倒臭くてワッチョイもやむを得ないと考えてしまうのはこっちが原因
0951デフォルトの名無しさん
2017/01/28(土) 13:47:14.75ID:5yCHiIBr誰がどう見ても荒らしだと思うが
0952デフォルトの名無しさん
2017/01/28(土) 13:47:33.37ID:6ehsSW1c0953デフォルトの名無しさん
2017/01/28(土) 13:48:54.50ID:ktdFkm2m0954デフォルトの名無しさん
2017/01/28(土) 13:50:24.20ID:WlIlAAzs0955デフォルトの名無しさん
2017/01/28(土) 13:53:53.44ID:ya7J4hzr0956デフォルトの名無しさん
2017/01/28(土) 13:55:50.40ID:JTtKbdRrだって言ってることが同じだものw ○○は遅くない!! ○○で十分!!!
0957デフォルトの名無しさん
2017/01/28(土) 13:58:32.18ID:yHdW8px1それは酷すぎ。荒しと変わらんぞ。
0958デフォルトの名無しさん
2017/01/28(土) 13:59:47.36ID:vlyo6wmu強制はできないけど…。
0959デフォルトの名無しさん
2017/01/28(土) 14:06:49.21ID:ya7J4hzr0960デフォルトの名無しさん
2017/01/28(土) 14:07:29.61ID:y9Lbrz1V無能と自白しているようなもんだろ
0961デフォルトの名無しさん
2017/01/28(土) 14:11:07.34ID:XpAKmUmz0962デフォルトの名無しさん
2017/01/28(土) 14:44:57.36ID:k4gxsyFf節約しないと
0963デフォルトの名無しさん
2017/01/28(土) 14:48:10.28ID:s1e/PAHlこのまま埋めてくれればいいよw
>>961
採用っていうか使われなくなった方が消えたり過疎るだけ
0964デフォルトの名無しさん
2017/01/28(土) 14:53:25.19ID:GmC+ruptギャーギャー騒ぎだす連中の大半は本当はギャーギャー言いたいだけの寂しい奴ではある。
要するに、本当はスレッドの趣旨にそったレスが淡々と続く状況なんか内心望んでない奴、
もっと言えばまともなレスをする能力がない奴に限って文句言ってるのね。
本当はウンコが大好物なウンコ蠅がウンコの周りを周回しながらウンコが臭いって文句言ってる図式だねw
「スレッドの平和」を本当に望んでいる人(俺もその一人)は、逆説的だけど
神経質にスレ違いの話題を咎める連中に与しない方がいいと思うよ。
それは上記の「ウンコ以上にうっとうしいウンコ蠅」をのさばらせることにしかならないからね。
まあそうは言ってもあんまりスレ違いの議論が延々続くのもうっとうしいのも確かだから、
このスレに限らずスレ違いの議論が続いた時に誘導する「何でも議論スレ」みたいのが
あったらいいのかもしれないとも思う。
0965デフォルトの名無しさん
2017/01/28(土) 15:11:26.13ID:VlCpYCgGC#は永久に不滅とか信者とか、存在しない敵を叩くなよ
他の言語でも同等の処理があるLINQを特徴というのは、理解してないからか?
C#もJavaも互換性最優先なので、いつか時代遅れの限界が来て、保守以外では使わない言語になる気もする
死ぬならVB6みたいな長期サポートで亡霊にならないといいんだけど
0966デフォルトの名無しさん
2017/01/28(土) 15:16:41.71ID:VlCpYCgGLLVM化は結構需要ある気がするんだが
0967デフォルトの名無しさん
2017/01/28(土) 16:06:14.69ID:VlGJ2K6H投票による自治機能があるanontownに来ないか?
登録制だけどメアド不要だから簡単
https://anontown.com/
0968デフォルトの名無しさん
2017/01/28(土) 16:20:45.03ID:BREm5bG1いつかはそうなるだろうけど、今のところはその兆候はないな
0969デフォルトの名無しさん
2017/01/28(土) 16:41:32.14ID:ktdFkm2m2ちゃんにおいて三行以上の長文はマナー違反だぞ
0970デフォルトの名無しさん
2017/01/28(土) 16:44:14.69ID:op86qfG/0971デフォルトの名無しさん
2017/01/28(土) 16:48:51.77ID:op86qfG/C#, C♯, C#相談室 Part92
http://echo.2ch.net/test/read.cgi/tech/1485589613/
0972デフォルトの名無しさん
2017/01/28(土) 17:45:23.05ID:JQ2q8v+C数年前、高速なNVRAM的な物が安価で作れるようになって
コンピュータの構成が大きく変わるなんて話が一部で盛り上がってたけど、
その手のパラダイムシフトが起こらない限り、プログラミング言語の世界でも
そんなガラガラポンは起こらないだろう
0973デフォルトの名無しさん
2017/01/28(土) 19:05:48.32ID:oY/klkah0974デフォルトの名無しさん
2017/01/28(土) 20:01:47.30ID:XnHJw37Pオラもそう思う
0975デフォルトの名無しさん
2017/01/28(土) 20:12:25.54ID:09upZDzm0976デフォルトの名無しさん
2017/01/28(土) 21:15:25.00ID:yCMaAzsYクライアントでもWPFが実用的になってくるんじゃないかな
0977デフォルトの名無しさん
2017/01/28(土) 21:23:25.46ID:buSCJS7G0978803
2017/01/29(日) 12:03:54.50ID:6CKnMYhm>>819
>>831
64bitでコンパイルする
2GB内に配列を分割する
などいろいろやりましたがメモリオーバーになってしまいどうしても実行できませんでした
結局、元のファイルを分割し、最後に結合する方式にしてやっと通りました
使用メモリ見ると10GB位食ってましたが一応全部実行できています
ご協力ありがとうございます
0979デフォルトの名無しさん
2017/01/29(日) 12:28:52.14ID:NqGwYzj0配列に入れて何がしたいのか最後まで聞けなかったけど、FileStreamで読み書きじゃ駄目だったの?
0980デフォルトの名無しさん
2017/01/29(日) 12:34:03.49ID:Be2uFNKCそんなもん全部メモリに読んだところで
どうせシーケンシャルに処理する以外にやれることがあるとは思えない
0981803
2017/01/29(日) 13:07:42.19ID:6CKnMYhmBinaryWriterで挿入操作ができれば使っていたのですが
以下を見るとできないようなので使いませんでした
http://dobon.net/vb/bbs/log3-46/27592.html
0982デフォルトの名無しさん
2017/01/29(日) 13:12:51.28ID:WfZCQfEI→元のファイルを削除する
→作成した一時ファイルの名前を元のファイルの名前に書き換える
でできると思うけど自分の好きな方法でうまくいったのならいいんじゃね
0983803
2017/01/29(日) 13:29:04.76ID:6CKnMYhm>一時ファイルに元のファイルの内容と挿入データを書き込む
確かにこのやり方がスマートでした
元のコード流用しようとしたので今のやり方になってしまいました
あらかじめわかっていたら・・・
0984デフォルトの名無しさん
2017/01/29(日) 17:25:54.20ID:UOF0Asn00985810
2017/01/29(日) 22:35:39.11ID:F8/CipCUクラスのインスタンスの複数のプロパティの値を比較して等価かどうか判定しているのですが
データをリストに追加する際、2種類の等価比較法(IEqualityComparer)を用いています
つまり追加対象のデータのうち、
まず弱い比較(少なめのプロパティだけが一致するか比較)で
既存のリストにないデータの「候補」をざっくりピックアップして、
候補たちに少々時間のかかる処理をかけてから(一部プロパティが書き換えられる)、
次に強い比較(多めのプロパティを比較)で候補の中から真に「新しい」ものをリストに追加しています
PosgresやLocalDBといったデータベースでは、こういうことって簡単にできるんでしょうか
ネット検索してみたところ複数のプロパティを比較すること自体は
UNIQUE制約(?)というので出来そうに思ったんですが、
現在やっているような2段構えの比較法は実現可能なんでしょうか?
0986デフォルトの名無しさん
2017/01/29(日) 22:51:26.56ID:M0HgmB1M比較に必要な全てのカラムセットにuniqueインデックス張りなさい
0987デフォルトの名無しさん
2017/01/29(日) 22:55:35.08ID:F8/CipCUそれだと誤判定になりませんか?
追加前のデータと実際に追加するデータでは
一部プロパティ(弱比較ではチェックしないが、強比較ではチェックするプロパティ)の値が異なっているのですが…
0988デフォルトの名無しさん
2017/01/29(日) 23:02:20.70ID:faIlAfcC強比較の値がDB上に固定できるなら、最初から強比較でやっても十分な速度が出ます
取り出してから変化する性質なら、弱比較でDBから取り出し値を生成してからメモリー上で強比較で良いんじゃないの?
0989デフォルトの名無しさん
2017/01/29(日) 23:27:53.21ID:F8/CipCUすいません、「DBから取り出す」という表現が何を指しているのかよくわかりません…
いま思案しているのはデータの集計作業時ではなく登録作業時の話です
各データについて、一部のプロパティの値を確定させるには処理時間がかなり必要になっています
追加登録したいデータたちについて、このプロパティ値をあらかじめすべて確定するのは非常に時間がかかるので
まず弱比較でざっくりと追加可能な候補(プロパティ値を確定しなければならないデータたち)を絞っているのです
今はこんな風にしてます(実際のコードでは日本語変数じゃないです)
候補データリスト = 追加したいデータのリスト.Except(全リスト, new MyClass_WeakComparator()).ToList();
↓
候補データリスト について全プロパティ確定作業; //←重い
↓
全リスト = 全リスト.Union(候補データリスト).ToList();
0990デフォルトの名無しさん
2017/01/29(日) 23:33:19.34ID:F8/CipCUUnion()のところで既定の等値比較子として強比較が使われています
0991デフォルトの名無しさん
2017/01/29(日) 23:37:15.13ID:M0HgmB1Minsert into 処理対象テーブル
select 追加後の値を得る計算式
from 処理対象テーブル
where 追加対象を得る条件式
これでいいんじゃないの?
弱比較とかよくわからん言葉遣いはやめた方がいい混乱するから
0992デフォルトの名無しさん
2017/01/29(日) 23:50:32.58ID:M0HgmB1Minsert into 全リスト
select 任意の計算式
from 追加データ
where not exists (
select *
from 全リスト
where 簡易な比較条件式)
and 完全な比較条件式
インデックスは簡易な比較に使うカラムだけでいいよ
0993デフォルトの名無しさん
2017/01/30(月) 00:02:56.22ID:kb+lR8OLやはり、条件式を2種類地道に書くしかないんですか…長くてハゲそう
>インデックスは簡易な比較に使うカラムだけでいいよ
アドバイスありがとうございます
0994デフォルトの名無しさん
2017/01/30(月) 00:07:16.67ID:YrqXkGEWそれだと「弱比較」で一致してしまった物は全部捨ててしまっているがいいのか?
>>985の書き方だと、「弱比較」で一致しても「強比較」で一致しない物があり、
それは書き込むと読める。
まあこの辺はそちらがやればいい話だが。
0995デフォルトの名無しさん
2017/01/30(月) 00:14:31.63ID:GO+RhKVNそのためのDBMSでしょ!!!
0996デフォルトの名無しさん
2017/01/30(月) 00:23:01.74ID:RAZ09caE1次候補抽出クエリ → ローカルで1次候補のプロパティ書き換え → 最終候補抽出&インサートのクエリ
の3段構えにしてもいいんじゃないかと思うけど
0997デフォルトの名無しさん
2017/01/30(月) 00:33:18.83ID:kb+lR8OL>「弱比較」で一致してしまった物は全部捨ててしまっているがいいのか?
詳しくは書けませんが、やりたい動作としてはその動作でOKです
985の説明はちょっと正確ではありませんでした
>>995
大規模なデータベースを触ろうとするのは初めてだったので…すいません
>>996
どっちみち長い比較条件を書かないといけないのは避けられそうにないので
その方法でもよさそうですね
0998デフォルトの名無しさん
2017/01/30(月) 01:03:13.10ID:9w4b/GJpSQLが数千行もあって当たり前なの?異常じゃないの?SQLだよ?
0999デフォルトの名無しさん
2017/01/30(月) 02:19:40.86ID:ty17mMxy腕が良ければ数千行の複雑な処理を書くことによって物凄く高速化できることがある
Oracleは混在できないため複雑な処理を書くには手間がかかり、プログラマーがあまり工夫しなくなり、
そのため腕が上がらず、結果としてSQL Serverより遅いシステムが多いらしい
現在のSQL ServerにはOracleと同じスナップショット分離(古い人は「行ロック」って言う)があるが、
2000の頃はなかった(今でもデフォルトでオフになってる)ため、高速な更新処理が必要だったことも腕に関係すると思われる
(スナップショット分離があれば、ダラダラ更新しても他ユーザーの閲覧に迷惑かけない)
1000デフォルトの名無しさん
2017/01/30(月) 02:31:32.87ID:RISpHKLnC#, C♯, C#相談室 Part92 [無断転載禁止]©2ch.net
http://echo.2ch.net/test/read.cgi/tech/1485589613/
10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
life time: 214日 2時間 46分 18秒
10021002
Over 1000Thread運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 2ちゃんねる専用ブラウザからの広告除去
★ 2ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
http://premium.2ch.net/
▼ 浪人ログインはこちら ▼
https://login.2ch.net/login.php
レス数が1000を超えています。これ以上書き込みはできません。