[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 02/01 19:54 / Filesize : 272 KB / Number-of Response : 1014
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

C#, C♯, C#相談室 Part91



1 名前:デフォルトの名無しさん mailto:sage [2016/06/29(水) 23:45:15.36 ID:EZjVZgG6.net]
■Visual Studio 2013 Community & Express(無償の統合開発環境)等はこちら
www.visualstudio.com/downloads/

■コードを貼る場合はこちら
ideone.com/

■前スレ
C#, C♯, C#相談室 Part88 [転載禁止]©2ch.net
peace.2ch.net/test/read.cgi/tech/1437808445/
C#, C♯, C#相談室 Part89
peace.2ch.net/test/read.cgi/tech/1443271409/
C#, C♯, C#相談室 Part90
echo.2ch.net/test/read.cgi/tech/1455160063/

■次スレは>>970が建てる事。
建てられない場合は他を指定する事。

2 名前:デフォルトの名無しさん mailto:sage [2016/06/29(水) 23:45:41.68 ID:EZjVZgG6.net]
誰もたててなかったんでたてました

3 名前:デフォルトの名無しさん mailto:sage [2016/06/29(水) 23:51:01.49 ID:mTvmtbdU.net]
まじかよすげーな

4 名前:デフォルトの名無しさん mailto:sage [2016/06/29(水) 23:54:32.05 ID:IF/e/aAD.net]
>>2
えっ

C#, C♯, C#相談室 Part91 [無断転載禁止]©2ch.net
echo.2ch.net/test/read.cgi/tech/1467142749/

5 名前:デフォルトの名無しさん mailto:sage [2016/07/01(金) 09:02:48.89 ID:2/8SV6DI.net]
>>4
oh

6 名前:デフォルトの名無しさん [2016/08/16(火) 01:59:58.67 ID:jP/bzuFf.net]
スレッド違いかもしれないですが教えてください。

Google Analitics でトラフィックを確認したところ
↓の様にIP+ポート番号でのアクセスがありました。

通常であれば、YahooやGoogleなどの検索エンジンからの流入だけになるハズが
この様なアクセスがあり警戒しています。これは何か攻撃を受けているのでしょうか?

10.

7 名前:160.XXX.XXX:XXXXX []
[ここ壊れてます]

8 名前:デフォルトの名無しさん mailto:sage [2016/08/16(火) 03:13:01.98 ID:ExAjikQC.net]
>>6
法律違反かもしれませんが人を殺しても見逃して下さい
ってか

↓で聞けよ脳タリン

スレ立てるまでもない質問はここで 143匹目 [無断転載禁止]©2ch.net
echo.2ch.net/test/read.cgi/tech/1464139565/

9 名前:デフォルトの名無しさん [2016/11/05(土) 16:22:08.70 ID:9mC8a8qM.net]
このスレをPart92として使うのかな?

10 名前:デフォルトの名無しさん mailto:sage [2016/11/05(土) 16:28:35.13 ID:N0pRKuvW.net]
出来ればふらっとみたいにワッチョイ付きで建てて欲しい所だけど、ここでいいんじゃね



11 名前:デフォルトの名無しさん mailto:sage [2016/11/05(土) 17:20:49.55 ID:4QNuq7Ui.net]
>>994
重症だねこりゃ。

12 名前:デフォルトの名無しさん mailto:sage [2016/11/05(土) 19:53:16.07 ID:bx+ldDt8.net]
ワッチョイなんていらないのでここで十分です

13 名前:デフォルトの名無しさん mailto:sage [2016/11/05(土) 20:36:49.81 ID:BoxZvYjG.net]
次立てるときには付けるのでご安心召されよ

14 名前:デフォルトの名無しさん mailto:sage [2016/11/05(土) 21:25:32.22 ID:yfItjWUA.net]
ちゃんとインクリメントしろや

15 名前:デフォルトの名無しさん mailto:sage [2016/11/06(日) 01:29:59.15 ID:+j3xqinH.net]
ワッチョイが役に立ってるスレなんて見たこと無い

16 名前:デフォルトの名無しさん mailto:sage [2016/11/06(日) 06:47:09.15 ID:yh+qoP1Q.net]
荒らし乙

17 名前:デフォルトの名無しさん mailto:sage [2016/11/06(日) 09:55:19.69 ID:jO0QNoEc.net]
荒らしのNGに役立つよ

18 名前:デフォルトの名無しさん mailto:sage [2016/11/06(日) 10:48:53.12 ID:pU7B9Wvc.net]
日を跨いでくだらない話をだらだら続ける奴は消したいわ
前スレだとdecimalくんとか
LINQとラムダ式に親を殺された君とか

19 名前:デフォルトの名無しさん mailto:sage [2016/11/06(日) 19:36:01.09 ID:ci4MHKnC.net]
Windows Formsの話なんだけど
TextBoxとかButtonといった単項目コントロールはINotifyPropertyChangedとBindingSourceを使って
btnExec.Enabled <-> model.IsValid
txtHoge.ReadOnly <-> model.HogeIsReadOnly
のように柔軟なバインドができる
これと同じようにDataGridViewの各セルのプロパティとそのセルに対応するモデルのプロパティを細かくバインドすることは可能?
具体的には1行に対応するモデルの一部のプロパティがオブジェクトの状態によって変更可不可が変わる
このプロパティの変更可不可をセルの入力可不可に対応付けたい

20 名前:デフォルトの名無しさん [2016/11/07(月) 02:02:19.36 ID:8BVz5aV9.net]
>18
できると思う。なんだったら自分が実験してやって見せてあげよう。
その前に、ちょっと聞きたいことがある。
>TextBoxとかButtonといった単項目コントロールはINotifyPropertyChangedとBindingSourceを使って
>btnExec.Enabled <-> model.IsValid
>txtHoge.ReadOnly <-> model.HogeIsReadOnly

このやり方を具体的に教えてくれ。
これが解れば俺の応用力と理解力をもってすれば君の要求にこたえられると思う。



21 名前:デフォルトの名無しさん [2016/11/07(月) 02:15:23.59 ID:8BVz5aV9.net]
バインディングって要するに単なる対応付けだけのことじゃないかなー。
A=1 を B=1で起こす。Bに代入されましたよ。何が? 1が。 じゃあAに入れます。
これだけのことだから、、、、
相手がGridだろうが何だろうが簡単にできると思う。

この簡単なことをわかりにくくしたのがWPFではなかろうか?
俺にはなぜこんなに複雑にするのか理解できない。W

22 名前:デフォルトの名無しさん mailto:sage [2016/11/07(月) 09:30:16.42 ID:FitVxgu/.net]
今はWindowsFormとWPFってどっちが主流なの?

23 名前:デフォルトの名無しさん mailto:sage [2016/11/07(月) 09:43:19.29 ID:1ZmAoJ5f.net]
WPF

24 名前:デフォルトの名無しさん mailto:sage [2016/11/07(月) 09:57:52.03 ID:euWTmbm8.net]
wpfの方が騒がれてるけど結局formじゃないか?

25 名前:デフォルトの名無しさん mailto:sage [2016/11/07(月) 12:17:20.02 ID:FyIcdvIJ.net]
業務アプリ以外はUWPに移行
業務系はWinFormsだろうな

26 名前:デフォルトの名無しさん mailto:sage [2016/11/07(月) 12:20:21.90 ID:fkbDdb5s.net]
WPFは描画にGPU支援あるけど、恩恵なんて極わずかだしな

27 名前:デフォルトの名無しさん mailto:sage [2016/11/07(月) 12:44:44.53 ID:9i/eBlRk.net]
っていうか、WPFってどんなに取り巻きが誉めそやしても裸の王様だと思うわ。
可読性がとにかく悪い。

Win Formみたいなイベントドリブンならある機能がどこで実装されているか、それを修正するためには
どこを変えればいいか、ほとんどの場合すぐに検討が付くけど、WPFだとこれがイライラの連続の
苦行そのものに堕落しちゃう

28 名前:デフォルトの名無しさん mailto:sage [2016/11/07(月) 14:03:36.25 ID:T8rwYGfS.net]
UWPはネイティブ化されたから、C#やJavaなどのVM系特有のもっさり感から開放されたし
リバースエンジニアへの対応もC++と同レベルになった
問題はDataGridViewが標準でないこととリソース使用の制限などだが
そこがクリアできるなら速攻移行するべきだな

29 名前:デフォルトの名無しさん mailto:sage [2016/11/07(月) 14:24:49.81 ID:/8UUm0jP.net]
やっぱりDataGridを切望してるのは日本人だけなんですかな
異常に罫線が好きな民族だからね

30 名前:デフォルトの名無しさん mailto:sage [2016/11/07(月) 14:26:53.51 ID:lMECrzfj.net]
民族だよね



31 名前:デフォルトの名無しさん mailto:sage [2016/11/07(月) 14:29:08.88 ID:io5w9F+U.net]
>>24
>業務アプリ以外はUWPに移行
>業務系はWinFormsだろうな
何で業務系は移行しないん?

32 名前:デフォルトの名無しさん mailto:sage [2016/11/07(月) 14:51:18.13 ID:pMvOYoph.net]
業務アプリ以外はUWPに移行してるかどうかは別として
UWPはwin10必須になるからな

33 名前:デフォルトの名無しさん [2016/11/07(月) 15:09:36.70 ID:8BVz5aV9.net]
必須とはどういう意味?

WPFは大失敗だから、いま見直ししてると思うな。もう少し頭のいい奴に考えさせる
んじゃないかな。まあすぐに消えるわ。

34 名前:デフォルトの名無しさん mailto:sage [2016/11/07(月) 15:15:37.39 ID:T8rwYGfS.net]
しかしCollectionViewSourceに有った機能の殆どを「自分で実装しろ」と言う仕様変更は如何なものか

35 名前:デフォルトの名無しさん mailto:sage [2016/11/07(月) 18:02:50.76 ID:5lIwdUhD.net]
>>32
読んで字のごとく、UWPはWin10じゃないと動作しない

36 名前:デフォルトの名無しさん mailto:sage [2016/11/07(月) 18:18:24.24 ID:mmljEldz.net]
WindowsServerの共有フォルダに対して
一台のPCで複数のセッションを
張りたいのですが
便利なC#でも難しいでしょうか

セッション枯渇をシュミレーション
したいのですが、数十台の
物理的なクライアントを用意するのが
厳しく

37 名前:デフォルトの名無しさん mailto:sage [2016/11/07(月) 22:53:04.02 ID:UfUqh0gR.net]
>>21だけど取り敢えずはWindowsFormも普通に現役っぽいからそっちを使う事にします
回答ありがとう

38 名前:デフォルトの名無しさん mailto:sage [2016/11/07(月) 22:53:34.17 ID:d19P1q1E.net]
その手のはC#のライブラリで用意されてなくて結局P/InvokeでWin32APIを呼ぶことになるから、
Win32APIのスレで訊いた方が良いと思う。

39 名前:デフォルトの名無しさん mailto:sage [2016/11/07(月) 23:00:48.29 ID:GpYwrGgA.net]
WPFは出てからちょうど10年たったけど全然普及しなかったね

40 名前:デフォルトの名無しさん mailto:sage [2016/11/07(月) 23:26:27.59 ID:geFZXkbd.net]
>>37
やはりC#での手段は無さそうなのですね
Win32APIスレで聞いてみます
ありがとうございます



41 名前:デフォルトの名無しさん mailto:sage [2016/11/07(月) 23:46:06.46 ID:d19P1q1E.net]
WPFはせっかくがんばって色々できる土台を作ったのに、完成度を上げ切れてないのが何とも勿体ない。
ReactiveProperty(MS製のオープンソース)とか標準で入っていればずいぶん作りやすくなるのに。
標準のコントロールも数が足りないね。
とは言え、WindowsFormsよりもWPFの方が楽な場合もあるから、結局両方使う。

42 名前:デフォルトの名無しさん [2016/11/08(火) 00:28:14.64 ID:mUYwed62.net]
WPFってWinFormプロジェクトと混在して使えるの?

43 名前:デフォルトの名無しさん [2016/11/08(火) 00:31:06.09 ID:mUYwed62.net]
>40
完成度のもんだいだろうか? そもそも根本的なところで間違ってるような気がする。
何が間違っているのかうまく言えないが、、、W

44 名前:デフォルトの名無しさん [2016/11/08(火) 00:41:11.17 ID:mUYwed62.net]
MSのドキュメントって最近は多少ましになっては来ている部分も少しだけあるけど
ほとんどが駄目だとおもう。頭の悪い奴の書いた文章そのものって感じがする。
簡単なことを難しく書いていて要領を得ない。ワザとやってるのかなと思って
いたがそうでもないらしい。 こんなドキュメントを書くようではスッキリした
まともな言語の開発はできないと思う。
 でもC#は奇跡的に素晴らしいと思う。この素晴らしさはMS的ではないな。WPFは
MS的だと思う。

45 名前:デフォルトの名無しさん mailto:sage [2016/11/08(火) 00:51:04.50 ID:360M0HJP.net]
>>41
WPFにWindowsFormsHostコントロールってのがあるので、それを利用してFormsのコントロールを使える。
その逆はやったことないけど、ElementHostコントロールを利用するらしい。

46 名前:デフォルトの名無しさん mailto:sage [2016/11/08(火) 01:21:27.86 ID:Iqb/ffmt.net]
>>26
Formsの何がダメかというと意識の低い雑魚プログラマでも手が出せるところだろうな
雑魚が書くとすぐにレイヤがぐちゃぐちゃに混ざり合い重複したコードが際限なく増えていきオブジェクトから手続きの時代にタイムスリップする
油断して監視を緩めるとあっという間に手に負えなくなる
WPFは雑魚は切り捨てられてるからそういったリスクが少ない
MVVMという共通の概念を身に付けた意識の高い人材が集まるから自然とコーディングスタイルが統制されて読みやすい高品質なコードが出来る

47 名前:デフォルトの名無しさん mailto:sage [2016/11/08(火) 02:27:54.02 ID:KFsAZFmi.net]
>>45
WPFのコードを読みやすい思ったことは一度もないわ。

しかし、凄い倒錯だねw
Windows Formの問題はダメな奴でもそれなりに(可読性のないコードを)書けてしまうことだというが、
それを言うならWPFの問題はまともなプログラマが書いても決して可読的にならないことだろう。

48 名前:デフォルトの名無しさん mailto:sage [2016/11/08(火) 03:24:51.90 ID:iu8f14dF.net]
可読性が悪いっていってるのは XAML のこと?
それともバインドしてるプロパティがどれなのかわからないみたいなこと?

前者ならもうどうしようもないけど、
後者ならWindows Formでも同じ気がするし、
バインドとかCommandとか使わずにイベントドリブンで作る方法もあるよ。

49 名前:デフォルトの名無しさん [2016/11/08(火) 03:48:44.45 ID:mUYwed62.net]
>47
どっちがダメかといわれても答えようがないが、ダメなものを平気で追加している
と、少しだけはいいものがあったにしてもダメになるよね。
いいものなら直観的にシンプルに説明ができると思う。

C#の属性拡張なんかも、その点ではかなり危ない。でも本体がしっかりしているので
あまり汚れが目立たない。
WPFは最初からダメでしょ。そもそも取り付けないし見通しも見えない。1日ほど
弄ってみたことがあるが、全然わからんかった。何がいいのかさっぱりわからん。
直観的に説明できないようなものって間違ってると思うよ。
こういう場合二つのアプローチがあると思う。

1.訓練してこれに慣れるという方法
2.何がダメなのか何が問題なのか発見するという方法

後者を採用する人にはこれはある意味チャンスだと思う。まあでもこれを使いこなせる
ってことは「頭いい」って証明にはなると思うから、1.のアプローチも間違い
じゃない。W

50 名前:デフォルトの名無しさん mailto:sage [2016/11/08(火) 04:02:41.99 ID:VojG/etj.net]
>>43
英語を読んでる?
日本語版は機械翻訳だよ



51 名前:デフォルトの名無しさん mailto:sage [2016/11/08(火) 05:54:50.91 ID:360M0HJP.net]
>>48
1日しか触ってなくてほとんど何も理解もしてないのにダメ出しってのも何だかな。
従来と仕組みが違う部分が多いから、従来の(WindowsGUIプログラムの)経験からの直観は働きにくい。
学習コストがかかるのもデメリットではあるけどね。

52 名前:デフォルトの名無しさん mailto:sage [2016/11/08(火) 07:31:09.86 ID:TXhVVjP1.net]
雑魚排除といえば
VBを残し続ける理由が分からない

VB作る人的リソースを
XAML強化とかに回せば良いのに

53 名前:デフォルトの名無しさん mailto:sage [2016/11/08(火) 07:36:07.95 ID:TXhVVjP1.net]
WPFはFormアプリが
健在だから使う機会がない

MSの下位互換の精神は悪いと
言わないけど、もう良いんじゃねって
技術が延々と残ってるから
嫌になる

54 名前:デフォルトの名無しさん mailto:sage [2016/11/08(火) 07:48:59.11 ID:uO4YTQEs.net]
俺は最初からWPFを使ってるのでWindowsフォームの利点がわからん。
あらゆる点でWPFの劣化版のように思えるのだが。

55 名前:デフォルトの名無しさん mailto:sage [2016/11/08(火) 07:54:17.11 ID:Iqb/ffmt.net]
>>48
こういう人をお断りできるだけでもすごいメリットだよな
WPF程度の難易度のフレームワークを1日で諦めるとかちょっとな
昔は多かったオブジェクト指向はよくわからないから悪もの理論の年配と同じ臭いを感じる

56 名前:デフォルトの名無しさん mailto:sage [2016/11/08(火) 08:01:23.60 ID:6Cpjtpfi.net]
>>40
>ReactiveProperty(MS製のオープンソース)
Prismとごっちゃにしないでね。
ただアレは便利だわ

57 名前:デフォルトの名無しさん mailto:sage [2016/11/08(火) 08:10:26.28 ID:6Cpjtpfi.net]
Formsで出来るレベルのことだけでいいなら、そりゃFormsのほうが楽かもしれんね
でも、コントロールの外観をいじりたいとかって話になると、wpfのほうがずっと楽だろ
Formsでアニメーショなどどうやってヤるんだよ

58 名前:デフォルトの名無しさん mailto:sage [2016/11/08(火) 09:36:53.50 ID:+DS6ozoh.net]
だからそういう用途じゃなきゃFormsだし
そういう用途にしてもUWPに移行するって話だろ

59 名前:デフォルトの名無しさん mailto:sage [2016/11/08(火) 10:24:37.04 ID:h2p8PH96.net]
>>53
例えば、Formの利点というよりWPFの欠点だけどグラフィックのパフォーマンスだね。
GDI+も登場時散々遅いと叩かれたけどWPFはその何十倍も遅い。
ググると出てくると思うけど、あまりに遅くて、2Dの折れ線グラフのような単純なものでも
データ数が多いと全く使い物にならない。
俺自身パフォーマンスの問題をどう工夫しても解決できなかったので結局GDI+で書き直すはめになった

60 名前:デフォルトの名無しさん [2016/11/08(火) 11:20:31.78 ID:mUYwed62.net]
>50
XAML
<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();

大事なところを隠蔽されるのはダメだよ。
プロパティを並べるのに<>で囲む必要なんてどこにあるんだよ。
という感じ。文書として保存するときなら<>つけたらいいではない?
でもエディットするときにこんなもんは不要だ。



61 名前:デフォルトの名無しさん [2016/11/08(火) 11:31:34.08 ID:mUYwed62.net]
<TextBox
Width = "100"
FontSize = "30"
Text = "テスト"
Background = "White"
Foreground = "Blue"
/>
文書保存するときはこれは別にいいと思うけど、もともと簡単に打ち込みできるよう
になってるものを、テキストで打ち込む理由はないな。

62 名前:デフォルトの名無しさん [2016/11/08(火) 11:43:12.95 ID:mUYwed62.net]
>47
XAMLはNetをXMLで表現するタグだけのことだろ。
それは別にそれでいいんでないか? 整理できるし。

問題はWPFっていう糞のIDEだな。見通しがきかない保存文書構造のXMLを使って
なんでプログラム組まなきゃなんないのってこと。本末転倒だろ。W

63 名前:デフォルトの名無しさん [2016/11/08(火) 12:00:35.75 ID:mUYwed62.net]
>コントロールの外観をいじりたいとかって話になると、wpfのほうがずっと楽だろ
>Formsでアニメーショなどどうやってヤるんだよ

 楽なのは抽象度が高くなっていて、逆に言えば細かい処理はできないってことだね。
FormでできないことがWPFでできるわけじゃなくて、それなりのコントロールを用意して
楽にしているだけ。楽なコントロールが楽になってるだけ。そういうのを適宜使うって
のはありだと思うよ。アニメーションとか、、、、アニメーションとかほかにどんなもの
がある? でも.netになくてWPFだけにあるものなんてある?

64 名前:デフォルトの名無しさん [2016/11/08(火) 12:12:18.45 ID:mUYwed62.net]
xmlns="schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="schemas.microsoft.com/winfx/2006/xaml"
エディターにロードした段階でこんなタグは不要だろ。なんでこんなのがいちいち
画面を占有しているの? バカっぽいと思わん。
これがなければ余分に2行ソースが見える。W

65 名前:デフォルトの名無しさん mailto:sage [2016/11/08(火) 12:47:02.22 ID:unEOfTV3.net]
>>59
なんでXAMLにすり替えてんだよじじい

66 名前:デフォルトの名無しさん mailto:sage [2016/11/08(火) 14:50:51.38 ID:CGI+nyHh.net]
男だったのか

67 名前:デフォルトの名無しさん mailto:sage [2016/11/08(火) 15:14:04.09 ID:EaH/m5NR.net]
GUIフレームワークなんて何使っても大差ない
根本的な設計がしっかりしてれば楽
でなければ何やっても苦痛

68 名前:デフォルトの名無しさん mailto:sage [2016/11/08(火) 16:42:41.52 ID:TdC6P0sc.net]
newも、ソースの見通しとも、xmlnsについてもWinFormsではデザイナが自動生成するコードだからほとんど見ないし、自動生成コードよりはXamlのほうが優れてるだろ

WPFの問題はバインディングとかMVVMとかがなかなか難しいし、情報資産が少ないことにある気がする

少なくとも、外観やコントロールの機能いじったり、バインディングを活用するなら悪くはない

69 名前:デフォルトの名無しさん mailto:sage [2016/11/08(火) 17:07:35.31 ID:uO4YTQEs.net]
>>58
そうなのか。
本当にWPFが遅いのかは限界までチューニングしなきゃわからんとは思うが、
少なくとも通常のやり方ではWindowsフォームのほうが速いというわけだな。
WPFでは勝手に画像がスケーリングされたり、
アンチエイリアシングされたりするのでそういったのを
徹底的に無効化しなきゃ速くならんからな。
画像を綺麗に見せるためなのか知らんが、
こういったマクロソフトの俺様仕様は勘弁してほしいところだわ。

>>59
そんなにXAMLが嫌いならXAMLを使わなきゃいいだろ。
そもそもXAMLはWPFとは何の関係もない。
XAMLを使わなくてもWPFプログラミングなどいくらでもできる。

70 名前:デフォルトの名無しさん [2016/11/08(火) 18:00:32.99 ID:mUYwed62.net]
>68
えっ、そうなんだ。チュートリアルはほぼxamlの説明だけだよ。W



71 名前:デフォルトの名無しさん [2016/11/08(火) 18:03:46.28 ID:mUYwed62.net]
一時期XMLが流行った時があって猫も杓子もXML状態になったよね。そのあと全部
失敗してXAMLはしぶとく残ってるということではないのか?

72 名前:デフォルトの名無しさん mailto:sage [2016/11/08(火) 18:52:03.52 ID:WSlpNxFl.net]
もうザマリンでAndorido準拠の
プログラム作れば良いよ

WindowsPhoneのシェア0.3%で
WPFの先も無さそうだし

73 名前:デフォルトの名無しさん mailto:sage [2016/11/08(火) 18:56:36.28 ID:WSlpNxFl.net]
FormアプリとVBは
Windows7までにしておけば良いのに

共に役目は終えたし
MSはリソースを少し集中しようよ

モバイルじゃシェア失ってるんだし

74 名前:デフォルトの名無しさん mailto:sage [2016/11/08(火) 20:25:06.49 ID:UoXgnYKD.net]
Win32API時代から自分で描画するコントロールを作っていくのが好きすぎて未だにやめられない

75 名前:デフォルトの名無しさん mailto:sage [2016/11/08(火) 20:40:02.61 ID:RPJf2WNu.net]
WinFormは趣味グラマにとってぬるま湯で居心地がいいw
IDEのおかげで下手なスクリプトより楽だし

76 名前:デフォルトの名無しさん mailto:sage [2016/11/08(火) 20:51:54.08 ID:360M0HJP.net]
>>55
すまん。完全にごっちゃになってた。

>>59
その例だとXAMLにx:Name="textBox1"が抜けてるぞ。
XAMLでの<TextBox>タグの宣言こそが、TextBox textbox1 = new TextBox();
に相当するってだけで、別に隠しちゃいない。

77 名前:デフォルトの名無しさん mailto:sage [2016/11/08(火) 20:58:12.04 ID:RPJf2WNu.net]
ついでに流れに乗っておくと
>>58
WPFはGDI+(WinForm)よりもグラフィック関連は速くなるものだと思っていた
WinFormは扱うデータサイズが大きくなると消費するメモリサイズが飛躍的に増えるんで、グラフィック関連は扱うのにあまり適していないんだよな

78 名前:デフォルトの名無しさん mailto:sage [2016/11/08(火) 21:15:33.89 ID:360M0HJP.net]
>>76
あるポイント数を超えるとまったく実用じゃないくらい遅くなるね。
ポイント数が多くてスピードが要求される場合は、DirectXを使って高速描画出来る有償のコントロールを買うしか無さそう。

数年前の資料だけど、各種チャートコントロールの性能比較
WPF Charting Performance Comparisons (the Battle Continues)
blog.scottlogic.com/2012/04/24/wpf-charting-performance-comparisons-the-battle-continues.html

79 名前:デフォルトの名無しさん mailto:sage [2016/11/08(火) 23:17:39.44 ID:6Cpjtpfi.net]
ポイント数が多くてスピードが要求されるなら、データを間引いたほうが現実的じゃなかろうか?
データ視覚化なら2、300もアレば十分だろ

80 名前:デフォルトの名無しさん mailto:sage [2016/11/08(火) 23:28:48.20 ID:o3gm2pi/.net]
そんな高度なことができるわけないだろ



81 名前:デフォルトの名無しさん mailto:sage [2016/11/08(火) 23:52:00.16 ID:6Cpjtpfi.net]
>>79
もうちょっと頑張れ

82 名前:デフォルトの名無しさん mailto:sage [2016/11/09(水) 00:13:40.23 ID:HQuuA4JA.net]
>>49
他のベンダーのヘルプとか見たことないんだろ
MS なんてかなりまともな方だと思う

83 名前:デフォルトの名無しさん mailto:sage [2016/11/09(水) 01:04:00.05 ID:SotHgA9V.net]
>>78
系列が少なければね。

84 名前:デフォルトの名無しさん mailto:sage [2016/11/09(水) 01:09:36.44 ID:SotHgA9V.net]
>>62
知らないのに当てずっぽうで書いてるのが良く分かるな

85 名前:デフォルトの名無しさん [2016/11/09(水) 02:23:18.79 ID:pYqjQFAT.net]
>77
イケてるやないか。 でもデータバインディングやったらボロボロ。W

86 名前:デフォルトの名無しさん [2016/11/09(水) 02:57:40.95 ID:pYqjQFAT.net]
>に相当するってだけで、別に隠しちゃいない。

隠すつもりがなくても視認性が悪いから隠れるんだな。これが、、

WPFの肝は
1.UI部分は XAML で記述
2.実行コードは C# または VB
3.グラフィックス描画は DirectX
4.データドリブン的なものをデータバインディングでやる

1.と4.が手抜きでいい加減だから全然だめ。
1が駄目だから2を書こうにもどう書いたらいいのかわからないというジレンマ
4がダメだから遅いし使いにくいし使い物にならないしトータル的には失望を加速
している。

料理の材料はまあこんなものでいいというか素材は素晴らしい。しかし集めて料理
するんならもっと一つ一つを丁寧に作りこまなくてはだめだろ。これじゃ味の
バランスが悪くて料理になってない。もうひと手間かけるのができないんだよな。
最後までやりきることができない。思い付きと能書きは立派。W

87 名前:デフォルトの名無しさん [2016/11/09(水) 03:24:51.72 ID:pYqjQFAT.net]
<Window x:Class="SliderTest.Window1"
xmlns="schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="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}"/>

88 名前:デフォルトの名無しさん [2016/11/09(水) 04:07:40.94 ID:pYqjQFAT.net]
ファンクションキーのイベント発生に見れるセンスのなさ
こんな書き方はどんだけ糞か? ネーミングのセンスがまるでない。
PreviewKeyDown="Window_PreviewKeyDown"

これがセンスのいいなまえ
FunctionKey = "KeyDown"
もしくは
KeyDown="FunctionKey"
KeyDown="F1"
など

89 名前:デフォルトの名無しさん [2016/11/09(水) 04:26:59.85 ID:pYqjQFAT.net]
プロパティ値の継承に見る手抜き
 プロパティ値が割り当てられていない子要素がある場合、プロパティ値の設定がある
最も近い親要素の値を割り当てる。W 

まあこういう問題が発生するのも、手抜きが手抜きを生むことの良い例だ。ボタンコン
トロールひとつを表すのに手近な要素をかき集めて作りあげるという手抜きをしたこと
で、イベントがうまく取れないという問題が発生した。そこでイベントルーティング
という新たな手抜き概念を導出してしかもプロパティ継承という誤魔化しまでしなくて
はならなくなった。
 トンネル、バブル、ダイレクト イベント一つにこんだけ複雑なことをする羽目にな
ったのも、最初に行ったわずかな手抜きが原因なのだ。

90 名前:デフォルトの名無しさん mailto:sage [2016/11/09(水) 04:29:27.99 ID:9orsc4MQ.net]
>>86
>>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に記述したりはしない



91 名前:デフォルトの名無しさん [2016/11/09(水) 04:36:52.64 ID:pYqjQFAT.net]
データバインディングに見る手抜き
「WPF のデータバインディングはこれだけで 1 冊の本が書けるほど面倒です。」という
関係者。たったこれだけで関係者が本を書いて10年は食える飯のタネになる。W

WPFにおけるデータバインディングの重要性と可能性はこの限りにおいては非常に成功
している。テーマとしては食いつきがいい。「これさえマスターすれば、あとは
データを流し込むだけで自動的に表示してくれる」
魅力的なのだ。
食いつきがよくて、複雑怪奇な場合には関係者は情報を小出しにすればかなり長期に
わたってよい飯の種になる。

92 名前:デフォルトの名無しさん [2016/11/09(水) 04:37:26.02 ID:pYqjQFAT.net]
さあ寝よう。おやすみ

93 名前:デフォルトの名無しさん mailto:sage [2016/11/09(水) 07:27:40.65 ID:ccPtaul1.net]
>>91
そこら辺が問題だと思うのなら、全て解決したUWPに移行したら良いんじゃないのかな?
x:Bindで事前バインディングで厳密に型チェックヤるし、イベントバインディングも出来るからな

つか、アンタの言い分はイソップ童話の酸っぱいブドウそのものです

94 名前:デフォルトの名無しさん mailto:sage [2016/11/09(水) 07:54:15.04 ID:TlbuxVnv.net]
個人的にUWPに偏見を抱いている理由はOneNoteが糞なせい
OneNoteの糞さはUWP無関係だと思うが、自分の観測範囲にUWPの実用サンプルがそれしかないので
どうしても印象が引っ張られる

95 名前:デフォルトの名無しさん mailto:sage [2016/11/09(水) 09:17:12.31 ID:KnEUpDo2.net]
XAMLに親を……

96 名前:デフォルトの名無しさん mailto:sage [2016/11/09(水) 09:17:36.57 ID:SotHgA9V.net]
>>87
KeyDownってイベントは別にあるぞ

>>88
もはや言いがかりのレベルだな

97 名前:デフォルトの名無しさん [2016/11/09(水) 12:09:48.16 ID:pYqjQFAT.net]
>89
どんな糞言語でも本質をよく見極めてセンス良く使う人はいるものだよ。

しかしそこに到達するまでにどんだけ時間がかかるというのだ。俺なんかわけわからん
から右往左往するばかりだよ。

せめてBlendをまともに作ってくれれば、それなりにUIの問題は解決するのにな。
Blendも糞だろ。W 最近のは使ってないからわからんが、、、

98 名前:デフォルトの名無しさん [2016/11/09(水) 12:10:37.11 ID:pYqjQFAT.net]
>そこら辺が問題だと思うのなら、全て解決したUWPに移行したら良いんじゃないのかな?
>x:Bindで事前バインディングで厳密に型チェックヤるし、イベントバインディングも出来るからな

今度はUWPかよ。小出しにするなー。つまりWPFは糞だったと認めるんだな。W

99 名前:デフォルトの名無しさん mailto:sage [2016/11/09(水) 12:12:21.25 ID:C35LXred.net]
UWPは互換性取るために使えない機能が多すぎてFormやWPFと比較する気にもなれない

100 名前:デフォルトの名無しさん mailto:sage [2016/11/09(水) 13:18:01.59 ID:imHVERPt.net]
で?。W



101 名前:デフォルトの名無しさん mailto:sage [2016/11/09(水) 13:24:22.96 ID:13V/HCY3.net]
またストアアプリみたいにいつ梯子外されるかわからないUWPに手を出す人は
よっぽどお勉強好きなんだろうなw

仕事ならしょうがないけど自分の時間使って勉強する気にはなれんわ

102 名前:デフォルトの名無しさん mailto:sage [2016/11/09(水) 13:44:46.30 ID:U6OuotlL.net]
WPFに手だしちゃった人ならいけるでしょ

103 名前:デフォルトの名無しさん mailto:sage [2016/11/09(水) 16:05:04.67 ID:L45XBX69.net]
>>87
コードビハインドにイベント書くことはおすすめされないし、そもそもPreviewKeyDownってFunctionキーのイベントを受け取るためのイベントじゃないぞ?
WinFormsにも同じ名前のイベントあったじゃん

WPF以前の根本的な能力がかけてるんじゃね?

104 名前:デフォルトの名無しさん mailto:sage [2016/11/09(水) 19:12:41.31 ID:UPD5ANvk.net]
UWPって多重起動できるんですか?

105 名前:デフォルトの名無しさん mailto:sage [2016/11/09(水) 19:23:20.90 ID:c1gJ8Ir2.net]
Windows10のPCは買ったけど、予備にした古いPCで動かす事を考えたらUWPは使いたくないな
まだ動く7とXPのPCがあるからな

106 名前:デフォルトの名無しさん mailto:sage [2016/11/09(水) 20:02:19.12 ID:xK7OwzcU.net]
WPFやってないんだが、そもそもXAMLは人間が見る必要のあるものなのか?
VSのデザイナやBlendがダメすぎるのか?
フォームでさえ、.Designerの中身なんてほぼ見る事ないのに

人間が生のXAML見たり編集したりしないとダメならそら普及しないなと思うが

107 名前:デフォルトの名無しさん mailto:sage [2016/11/09(水) 20:09:14.52 ID:y+VOBp5j.net]
XAMLはなにもかもXML(?)で記述できるようにしようとして失敗してる感じ
レイアウトだけにしとけばいいのに

108 名前:デフォルトの名無しさん mailto:sage [2016/11/09(水) 20:09:22.06 ID:knOh/4SR.net]
データバインディングが遅いとかいって大量データをなんの工夫もなく描画する画面を引き合いに出す人ってたまにいるけどあれって悪意があってやってるの?

109 名前:デフォルトの名無しさん mailto:sage [2016/11/09(水) 21:24:36.59 ID:WmFTPhhE.net]
普通、設定ファイルを、人が直接いじったりしない

Godot(ゴドー)などのゲームエンジンでは、IDEの右側にある、
インスペクタービューで、プロパティなど設定する

オブジェクト同士の衝突判定・イベント通知なども、同じ

110 名前:デフォルトの名無しさん mailto:sage [2016/11/09(水) 21:25:12.33 ID:TlbuxVnv.net]
どこぞのフレームワークで「人間にXMLを書かせるなんて虐待です」って書いてるのがあったけど
ほんとその通り



111 名前:デフォルトの名無しさん mailto:sage [2016/11/09(水) 23:41:49.58 ID:7n7DDFeG.net]
つうかここってC#+Windowsフォームしかやってないやつばかりなの?
XAMLはそもそもWPFだけのもんじゃないんだが。
Silverlightにも使われていたしUWPにも使われてる。
そしてC#だけじゃなくVBにも使われてる。
つまり、言語や

112 名前:Nラスライブラリなどから分離できるものは分離しようっつーのがXAMLでしょ。
C#/VBとXAMLの関係はJavaScriptとHTMLの関係と似てる。
XAMLを批判してる奴ってほんとにXAMLを理解してんの?
[]
[ここ壊れてます]

113 名前:デフォルトの名無しさん mailto:sage [2016/11/10(木) 00:11:40.20 ID:TlbdJV8L.net]
1日で挫折したのにここまで批判できる >>48 はすごい人

114 名前:デフォルトの名無しさん mailto:sage [2016/11/10(木) 00:22:28.24 ID:4pFcdHJl.net]
JavaScriptとHTMLではなくJavaScriptとJSONの方が近いな
XAMLはただのシリアライズフォーマットの1つでしかない
WPFと関係ない普通のオブジェクトもXAMLにシリアライズできる
そんでXAMLはJSONと違って型とアセンブリの情報を持つ
UIデザインを宣言する手段として考えると書きにくいXAML形式よりシンプルでインテリセンスもよく働くC#コードの方が優れているのは確かだろう
しかしそうではなく可視性と可搬性のある普遍的なシリアライズフォーマットとして考えるとXAMLがXMLを採用したのは自然な帰結と言える
可視性のためにはテキストでなければならない
可搬性と普遍性では対抗馬としてJSONがあるがJSONはシンプルすぎて表現力がちょっと物足りない
となるとXMLは妥当な選択と言っていい
新しい時代に乗り遅れてXMLにしたわけでもないし虐待目的でXMLにしたわけでもない
XAMLの目的に合致するフォーマットではXMLがベストだったというだけの話なんだ

115 名前:デフォルトの名無しさん mailto:sage [2016/11/10(木) 00:29:57.49 ID:ApowNrKS.net]
wpf使うならelectronでいいや感ある

116 名前:デフォルトの名無しさん mailto:sage [2016/11/10(木) 01:16:39.44 ID:Co+DcSGG.net]
AndroidStudio使っててもXMLは出来るだけいじりたくないw

117 名前:デフォルトの名無しさん [2016/11/10(木) 01:52:09.10 ID:aHkFnxeg.net]
>102
ん?
それは考え方に矛盾があるだろ。UIを切り離すのが目的

118 名前:ネら、切り口がシンプルで
綺麗なほうがいい。
例えばスクロールバーと連動して値を表示する場合なんてUI内でまとめて片づけて
しまったほうがいい。
ほしいの値だけで、処理側からしたらくだらないイベントなんて見えないほうがいい。
そっちでまとめてやってほしい。
[]
[ここ壊れてます]

119 名前:デフォルトの名無しさん [2016/11/10(木) 01:52:28.80 ID:aHkFnxeg.net]
>XAMLを批判してる奴ってほんとにXAMLを理解してんの?

理解できないなから文句を言ってるんだよ。機械が簡単に理解できるからって
人間にそれを押しつけるのは間違い。
XAMLってのは単なるテキスト文書じゃない。プログラム全体から複雑なUIを切り離して
表現するという目的がある。複雑なUIは手打ちで入力するようなものじゃない。

UI={動作、表現、パラメータ、、、、}+窓口

プログラム=>窓口

UIの窓口さんにいえば{、、、}なかはわからなくても大体処理できる。そういう関係
なわけよ。窓口が美人でテキパキしてないとダメだろ。
時々あるんだが、大企業の開発部に電話してるのに田舎のおばちゃんみたいなのが
窓口で
「はあ、田中さんは今日はおらんよ、どっかに出張するからって鞄を下げて出て行った
よ」
みたいな感じな。
XAMLの美人の窓口さんはどこ? ねえ

120 名前:デフォルトの名無しさん mailto:sage [2016/11/10(木) 02:08:02.40 ID:CCFq8Qep.net]
>>111
批判って言うより、ほとんどいちゃもんだけどな。



121 名前:デフォルトの名無しさん mailto:sage [2016/11/10(木) 02:16:50.13 ID:lTw5QLQW.net]
長文マンは無駄に下手な比喩ばっか使って文意がわかりづらいな

122 名前:デフォルトの名無しさん [2016/11/10(木) 02:20:15.15 ID:aHkFnxeg.net]
じゃあ具体的に書いたろか

textBox1.Text = "Hello, World!"
これでいいのに

public class Data
{
public string TextHelloWorld
{
get { return "Hello, World!"; }
}
}
example.xaml
<TextBox Text="{Binding Path=TextHelloWorld}" />

これだもんな。W
XAMLがデータを取りに行ってくれる。一見便利だが、いちいち細かい指示を出して
説明してやらんと分からんやつだから、教えるほうが手間。自分でHello!!て
書いたほうがなんぼかまし。
あれだ、パラダイムシフトだなんだって言ってるが、シフトダウンだよな。

123 名前:デフォルトの名無しさん mailto:sage [2016/11/10(木) 02:26:27.64 ID:wdbpo9Rt.net]
それXAML側でName="textBox1"と定義してやれば、this.textBox1.Text = "Hello, World!"で済むだろ

124 名前:デフォルトの名無しさん mailto:sage [2016/11/10(木) 02:30:19.81 ID:YdauEkQ9.net]
WPFとFormを同じXAMLから生成出来ればもっと使い道もあるんだけどな

125 名前:デフォルトの名無しさん [2016/11/10(木) 02:31:25.72 ID:aHkFnxeg.net]
比喩だとわからんか?
窓口ってのは会社の顔だよ。XAMLの顔はというとBindingだ。ここが窓ぐち。
こいつが田舎もんだから、、、、W

126 名前:デフォルトの名無しさん mailto:sage [2016/11/10(木) 02:33:21.09 ID:4pFcdHJl.net]
>>122
でもそれってXAML関係ないじゃん
なんでさっきXAMLディスってたの?

127 名前:デフォルトの名無しさん mailto:sage [2016/11/10(木) 02:33:22.15 ID:wdbpo9Rt.net]
わざとミスしてレスが欲しいのか自分の主張を通したいのかどっちなのよ

128 名前:デフォルトの名無しさん mailto:sage [2016/11/10(木) 02:55:22.89 ID:bu4ikKWV.net]
>>119
ぇ、それだけじゃXAMLは取りに行かないよ。
Dataクラスからの通知機構は無いの?

129 名前:デフォルトの名無しさん mailto:sage [2016/11/10(木) 03:08:35.71 ID:zCCtWAZL.net]
>>115,116
?例が適当すぎて言いたいことがわからん
スクロールバーと連動して値を表示するのはバインディングで済むからUIのイベントなんて使わないだろ

UIを切り離すんじゃなくて、VとVMを切り離すのが目的

130 名前:デフォルトの名無しさん mailto:sage [2016/11/10(木) 03:17:22.84 ID:zCCtWAZL.net]
>>119
バインディングする意味のないソースを出されても

さっき言ったスクロールバーとその値を表示するテキストボックスの例を見ればいいんじゃない?
バインディングを使わないとイベントを利用してそれぞれの値を相互に書き換える必要があって面倒とかそういうの



131 名前:デフォルトの名無しさん mailto:sage [2016/11/10(木) 06:37:59.52 ID:B4277xpo.net]
XAMLを批判したいけどちゃんと理解してないから筋の通った批判ができない悲しさ

132 名前:デフォルトの名無しさん mailto:sage [2016/11/10(木) 07:36:13.26 ID:o8sMendu.net]
>>126
例えばGridSplitter付きのパネルの開閉をアニメ付きでヤるとしたら、xamlじゃとても書けないけど
VMにやらせる仕事じゃないって場合とか、BringToViewなんかもViewで完結させるべき仕事だね
ビヘイビアやトリガーアクション使ってもいいけど無理やり突っ込むこともない

133 名前:デフォルトの名無しさん [2016/11/10(木) 07:51:19.71 ID:aHkFnxeg.net]
<TextBox Name="Text1" Height="23" Width="70" Margin="5"
HorizontalAlignment="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
エラーもでんし。

134 名前:デフォルトの名無しさん [2016/11/10(木) 07:53:05.39 ID:aHkFnxeg.net]
>128
このバインドの書き方のどこが筋が通ってないんや?

135 名前:デフォルトの名無しさん [2016/11/10(木) 08:11:55.57 ID:aHkFnxeg.net]
this.DataContext =this;
 そうだこれがぬけてると検索場所が特定できんのだ。
私は私ですから私を検索してくだされ。

えっ、これでもやっぱりだめ。

136 名前:デフォルトの名無しさん mailto:sage [2016/11/10(木) 08:24:57.67 ID:o8sMendu.net]
彼の言うXamlの欠点とやらは、マークアップ言語ならどれでも持っているもので
xamlはhtmlと比べたら格段に進歩した代物だ

まあこんなケチを付けているんだから
htmlなんて触ったことない化石プログラマーなんだろうね

137 名前:デフォルトの名無しさん [2016/11/10(木) 08:57:47.72 ID:aHkFnxeg.net]
マークアップの欠点とBindingの欠点と、、、と幾つかの欠点を併せ持っているという
ところが味噌。

138 名前:デフォルトの名無しさん mailto:sage [2016/11/10(木) 09:16:40.69 ID:o8sMendu.net]
可読性を問題にしていたはずが、ロジックとマークアップが混在するhtmlを批判せずに
それを解決する方法のBindingにケチをつける

化石の末期だなw

139 名前:デフォルトの名無しさん [2016/11/10(木) 09:43:37.91 ID:aHkFnxeg.net]
<Window.Resources>
<SolidColorBrush x:Key="MyBrush" Color="Blue"/>
</Window.Resources>
ボタンのインスタンスIDはNameでリソースの場合hx:Keyかよ。笑かすな。W

140 名前:デフォルトの名無しさん [2016/11/10(木) 10:15:41.71 ID:aHkFnxeg.net]
物事を識別するには名前が肝心である。名前は適切で少ない方がいい。

大本の識別機構の混乱
XAMLコード中でIDictionaryインターフェイスを実装する要素に子要素を追加する際には
x:Key 属性の指定が必須
 ただし、Styleクラス(System.Windows名前空間)のように、クラスにDictionaryKeyPropertyAttributeを付与して、(x:Key 属性の)代替となるプロパティ(Styleクラスの場合はTargetTypeプロパティ)を設定しているクラスの場合には、x:Key属性 を省略可能。
Styleクラスでは、x:Key 属性の代替としてTargetTypeプロパティを利用している。

高々リソースに名前振るだけで、、、ぷっ。



141 名前:デフォルトの名無しさん [2016/11/10(木) 10:16:51.48 ID:aHkFnxeg.net]
>135
無批判に受け入れるのはよくない。「飼いならされて、食用にされる家畜」だよ。
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 !

142 名前:デフォルトの名無しさん [2016/11/10(木) 10:29:24.03 ID:aHkFnxeg.net]
@ITデータバインディングを理解する。
www.atmarkit.co.jp/ait/articles/1010/08/news123.html
1ページ何を言ってるのか全然わからん。突っ込みどころが多すぎて、突っ込む気にもならん。
それとも誤字脱字が多いのかな?なんか説明が間違ってるだろ。論理がつながっていない。

うちのばあちゃんにでもわかるように説明してみろや。

{Binding X} という書き方は

143 名前:、{Binding Path=X} と同じ意味である。
藁、「同じ意味である」って、そんなら最初から一つに絞っておけよ。

{Binding Path=X} いらんだろ。
BindingにPath以外のプロパティはないんだろ!! 最初からBindingでいいだろ
パスもプロパティもいらんわ。
[]
[ここ壊れてます]

144 名前:デフォルトの名無しさん [2016/11/10(木) 10:43:36.65 ID:aHkFnxeg.net]
 外部リソースを取り込むには、<ResourceDictionary>要素にSource属性を付ける
<Window.Resources>
<ResourceDictionary Source="Styles.xaml"/>
</Window.Resources>

includeにしろよな。常識だろ。

145 名前:デフォルトの名無しさん [2016/11/10(木) 11:38:19.49 ID:ElAt+S/3.net]
質問です
フォームにプロパティグリッドがあります
プロパティグリッドの中でCtrl+Zを押したときに
普通はプロパティグリッドが持っているアンドゥが呼ばれますが
これをフォームの独自のアンドゥ・メソッドを呼び出すようにしたいのですが、
どうすればいいですか?

146 名前:デフォルトの名無しさん mailto:sage [2016/11/10(木) 12:03:59.07 ID:dRW/oH8h.net]
>>141
思いつくのは、IMessageFilterを使ってWM_KEYDOWNでCtrl+Z拾ってやることかな
入力中のコントロールをControl.FromHandleで取れたら幸い

147 名前:デフォルトの名無しさん mailto:sage [2016/11/10(木) 12:19:50.11 ID:CCFq8Qep.net]
>>139
Pathは省略可能ってだけで、他にもプロパティあるし。
自分で張ったリンク先の2ページ目にも書いてあるだろ。

148 名前:デフォルトの名無しさん mailto:sage [2016/11/10(木) 12:41:10.63 ID:lWSBQV9X.net]
>>116
理解できない自分の頭を呪いな

149 名前:デフォルトの名無しさん mailto:sage [2016/11/10(木) 12:59:35.96 ID:otGHoxmh.net]
>>142
.NET1.1の頃からそんなのあったのか
まったく知らなかったw

しかし、IMessageFilterっていうかApplication.AddMessageFilterって結構恐ろしい仕組みだなw
NativeWindowの方が安全な気がするんだけど

150 名前:デフォルトの名無しさん mailto:sage [2016/11/10(木) 13:07:51.76 ID:ElAt+S/3.net]
>>142
IMessageFilterでCtrl+Z拾ってできました
ありがとうございます



151 名前:デフォルトの名無しさん mailto:sage [2016/11/10(木) 14:50:01.95 ID:zCCtWAZL.net]
>>139
結局、言われた指摘には何も返せず自分が理解できないのに適当に騒いでるだけじゃん
C言語とかやったら配列があればポインタいらないじゃん!とか騒いでそう

省略可能な記述についても、html5とかの仕様を見たらhtmlとかbodyとかのタグいらないじゃん!とか叫びそう
qiita.com/labocho/items/54fd70c73ced35c8ba49

152 名前:デフォルトの名無しさん [2016/11/10(木) 15:34:39.47 ID:aHkFnxeg.net]
グダグダ言わずに、本質はどういうことかを捉えてどう説明できるかが問題やな。
Bindingの本質はというと要するにXamlのText="{Binding pName}" が意味するのは

var bind = new Binding("pName") { Source = per };
  text1.SetBinding(TextBox.TextProperty, bind);

この二つの処理やないか。こいつを省略形で書いてるだけのことやろ。
チュートリアルでちゃんとこう言うように書けよな。そしたら3秒でわかるのに。
原辰。

153 名前:デフォルトの名無しさん [2016/11/10(木) 15:45:02.09 ID:aHkFnxeg.net]
>143
1pが意味不明なので2pは見てなかった。

しかもインテリセンスが糞やからPath以外のプロパティがあるのかないのかわからん。
あくまでも
「BindingのプロパティはPath以外に無い」という前提、仮説の下でケチつけてる
わけであって、それはチャンと明記している。W

一遍にりかいするんは難しい。

OneWay ソースからターゲットへの一方通行の同期になります。
TwoWay ソースとターゲットの双方向の同期になります。
OneWayToSource ターゲットからソースへの一方通行の同期になります。
OneTime ソースからターゲットへ初回の一度だけ同期されます。

モードがあるじゃないか。ならインテリセンス効かせろや。

154 名前:デフォルトの名無しさん [2016/11/10(木) 15:59:51.17 ID:aHkFnxeg.net]
しかしBinding部分は顔だし肝なのにここを
 正確に説明できん
 プロパティのインテリセンスも出せん
とか、要するに自分の頭で考えたものじゃなくて、アッチコッチから借りてきた借り物をくっつけ
て作り上げてるからだろ。ほんとうのところが正確に把握できてないんだよな。

155 名前:デフォルトの名無しさん [2016/11/10(木) 16:05:52.04 ID:aHkFnxeg.net]
内容が変更したときにはどうすんの?
 INotifyPropertyChangedインターフェースを実装
 DependencyPropertyにしてしまう (インスタンスを生成したスレッドのみに限定される)
二つの方法がある。

PropertyChanged(this, new PropertyChangedEventArgs("pName”));
プロパティの変更でこれをやってやればいい。

なんやねん。結局イベント処理は書かなだめやないか? どんだけのメリットがあるか。W

156 名前:デフォルトの名無しさん mailto:sage [2016/11/10(木) 16:10:01.34 ID:ApowNrKS.net]
ラムダ君
LINQ君
XAML君←new

157 名前:デフォルトの名無しさん [2016/11/10(木) 16:33:44.59 ID:aHkFnxeg.net]
結局普及しないのは、関係者がちゃんと理解できていないのではないかな。
WEBを見たら、いろいろと説明が書いてるがどれも分りにくい。

C#でもVBでも1日も触っていたら、そこそこ使えるようになる。うろ覚えでも
プログラムはできる。
 WPFは説明が中途半端なので肝の部分がはっきりしない。

バインディングするんならイベントもちゃんとバインディングしないとだめだわ。
バインディングを間違っていても反応なしだしな。W エラーすらチェックできてない。
中途半端。

158 名前:デフォルトの名無しさん mailto:sage [2016/11/10(木) 17:47:19.45 ID:riiUw9jl.net]
>>152 命名のXAML君は、staticおじさんと同じ加齢臭がする

159 名前:デフォルトの名無しさん mailto:sage [2016/11/10(木) 17:49:55.89 ID:ApowNrKS.net]
ラムダとLINQも新しいことを拒絶するstaticおじさんだろうな

160 名前:デフォルトの名無しさん mailto:sage [2016/11/10(木) 19:15:21.25 ID:pqjjw4yY.net]
ラムダとLINQの時は使うなとか言っているやつがいたからな
拒絶するのは勝手だがいちいち布教しようとするのはウザイ



161 名前:デフォルトの名無しさん [2016/11/10(木) 19:22:39.57 ID:CGPJd07S.net]
IEでニコ生みたいなストリーミング動画を見る際に、動画データがメモリーに展開する前にデータをリアルタイムでキャプチャするにはどうしたらいいでしょうか?

162 名前:デフォルトの名無しさん mailto:sage [2016/11/10(木) 19:23:04.26 ID:ApowNrKS.net]
C#のLINQは名前が他の言語と違うから一瞬迷う

163 名前:157 mailto:sage [2016/11/10(木) 19:31:03.19 ID:CGPJd07S.net]
すみません分かりづらかったです。
IEで動画見ながら、IEがダウンロードしてるデータがストリーミング動画かどうかを判断して、動画ならIEの画面に表示される前に手を加えたいんです。

164 名前:デフォルトの名無しさん mailto:sage [2016/11/10(木) 19:36:34.41 ID:hirKpSKv.net]
ストリーミング中の動画に手を加えられるだけの技能があるのがすごい

165 名前:デフォルトの名無しさん mailto:sage [2016/11/10(木) 20:17:59.57 ID:13nZCkn2.net]
使う価値があると思えば使えばいい
自分が使うのは無理だ参りましたと思ったら使わなければいい
ただどちらを選択したかは別に他人に伝えなくていい

166 名前:デフォルトの名無しさん mailto:sage [2016/11/10(木) 22:17:57.52 ID:c1KzPo7d.net]
>>159
現実的な内容じゃない
基本的に無理
プロキシ―作っても動画をいじれる技量が君にあるとは思えない

167 名前:デフォルトの名無しさん mailto:sage [2016/11/10(木) 23:07:13.32 ID:pEVMYV3p.net]
IEに、そういうプラグインがあるのか、探してみれば?

IEは、オープンソース(OSS)じゃないから、改造するのは難しい。
OSSは、Firefox, Chromium, Safari

Atom, Visual Studio Code, Electron は、Chromiumを使っている

168 名前:デフォルトの名無しさん mailto:sage [2016/11/11(金) 03:04:38.37 ID:+gNs9Nbk.net]
>>153
君はWPFどころかC#もよく理解できてないみたいだから、C#入門書からスタートするのがおすすめ

169 名前:デフォルトの名無しさん [2016/11/11(金) 04:07:56.66 ID:KgVthd+h.net]
>157
ストリーミングをやるコンポーネントはあるだろ。そのデータ取り込み部分を
バッファリングして中を加工すればいいだけだろ。W
画像認識をするのかな?

170 名前:デフォルトの名無しさん [2016/11/11(金) 07:05:40.26 ID:KgVthd+h.net]
MVVMのICommandの使い方
ICommandを実装する理由はなんだ?
 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;
}



171 名前:デフォルトの名無しさん mailto:sage [2016/11/11(金) 07:07:03.74 ID:zUQAdwQM.net]
イベントを再定義したかった人生だった(Command辞世の句)

172 名前:デフォルトの名無しさん [2016/11/11(金) 07:08:21.41 ID:KgVthd+h.net]
いい例がある。これならわかる。これを逃してしてしまうと永久にわからないというほどの
優れた例を提示しておく。

優れた例
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();}
}

173 名前:デフォルトの名無しさん [2016/11/11(金) 07:09:49.57 ID:KgVthd+h.net]
肝:DelegateCommandをプロパティとして公開
  コンストラクタの中でインスタンス化

() => Result = "登録OK"
これはなんやねん? このアクションの書き方がわからんなーという人。
ラムダ式、、、初めて聞いた?

174 名前:デフォルトの名無しさん [2016/11/11(金) 07:13:06.18 ID:KgVthd+h.net]
>君はWPFどころかC#もよく理解できてないみたいだから、C#入門書からスタートするのがおすすめ

C#の方が難しいわ。まあでも何とか動かせる。WPFもBindingだけわかったので何とか
使えるレベルにはなったな。

問題はMVVMパターンだな。
MVVMじゃなくてM-VM-VかV-VM-Mでないとだめだよな。VVMMの方がいいと思う。

175 名前:デフォルトの名無しさん [2016/11/11(金) 07:23:51.87 ID:KgVthd+h.net]
WPF攻略方法
1.Bindingの理解
2.「優れた例」でVVMM(またはMVVM)を理解する こっちはまあボチボチでもOK

MSの文書は酷いがIT−PROの文書は体裁としてはよくまとまってはいるが説明が難しい。
 第一に例が悪い。
 第二に例にセンスがない。
 第三に例の説明が下手。
単純化したシンプルな例で示さないと「俺はこんなにすごいんだぞ」みたいな
複雑な例では分からん。

176 名前:デフォルトの名無しさん [2016/11/11(金) 08:31:34.35 ID:KgVthd+h.net]
MVVMのVMってわざわざ苦労してクラスをつくる必要あるんか?
コードビハインドをVMにしたらいいんではないか? VとのIFはここで全部やった
らいいと思うがな。
なんか必要性がいまいちわからんなー。

177 名前:デフォルトの名無しさん mailto:sage [2016/11/11(金) 08:51:31.09 ID:qDFZLZyC.net]
>>172
必要性が何なのかちゃんと調べたのかい?

178 名前:デフォルトの名無しさん mailto:sage [2016/11/11(金) 09:40:30.93 ID:yIFyhkZ0.net]
DIコンテナを導入すると、VMとMの2層構造のありがたみが実感できるんだけどな

179 名前:デフォルトの名無しさん mailto:sage [2016/11/11(金) 09:43:11.94 ID:M2uBl8fv.net]
>>169
ラムダ式は、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 );

180 名前:デフォルトの名無しさん [2016/11/11(金) 13:38:45.67 ID:KgVthd+h.net]
ラムダ式なんて高級なもが巷にあふれているとは初めてしった。めったに
使わないかな。
 右も左もわからないのにアンドロイドアプリ(簡単なんだが、、)を作る
羽目になってしまった。しかしXamalinダウンロードしてみたらXamlに似ていて
驚いたわ。W
 WPFを勉強したかいがあった。これからバリバリつくってみる。



181 名前:デフォルトの名無しさん mailto:sage [2016/11/11(金) 18:30:50.13 ID:ciOc6C5W.net]
リスト操作系関数を一度使ってしまうともう戻れなくなる
例えば、List<string>をList<object>に変換したい時、
var hoge=list.map(x=>(object)x);
だけで良い。foreachとかで書くより楽で読みやすい

182 名前:デフォルトの名無しさん mailto:sage [2016/11/11(金) 18:55:28.67 ID:+ZeaIXfw.net]
名前を付けるのも馬鹿らしい単純な操作を表現するには
やっぱりラムダ式が便利だと感じる

183 名前:デフォルトの名無しさん mailto:sage [2016/11/11(金) 18:56:03.62 ID:qDFZLZyC.net]
>>176
Xamlに似てる?勘違いしてんぞお前

184 名前:デフォルトの名無しさん mailto:sage [2016/11/11(金) 18:57:11.76 ID:0OJ17qIg.net]
>>177
List<T>.ComvertAll<TOutput>(Converter<T,TOutput>)ではダメなんか?

185 名前:デフォルトの名無しさん [2016/11/11(金) 19:20:11.62 ID:KgVthd+h.net]
>179
Xamlそのものだわ。C++もC#のFormもXmalinUIもあって、3種類の開発環境がある。
まともに動けば凄いよ。W
でもサンプルを動かしたまではすんなりいったんだが署名ができないとか、文字ばけ
するとかどうも先が思いやられるのでxamalin
やめてAndroid Studioにしようかと迷ってる。こっちはJavaだけど、、

186 名前:デフォルトの名無しさん mailto:sage [2016/11/11(金) 19:58:04.56 ID:JZCe9Y2P.net]
ラムダ厨うぜー

187 名前:デフォルトの名無しさん mailto:sage [2016/11/11(金) 20:14:46.10 ID:tUVkv4AT.net]
おはようラムダ君

188 名前:デフォルトの名無しさん mailto:sage [2016/11/11(金) 20:20:02.48 ID:TqB+9XQ4.net]
ランバダなら知ってる

189 名前:デフォルトの名無しさん mailto:sage [2016/11/11(金) 20:27:50.64 ID:nfVHRfzR.net]
>>181
c#初心者スレがあるからそっちにいった方がいい
いい加減うっとおしい

190 名前:デフォルトの名無しさん mailto:sage [2016/11/11(金) 20:46:50.11 ID:KgVthd+h.net]
アッ、もうC#は卒業したんでこないよ。次はJAVAだ



191 名前:デフォルトの名無しさん mailto:sage [2016/11/11(金) 20:49:06.76 ID:nfVHRfzR.net]
それは良かった

192 名前:デフォルトの名無しさん mailto:sage [2016/11/11(金) 21:09:36.24 ID:TOO7Y3Ld.net]
ε-(´∀`*)ホッ

193 名前:デフォルトの名無しさん mailto:sage [2016/11/11(金) 22:25:05.87 ID:+gNs9Nbk.net]
>>181
XamarinはC#に相当慣れ親しんでるか、androidもiOSもそこそこやってる人がまとめて開発したいって場面以外ではまだおすすめできる状態じゃないかな
まだ情報も少ないし、ラムダ式とかイベントとかの基本を自力で調べられない人には特に厳しいと思う

194 名前:デフォルトの名無しさん [2016/11/12(土) 20:58:13.68 ID:RWma0It4.net]
古いWindowsマシンでAndoroid開発しようとすると
まずエミュレータが動かない

WindowsPhoneが頑張ってくれてたら
引き続きVisualStudioで開発できたのに
どうしてここまで差を付けられたのか

MSってエリート揃いじゃないのかな?

195 名前:デフォルトの名無しさん mailto:sage [2016/11/12(土) 21:30:04.79 ID:cIUa0gZx.net]
古いマシンで開発するやつの事なんかMSが面倒見る義理ねえよ

196 名前:デフォルトの名無しさん mailto:sage [2016/11/12(土) 23:10:09.55 ID:l9OhshgV.net]
Win10で露骨にレガシーおじさん切り捨てに来たし
流石の聖人マイクロソフトもお荷物を抱えきれなくなってきたんだろうね

197 名前:デフォルトの名無しさん mailto:sage [2016/11/13(日) 02:11:36.78 ID:PRCnkR8c.net]
xamlが嫌いなら、全部コードで書けば良いのに。
Bindingが理解出来ないのなら、全部コードビハインドで書けば良いのに。

198 名前:デフォルトの名無しさん mailto:sage [2016/11/13(日) 02:55:57.86 ID:+xp6lf8w.net]
WPFって学習コストが高い(少なくとも俺にとっては)から
苦労して覚えたものを擁護したくなる気持ちはわからんでもないけど、
10年経ってもほとんど普及してないのにはやっぱりそれなりに理由があると思う。

パフォーマンスの問題は目をつぶるとしても、個人的には可読的じゃないのが大きいと思うんだよね。
書いてるときはいいんだけど、自分が書いたものであっても後から見るとどこで何をやってるのか
ぱっと見て分からないし見当がつかない。

MVVM(正直これはあんまり理解してないんで誤解してるかもしれんが)にしてもそうだけど、
理念的に綺麗なのはわかるけど何か「これじゃない」感が強いというか、美しい理想の実現のための
コストが大きすぎるというか...

199 名前:デフォルトの名無しさん [2016/11/13(日) 09:01:19.59 ID:sNDrzqcx.net]
>194
綺麗なコードをみてみたら素晴らしさが一発でわかるとおもぞ。直感的にすぐに
わかる。わからないようなのではだめだな。

だれか194のためにだせるかな?

200 名前:デフォルトの名無しさん mailto:sage [2016/11/13(日) 09:45:56.53 ID:lb7gRuG3.net]
>>194
同意。結局世の中に求められてるのは
大ヒットしたVB6レベルなんじゃないかねえ
SOAPがはやらなかったのも一緒。



201 名前:デフォルトの名無しさん mailto:sage [2016/11/13(日) 10:23:03.20 ID:67al7/78.net]
VB6っぽくも書けるんだけどね。
ポトペタも出来るし。

202 名前:デフォルトの名無しさん [2016/11/13(日) 10:23:37.75 ID:sNDrzqcx.net]
んーーーーんと考え込むよりもサクサクと作ったほうが手数は多くても生産性が
上がる。と考える人が殆どだから?

203 名前:デフォルトの名無しさん mailto:sage [2016/11/13(日) 10:50:51.74 ID:lO2MkZMm.net]
html知っていればxamlの可読性にケチを付けること無いと思うんだが
今時html触ったことない人なんだろうか?

204 名前:デフォルトの名無しさん mailto:sage [2016/11/13(日) 11:12:37.23 ID:ZjdX2IN8.net]
>>198
んーーーーんと考え込むよりもサクサクと作れるような案件ばかりだからだろ

205 名前:デフォルトの名無しさん mailto:sage [2016/11/13(日) 11:39:53.10 ID:IKKUDTFw.net]
>>194
そんな擁護とか色眼鏡で見ないでも、単純に学習コストが高いのが一番のネックだろう。

206 名前:デフォルトの名無しさん mailto:sage [2016/11/13(日) 11:52:49.11 ID:fBLfWj6L.net]
どこで何をやってるかわからない、ってのが不思議だな
振るまいを独立にモデリングした上で、UIのどことモデルのどこを対応付けるか、を明確化するのがMVVMであり、バインディングの利点じゃん?
従来のフォーム・イベントゴリ押し的なやり方だとこれが曖昧化してしまうから、どこで何をやってるかがわからなくなる
MVVMでわけわからなくなる人はなにか根本的に間違ったことやってるんじゃないかな?

207 名前:デフォルトの名無しさん mailto:sage [2016/11/13(日) 12:15:54.37 ID:IKKUDTFw.net]
>>202
慣れてないだけだと思う

>>194
MVVMは高コストって主張も分かる。
単純な案件にはオーバースペックだし、Formsでも十分。

208 名前:デフォルトの名無しさん mailto:sage [2016/11/13(日) 14:15:44.38 ID:67al7/78.net]
こうして人は老いて逝くのかな。

209 名前:デフォルトの名無しさん mailto:sage [2016/11/13(日) 15:30:42.14 ID:zWTpia8y.net]
「フロントエンド界隈」が、声だけでかくて市場としては滅茶苦茶小さいのにに似てる

210 名前:デフォルトの名無しさん mailto:sage [2016/11/13(日) 19:32:23.00 ID:wHFHc9ra.net]
フロントエンドプロセッサ



211 名前:デフォルトの名無しさん mailto:sage [2016/11/13(日) 19:51:43.67 ID:6IaE8voh.net]
MVVMはOOPと相性悪いよな
間違った変更は拒絶して例外を投げるのが基本のOOP
間違った変更を一時的に受け入れて(そのかわりエラーを状態の一部として持つ)コミット時に不変条件を満たせば良いMVVM
Formsなら例外をキャッチしてメッセージを出して入力を戻すだけでいいからOOP的に正しいモデルをそのまま再利用できる
要するにビューがドメインモデルについてよく知らなくてもビジネスルール的に正しい状態に保つことができる
MVVMだとビュー及びビューモデルがビジネスルール的に正しいか正しくないかということを知っていなければならない
それはビューやビューモデルではなくドメインモデルが管理すべき情報でしょ

212 名前:デフォルトの名無しさん mailto:sage [2016/11/13(日) 22:40:30.15 ID:67al7/78.net]
レイヤーが違うと思うけど。

難しいから全部フラットで良いよ。

213 名前:デフォルトの名無しさん mailto:sage [2016/11/14(月) 17:11:40.86 ID:iSq4NCna.net]
var dic1 = new Dictionary<string, string>() { { "key", "value" } };
var dic2 = new Dictionary<string, string> { { "key", "value" } };
どちらでも動くようなのですが、カッコは付けるほうが良いですか?

214 名前:デフォルトの名無しさん mailto:sage [2016/11/14(月) 19:10:02.84 ID:xSfNgSMs.net]
>>209
お好きな方で。

今なら
{["key"] = "value"}
の方が解りやすいかも。

215 名前:デフォルトの名無しさん mailto:sage [2016/11/14(月) 22:10:40.45 ID:p26anzny.net]
テキストボックスの入力欄A, B, Cがある
A, Bは自由入力欄、CはA * Bを出力する読み取り専用(A, Bが変化したら即座に再計算される)
A, Bに数値と解釈できない文字列(decimalに変換できない文字列)が入力された場合、即座にERRVALという文字列に置き換える
Cが計算不能な場合、ERRVALという文字列に置き換える
このような画面をWPFで作成したいのですがViewModelとxamlはどのように書けばいいでしょうか?

216 名前:デフォルトの名無しさん mailto:sage [2016/11/14(月) 22:57:37.38 ID:2SylIT9P.net]
それだけ決まっててむしろどこに悩んでるのさ

217 名前:デフォルトの名無しさん mailto:sage [2016/11/14(月) 23:09:54.35 ID:p26anzny.net]
>>212
他のプログラマがどう書くか参考にしたいです

218 名前:デフォルトの名無しさん mailto:sage [2016/11/15(火) 00:54:17.56 ID:gSjda41/.net]
>>199
htmlにはCSSがあるから見た目は外に出せる

219 名前:デフォルトの名無しさん mailto:sage [2016/11/15(火) 07:18:35.80 ID:wcWx6QZb.net]
>>213
ならまず自分がどう書いたかを晒せよ

220 名前:デフォルトの名無しさん mailto:sage [2016/11/15(火) 07:47:41.89 ID:AaicVHah.net]
キー入力ミスったら最初から入力しなおしな典型的な糞ソフト仕様だな



221 名前:デフォルトの名無しさん mailto:sage [2016/11/15(火) 08:30:57.20 ID:9/yxKzNn.net]
>>213
ReactivePropertyのサンプルならググれば見つかるから参考にすりゃいいよ

222 名前:デフォルトの名無しさん mailto:sage [2016/11/15(火) 10:37:08.44 ID:9/yxKzNn.net]
>>214
xamlを腐しているやつは、xamlを全然知らないんだな

223 名前:デフォルトの名無しさん mailto:sage [2016/11/15(火) 11:29:28.89 ID:f/VYzzwV.net]
XAMLをよく知っているやつがちゃんとした説明してるの見たことない

224 名前:デフォルトの名無しさん mailto:sage [2016/11/15(火) 12:05:59.99 ID:Sy8HLWAK.net]
>>219
残念なやつ

225 名前:デフォルトの名無しさん mailto:sage [2016/11/15(火) 12:12:58.11 ID:f/VYzzwV.net]
というように人格否定しかできない

226 名前:デフォルトの名無しさん mailto:sage [2016/11/15(火) 12:39:21.59 ID:Sy8HLWAK.net]
>>221
顔真っ赤www

227 名前:デフォルトの名無しさん mailto:sage [2016/11/15(火) 14:14:09.51 ID:EsNZ5iro.net]
と、知ったかは発狂するのであった

228 名前:デフォルトの名無しさん mailto:sage [2016/11/15(火) 17:55:17.20 ID:idS/rHgA.net]
CSSはxml形式じゃないから良い
必要なところで必要な形を使うのが良い

229 名前:デフォルトの名無しさん mailto:sage [2016/11/15(火) 18:43:22.99 ID:IxpYJQnb.net]
全然使われてないのは書店(Amazonでもいいけど)に行くとあからさまにラインナップがしょぼいからすぐ分かる
mizchiと取り巻きの声だけやたらデカいReactみたいなもんだ

230 名前:デフォルトの名無しさん mailto:sage [2016/11/15(火) 22:31:04.10 ID:YqUWOmsB.net]
>>214
style等は外に出せるぞ。



231 名前:デフォルトの名無しさん mailto:sage [2016/11/16(水) 10:35:34.62 ID:hL8zHUS9.net]
中はやめてー

232 名前:デフォルトの名無しさん mailto:sage [2016/11/18(金) 23:01:26.36 ID:+QqWh5ch.net]
変数aがnullならbもnullにして、
aがnullでないならaを用いてmyfuncの計算結果をbに入れたいのですが、

var b = (a == null) ? null: myfunc(a);

こんなふうにしたのですが、もっとスッキリ書けそうな気がするのですが、
思い付きません。
もっとスッキリ書けますか?

233 名前:デフォルトの名無しさん mailto:sage [2016/11/18(金) 23:08:28.42 ID:2P9KWEZx.net]
myfuncの戻り値を考え直せとしかwwwwwwwwwwww

234 名前:デフォルトの名無しさん mailto:sage [2016/11/19(土) 01:56:09.52 ID:eBIxsLr/.net]
>>228
var b = a?.myfunc(a);

235 名前:デフォルトの名無しさん mailto:sage [2016/11/19(土) 01:57:55.29 ID:eBIxsLr/.net]
とおもったらmyfuncはaのメソッドじゃないのね
230は間違い。忘れてくだされ

236 名前:デフォルトの名無しさん mailto:sage [2016/11/19(土) 03:57:45.25 ID:gmVZjmNi.net]
myfunc(null)がnullを返すようにすれば
b = myfunc(a)で済むんだがなぁ
まあきっとそうではない何かをする関数なんだろうな

おれならaやbがnullである事に特別な意味があったり、myfuncを呼ばない事に特別な意味があるなら
ちゃんとif文書くけどな

237 名前:デフォルトの名無しさん mailto:sage [2016/11/19(土) 10:29:56.40 ID:0bgRfGhz.net]
>>229
string myfunc(string a){
 if(a==null)
  return null;

を追加したらスッキリしました!

238 名前:デフォルトの名無しさん mailto:sage [2016/11/19(土) 11:12:00.41 ID:6I7N2mEo.net]
aってstringだったのか…
余計なことを言いたくなるなあ…

239 名前:デフォルトの名無しさん mailto:sage [2016/11/19(土) 11:15:09.05 ID:ZfUdGYAZ.net]
スッキリワロタ

どうしてもならジェネリックの拡張メソッドを作っとく手もあったね。

240 名前:デフォルトの名無しさん mailto:sage [2016/11/19(土) 17:50:29.26 ID:t3MBfDke.net]
nullを返す関数を作ると後々災いの元



241 名前:デフォルトの名無しさん mailto:sage [2016/11/19(土) 17:52:57.62 ID:E8arxXAw.net]
かと言ってstringで""を返す関数を作っても後々災いの元

242 名前:デフォルトの名無しさん mailto:sage [2016/11/19(土) 17:55:21.80 ID:VKIYWaqI.net]
>>236
またその話か
それはないよ。

243 名前:デフォルトの名無しさん mailto:sage [2016/11/19(土) 23:03:49.26 ID:0bgRfGhz.net]
>>236
なんで?

244 名前:デフォルトの名無しさん [2016/11/20(日) 00:13:29.86 ID:BknfpFpO.net]
暫く使ってみたがWPFというかMVVMはやっぱり良くないな
暫定的にとはいえ不正な状態のオブジェクトを受け入れるってのが致命的にコードを汚くする
カプセル化で状態を保護するのが基本のオブジェクト指向に喧嘩売ってるとしか思えない

245 名前:デフォルトの名無しさん mailto:sage [2016/11/20(日) 00:26:32.91 ID:K2ib4r+U.net]
>>239
その関数使う使う時に一々nullチェックするの面倒。
それを忘れない保証もどこにもないし。

246 名前:デフォルトの名無しさん mailto:sage [2016/11/20(日) 00:30:59.63 ID:ckE9xegj.net]
>>241
何という頭の悪さ。

nullを禁止したらnullを返すことで表現していたことを
もっと面倒な別の方法で呼び出し側に伝達する必要が生じるんだけど。

何でこんな簡単なことが分からないのかね。

247 名前:デフォルトの名無しさん mailto:sage [2016/11/20(日) 01:00:26.85 ID:KPo4Qlq+.net]
FindFirstみたいなメソッドでマッチしない場合にnullじゃないオブジェクトを
返されたとしてもどのみちチェックする必要が出てくる

248 名前:デフォルトの名無しさん mailto:sage [2016/11/20(日) 01:09:39.51 ID:X8MMRSH3.net]
null返す関数禁止じゃなくてnull代入禁止型にしてくれ

249 名前:デフォルトの名無しさん mailto:sage [2016/11/20(日) 01:27:12.98 ID:K2ib4r+U.net]
>>242
勉強不足

250 名前:デフォルトの名無しさん mailto:sage [2016/11/20(日) 01:38:16.74 ID:K2ib4r+U.net]
>>244
C#7.0か8.0に期待。



251 名前:デフォルトの名無しさん mailto:sage [2016/11/20(日) 02:13:42.33 ID:ckE9xegj.net]
期待するだけ無駄。

馬鹿じゃなきゃちょっと考えればわかるはずだが、
必ず既定値で初期化されるようにするにしろ初期化なしの変数宣言ができないようにするにしろ、
nullを許容することの弊害とは別のより大きい弊害や利便性の低下を生むだけ。

だいたい、nullを許容することの弊害なんて大半はそれを主張してる奴が勘違いしてるだけだ

252 名前:デフォルトの名無しさん mailto:sage [2016/11/20(日) 02:22:5 ]
[ここ壊れてます]

253 名前:9.08 ID:9PtzIqGH.net mailto: 老害臭が半端無いんだが。 []
[ここ壊れてます]

254 名前:デフォルトの名無しさん mailto:sage [2016/11/20(日) 02:25:15.52 ID:ckE9xegj.net]
年齢の問題じゃないね。
馬鹿かそうでないか、それだけの問題

255 名前:デフォルトの名無しさん mailto:sage [2016/11/20(日) 05:58:45.20 ID:2ye3zmI2.net]
>>244
nullを返す関数や変数にnullを代入する処理をよく使うのですが、
それで混乱した経験も無いのですが、なぜ、
 nullを返す関数
 変数にnullを代入
に反対する人がいるのでしょうか?

256 名前:デフォルトの名無しさん mailto:sage [2016/11/20(日) 07:22:58.86 ID:pCJ1qvOZ.net]
>>250
>>241と同じ

257 名前:デフォルトの名無しさん mailto:sage [2016/11/20(日) 08:05:54.92 ID:2ye3zmI2.net]
>>251
>その関数使う使う時に一々nullチェックするの面倒。
>それを忘れない保証もどこにもないし。
この意味が分からないのですが、関数を使うときにnullチェックする
と言うのは何ですか?
関数がnullを返す場合もあるように自分でそうしているわけだから
何も問題ないと思いますが。

258 名前:デフォルトの名無しさん mailto:sage [2016/11/20(日) 08:15:43.24 ID:pCJ1qvOZ.net]
>>252
理解できない奴には理解できないからもう気にするな。null禁止にしても同じ問題起きるしw

259 名前:デフォルトの名無しさん mailto:sage [2016/11/20(日) 08:27:09.27 ID:2ye3zmI2.net]
>>253
気になるんです。
教えてください。

260 名前:デフォルトの名無しさん mailto:sage [2016/11/20(日) 08:32:27.43 ID:w/pS54nD.net]
そもそもこれは戻り値がstring限定の話じゃないの?
普通のオブジェクトでnull禁止はありえないからね



261 名前:デフォルトの名無しさん mailto:sage [2016/11/20(日) 08:43:15.40 ID:pCJ1qvOZ.net]
>>255
(nullでなく()デフォルト値を入れた空のオブジェクトを返すって考え方もあるからオブジェクトでも同じだよ
そもそも1つの戻り値で関数失敗成功情報まで返そうとするのが間違い

262 名前:デフォルトの名無しさん mailto:sage [2016/11/20(日) 08:47:01.08 ID:3blV6AGf.net]
値型は null にならないのでそれで用は足る。面倒なのは、Stringだかが。昔のBASIC の文字列型のように実装した値型を用意すれば解決。

263 名前:デフォルトの名無しさん mailto:sage [2016/11/20(日) 09:29:50.43 ID:2ye3zmI2.net]
>>257
>面倒なのは、String
C#で文字列を扱っていてnullの扱いで面倒だと感じた経験が
一度もないのですが、Stringでnullがなぜ面倒なのですか?

264 名前:デフォルトの名無しさん [2016/11/20(日) 09:42:15.04 ID:BknfpFpO.net]
nullは情報を捨ててしまうから可読性が低くなる
エラー許容型を作ってそれを使うのが定石

Errorable<string> s = func();

if(s.HasNoError) WriteLine(s.Value);
else WriteLine(s.ErrorMessage);

if(s.NotFound) ...
if(s.AuthError) ...
if(s.FormatError) ...
...

265 名前:デフォルトの名無しさん mailto:sage [2016/11/20(日) 09:59:28.46 ID:Y223jndk.net]
>>259
> その関数使う使う時に一々nullチェックするの面倒。
> それを忘れない保証もどこにもないし。
全然改善されてないだろ w
てか、その例なら素直に例外使えよ

266 名前:デフォルトの名無しさん mailto:sage [2016/11/20(日) 10:11:47.90 ID:GbOcvoRT.net]
IsNullアンチパターンみたいだね

267 名前:デフォルトの名無しさん mailto:sage [2016/11/20(日) 10:12:24.08 ID:wbF3tHCA.net]
>>260
チェックなしでValueにアクセスしたら例外を投げる
Errorableという名前が見えることによってチェックを忘れるということを回避できる
チェックがめんどくさいという怠惰さには手の施しようがないがnullやエラーコードと違ってチェック方法が統一化できる点も優れている

268 名前:デフォルトの名無しさん mailto:sage [2016/11/20(日) 10:27:40.57 ID:9PtzIqGH.net]
もう一歩踏み込んで、Maybe。
Valueプロパティは、もちろん無し。

269 名前:デフォルトの名無しさん mailto:sage [2016/11/20(日) 10:30:00.58 ID:X8MMRSH3.net]
宗教としてC#にアイデンティティを代替している連中(貧乏人ほどオリンピックが好きなのと同じ)なのに
仕様を否定したって聞き入れる訳ないじゃん

ヘジにアントニー・ホーアの言葉をどう考えるか聞いた奴がいるが
なんて答えたか知らないんだろうし
(あるいは、C#に間違いがあってはならないから目をつぶっているか、そもそも英語は読めないか)

270 名前:デフォルトの名無しさん mailto:sage [2016/11/20(日) 10:30:10.23 ID:9PtzIqGH.net]
>>250
ぼっちで書いてる時は、好きにする宜し。



271 名前:デフォルトの名無しさん mailto:sage [2016/11/20(日) 10:35:26.28 ID:2ye3zmI2.net]
文字列の場合にはNullも "" も同じだと思えばいいよね

272 名前:デフォルトの名無しさん mailto:sage [2016/11/20(日) 10:37:02.45 ID:NgPgW0rj.net]
参照型とnull許容型は別の概念にするべきだったと言ってるし
現在、null非許容型を破壊的にならないように言語仕様を変えよう(追加しよう)としている。

将来を全て見通せる人は、いないと言う事だよ。

273 名前:デフォルトの名無しさん mailto:sage [2016/11/20(日) 10:38:09.66 ID:Y223jndk.net]
>>262
> チェックなしでValueにアクセスしたら例外を投げる
ならはじめから例外でいいだろ

> Errorableという名前が見えることによってチェックを忘れるということを回避できる
マジで言ってるの?
チェックする箇所には変数名しか見えないんだが...
まあ IDE でいちいち型を確認すればいいんだろうけど、エラーチェック忘れるような奴はそう言う型の確認も忘れるわけで...

> チェックがめんどくさいという怠惰さには手の施しようがないがnullやエラーコードと違ってチェック方法が統一化できる点も優れている
たぶん思い付きで書いてるんだろうけど例えば Errorable<string> の
> if(s.AuthError) ...
って何を返すの?
自作のクラスで新しいエラー状態をチェックしたい時はどうするの?
いちいち Errorable を派生させたりしたらチェック方法が統一できないしどうするつもり?

274 名前:デフォルトの名無しさん mailto:sage [2016/11/20(日) 10:40:19.54 ID:Y223jndk.net]
>>266
お前さんがそれでいいならなんの問題もない

275 名前:デフォルトの名無しさん mailto:sage [2016/11/20(日) 10:48:41.71 ID:NgPgW0rj.net]
>>249
最近は若くても「老害」みたいな人が少なくないよね。

新しい事を覚える・勉強するのを嫌がる。
現状のやり方を変えるのを恐れる。
現状維持大好き。

良いか悪いは別問題だけど。

276 名前:デフォルトの名無しさん mailto:sage [2016/11/20(日) 10:58:38.68 ID:wbF3tHCA.net]
>>268
初めから例外を投げるではチェックのためにtryを書かなければならない
パフォーマンスが悪いしifで分岐する処理を書きたいという場面では構文的に不利で不適切

変数の型が見えなくなるほど長いスコープは普通は書かないので考慮しなくて良い

エラーというのは幾つかの典型的なエラーに分類可能
例であげたようにNotFoundやAuthErrorといった幾つかの典型的なエラーを定義しておけば良い
新しいエラーを定義する必要はない

277 名前:デフォルトの名無しさん mailto:sage [2016/11/20(日) 11:34:52.66 ID:Y223jndk.net]
>>271
> パフォーマンスが悪いしifで分岐する処理を書きたいという場面では構文的に不利で不適切
まあ、これはいいとして

> 変数の型が見えなくなるほど長いスコープは普通は書かないので考慮しなくて良い
フィールドとかには使えないってことでいいかな?

> エラーというのは幾つかの典型的なエラーに分類可能
へー、すごいね w

> 例であげたようにNotFoundやAuthErrorといった幾つかの典型的なエラーを定義しておけば良い
で、Errorable<string> の AuthError ってなにさ

> 新しいエラーを定義する必要はない
自称エスパーのお前はそうなんだろうね w

278 名前:デフォルトの名無しさん mailto:sage [2016/11/20(日) 11:43:29.92 ID:lYnhz1xv.net]
null非許容型が追加されたら便利だなーとは思う
「nullをなくせ」という意見にはまったく賛同できないが

エラー許容型は、エラーの種類を enum で返すプロパティを付けたものをよく作る
(エラー種類ごとにプロパティ作るようなことはしない)
でも、nullで済む場合も多いんだよね

279 名前:デフォルトの名無しさん [2016/11/20(日) 11:43:53.85 ID:kKwT4/wt.net]
>>272
はぁ

今は返り値の話をしているんだろ
そもそもオブジェクトの内部状態であるフィールドがエラーを受け入れるのが間違いって基本的なことになんで思い至らないのか

すごいっていうか、常識
人間がどんだけエラー処理と付き合ってきたと思ってるんだ?

AuthErrorは認証、認可のエラー
2chの書き込みだから横着して省略したがこれらは普通は別にする

nullを見ただけでエラー内容がわかる歴史上類を見ないほどに強力なエスパーの君にはかなわないよ
プログラマにしておくのは勿体無いから新しい宗教でも立ち上げることをお勧めするよ

280 名前:デフォルトの名無しさん mailto:sage [2016/11/20(日) 11:47:36.19 ID:pCJ1qvOZ.net]
変数にエラーコードを入れるっていう発想がもうw



281 名前:デフォルトの名無しさん mailto:sage [2016/11/20(日) 11:47:38.25 ID:GbOcvoRT.net]
>>266
その考えの場合はnullじゃなくて、""を返すのも良いかもね。

282 名前:デフォルトの名無しさん mailto:sage [2016/11/20(日) 11:56:23.29 ID:Y223jndk.net]
>>274
> そもそもオブジェクトの内部状態であるフィールドがエラーを受け入れるのが間違いって基本的なことになんで思い至らないのか
え?
オレオレスタイルをどや顔で言われても困るんだが w

> これらは普通は別にする
結局 Errorable<string> と Errorable<database> は別に作るってことかよ...
チェック方法が統一出来るとかほざいてたのにね w

283 名前:デフォルトの名無しさん [2016/11/20(日) 12:10:20.24 ID:kKwT4/wt.net]
>>277
はぁ

オレオレスタイルではなくオブジェクト指向の基本

別に作らないよ
君は超人的エスパーだから何をどう考えてそういう答えにたどり着いたのか常人にはちょっと理解しがたいんだ
これからはそのことを考慮して常人にもわかるように丁寧に意見して欲しい

284 名前:デフォルトの名無しさん mailto:sage [2016/11/20(日) 12:10:41.53 ID:zFrmc+0J.net]
>>266
オラクルですね

285 名前:デフォルトの名無しさん mailto:sage [2016/11/20(日) 12:23:00.48 ID:L/fyhMFX.net]
>>277
みっともないから、もう止めとけ。

286 名前:デフォルトの名無しさん mailto:sage [2016/11/20(日) 12:30:03.99 ID:Y223jndk.net]
>>278
オレオレスタイルは宗教だろうから教祖さんと争う気はないよ w

で、
> これらは普通は別にする
の意味を説明してみ

287 名前:デフォルトの名無しさん mailto:sage [2016/11/20(日) 12:30:42.62 ID:Y223jndk.net]
>>280
お前がな w

288 名前:デフォルトの名無しさん [2016/11/20(日) 12:37:01.76 ID:kKwT4/wt.net]
>>281
この文脈でauth errorと省略せずにauthentication errorとauthorization errorに分けるという意味以外に何があるんだ?
君は何をどう考えてErrorable<string>とErrorable<database>は別に作るという考えに到達したの?
ジェネリック型の新しい使い方を編み出したの?
ハイレベルすぎてついていけないよ
一体何段階思考手続きをスキップできればこの境地にたどり着けるのか

289 名前:デフォルトの名無しさん mailto:sage [2016/11/20(日) 12:38:10.81 ID:aCqfb5MR.net]
数字の0が無かった時代に0の発明を否定する人みたいだな。

290 名前:デフォルトの名無しさん mailto:sage [2016/11/20(日) 12:43:24.41 ID:h3zFIm5r.net]
何度も言うけどnullを追放したって問題Aが別の問題Bに置き換わるだけ。
そして普通に考えれば問題Bの悪質性はAより大きくなる場合の方が多いだろう。

nullガーって吠えてる馬鹿って何でこの程度のことが分からんかね。

(a) 値がnullであることで問題が顕在化した

からといって

(b) nullの存在が問題の原因

であるとは限らない。
この程度のことも分からない奴はプログラマ辞めろよ本当



291 名前:デフォルトの名無しさん mailto:sage [2016/11/20(日) 12:45:41.10 ID:2ye3zmI2.net]
>>279
そう、
オレオレスタイルではなてく
オラクルスタイルだ。

292 名前:デフォルトの名無しさん mailto:sage [2016/11/20(日) 12:53:48.90 ID:Jza3G5L3.net]
結局メソッドがエラーを返せるようにするにはどうするのが一番いいの?

293 名前:デフォルトの名無しさん mailto:sage [2016/11/20(日) 12:54:07.99 ID:Y223jndk.net]
>>283
> この文脈でauth errorと省略せずにauthentication errorとauthorization errorに分けるという意味以外に何があるんだ?
そんな話は全くしてないが?
そんなのどうでもいいから
>> で、Errorable<string> の AuthError ってなにさ
の答えを書けよ w

294 名前:デフォルトの名無しさん mailto:sage [2016/11/20(日) 12:54:12.13 ID:L/fyhMFX.net]
まさに、井の中の蛙 (´・ω・`)

295 名前:デフォルトの名無しさん mailto:sage [2016/11/20(日) 12:57:21.73 ID:L/fyhMFX.net]
>>287
1つの手段は、エラー種類と「値」のタプルを返す。
これだと、エラー処理を強制は出来んけどね。

296 名前:デフォルトの名無しさん mailto:sage [2016/11/20(日) 12:57:41.85 ID:Y223jndk.net]
>>289
上から目線で意味のないこと言ってるけどどうしたの?
ここ仮にも技術系の板だから話に加われないなら黙っていてくれるとありがたいんだが

297 名前:デフォルトの名無しさん mailto:sage [2016/11/20(日) 17:21:32.25 ID:XK08TpAy.net]
エラーはほとんどの場合例外でいいよ
でも例外が使えない場面もあるんだよなぁ

298 名前:デフォルトの名無しさん mailto:sage [2016/11/20(日) 18:54:25.34 ID:34y1pXq0.net]
>>287
エラーと言ってもいろんなレイヤーでいろんな事があるわけで
結論としてはケースバイケースでどれが一番とか決めれない

これを理解できずに単一の方法ですべてやろうとするからおかしな話になるわけで
まあ、宗教論はその宗旨に納得できる点がある場合もあるけど、他の宗教を認めないのがなぁ

299 名前:デフォルトの名無しさん mailto:sage [2016/11/20(日) 19:03:56.76 ID:eCa9a5kv.net]
例外を投げないパターンはここらへんを読むといいんじゃない?
一般的とは行かなくても、オレオレではない
faithandbrave.hateblo.jp/entry/2014/05/30/153325
ufcpp.net/blog/2016/11/nullproblem/
www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4015.pdf

300 名前:デフォルトの名無しさん mailto:sage [2016/11/20(日) 19:18:59.75 ID:V9rEuhsa.net]
nullable-likeの提案は良いね



301 名前:デフォルトの名無しさん mailto:sage [2016/11/20(日) 19:26:56.04 ID:w/pS54nD.net]
nullを排除するために、何故ここまで複雑に作る必要があるのか理解出来ん
普通にnull使えよw

302 名前:デフォルトの名無しさん mailto:sage [2016/11/20(日) 19:31:08.12 ID:34y1pXq0.net]
単にnullの取り扱いから、例外処理についてに話が拡大してるからな

303 名前:デフォルトの名無しさん mailto:sage [2016/11/20(日) 19:46:59.71 ID:ELwGw4ow.net]
null排除派はごく一部いるけど市民権を得てない
メリットが薄いから

3 == i と言う書き方みたいにこだわる人だけこだわる

304 名前:デフォルトの名無しさん mailto:sage [2016/11/20(日) 20:23:01.03 ID:JNgwCyth.net]
今後iOS開発の主流になるだろうSwiftがnull非許容ベースだから
将来的には分からないかもよ

305 名前:デフォルトの名無しさん mailto:sage [2016/11/20(日) 20:32:56.89 ID:ixFUSBgZ.net]
信者にそんな話しても無駄

306 名前:デフォルトの名無しさん mailto:sage [2016/11/20(日) 20:42:02.87 ID:RSV7nlYW.net]
null あってもいいって言ってるのはなきゃなでも構わない人が大半じゃないかと思う。
Swift が非許容でそれを使う必要があるなら、それの流儀でなんの苦もなく対応しそう。

そんなことに拘ってるのはオレオレな一部の人だけじゃねーのかなぁ。。

307 名前:デフォルトの名無しさん mailto:sage [2016/11/20(日) 21:02:17.68 ID:2AHf550w.net]
異教徒にそんな話しても無駄

308 名前:デフォルトの名無しさん mailto:sage [2016/11/20(日) 22:12:22.04 ID:eCa9a5kv.net]
>>296
それを言い出すとなにも言語仕様がいじれなくなっちゃう
Javaとかは進化が停滞して今必死に挽回してるし

もちろん、実装や文法の複雑さと利点を天秤にかけるのは常にしてるので、Roslynのissueとかを見てみると良いよ。
もっと変なのもたくさんある

qiita.com/koher/items/e4835bd429b88809ab33
を見るとわかるが、実際に各言語がnull安全に取り組んでる

309 名前:デフォルトの名無しさん mailto:sage [2016/11/20(日) 23:25:18.49 ID:OrHcogku.net]
null安全ねえw
そういう発想をする人ってよくいう「例外を握りつぶす」コードを書いちゃうタイプなんだろうなとは思うわ。
言いたいことは理解できるが全く同意はできない。
それはただの錯誤だからな。

安全どころか、nullであれば容易に発見できたバグをわざわざ発見困難にするだけ。
何がうれしいんだそんなの。

310 名前:デフォルトの名無しさん mailto:sage [2016/11/21(月) 00:24:21.34 ID:hlf3slD2.net]
ScalaのOption使ってみた感想
・今までは無効な値(null)を返す可能性がある事は、ドキュメントを読まないと分からなかったけど定義だけで分かるから便利
・分解が色々な方法で出来て便利
まあなくても何とかなるけど、あれば便利程度



311 名前:デフォルトの名無しさん mailto:sage [2016/11/21(月) 01:11:30.92 ID:fZvEw43o.net]
F#にもoptionあるけど死ぬ程便利だわw
先ず、エラーを握り潰す事が出来ない。
ドキュメントを読む必要が無い。
monadとして扱うと、一々ifで分岐書く手間がなくなる。
eitherまで踏み込めば、検査例外云々で議論する事自体が馬鹿らしくなる。
面倒くさいけどねw

C#のint?を使った事ある人には解ると思う。
コンパイラに事前チェックをしてもらえる有り難みが。
機械に解る単純作業?に対して、人間が一々苦労する馬鹿らしさが。

312 名前:デフォルトの名無しさん mailto:sage [2016/11/21(月) 01:16:13.30 ID:fZvEw43o.net]
それから、初心者に対してこそ効果抜群だよ。
「そう書く」事しか出来ないから。
強制出来るから。

313 名前:デフォルトの名無しさん mailto:sage [2016/11/21(月) 01:34:00.10 ID:CO+aVjyU.net]
検査例外も出たときは素晴らしい機能だって絶賛されてたような気がするなぁ

314 名前:デフォルトの名無しさん mailto:sage [2016/11/21(月) 02:03:53.66 ID:n+GSTHBL.net]
検査例外は他に誰も採用しなかったけど
Optionalはこぞって採用されているという決定的な違いがある

315 名前:デフォルトの名無しさん mailto:sage [2016/11/21(月) 02:04:20.65 ID:n+GSTHBL.net]
あ、ごめん
C#perにそんなこと言っても分からないよね(苦笑)

316 名前:デフォルトの名無しさん mailto:sage [2016/11/21(月) 11:12:26.42 ID:Ka0MFQDU.net]
ん?Optional?VBの話?

317 名前:デフォルトの名無しさん mailto:sage [2016/11/21(月) 11:41:21.77 ID:hLpmxTjl.net]
グラディウスだろ

318 名前:デフォルトの名無しさん mailto:sage [2016/11/21(月) 17:31:28.36 ID:fZvEw43o.net]
>>310
このスレにもいるような「老害」は少数派だよ



と信じたい。

319 名前:デフォルトの名無しさん mailto:sage [2016/11/21(月) 20:45:41.48 ID:HLjti5+r.net]
実際、エラーの扱いは時代によって色々変わってきてるからね
null安全の手法はこれからの主流になっていくのかもしれない
そんで、また数年後には新しいやり方に置き換えられるんだろう

320 名前:デフォルトの名無しさん mailto:sage [2016/11/21(月) 21:06:27.63 ID:4A1pLeCT.net]
エラーの扱いじゃなくてヒューマンエラーを未然に防ぐのが意図でしょnull安全ってのは。
その意図は認めるけど、null安全がその目的に対して合理的とは全く思わんがね



321 名前:デフォルトの名無しさん mailto:sage [2016/11/21(月) 21:15:05.95 ID:fZvEw43o.net]
option型とnull安全は重なってる部分もあるけど、意味としてズレてる部分もある。
例えば、C#の値型でもoption型は有意義な訳で。

322 名前:デフォルトの名無しさん mailto:sage [2016/11/21(月) 22:30:24.18 ID:wfKopLFy.net]
サードパーティーライブラリーを使えない前提でオブジェクトのマッピングを手軽に行うにはなにを使う?
パフォーマンスはあまり気にしていない
同名同型のプロパティをマッピングできれば十分
今のところシリアライザーで誤魔化してる感じ

323 名前:デフォルトの名無しさん mailto:sage [2016/11/22(火) 00:16:30.64 ID:QATijxTL.net]
null安全よりstring?.lengthの方が合理的に見えるわ
最初からならともかく、ここまで普及したC#で今更取り入れて定着するのは難しいよな

324 名前:デフォルトの名無しさん mailto:sage [2016/11/22(火) 06:51:43.66 ID:y8FHZWuV.net]
>>318
> 最初からならともかく、ここまで普及したC#で今更取り入れて定着するのは難しいよな
これには同意するけど

> null安全よりstring?.lengthの方が合理的に見えるわ
これはないわ
string が null になる可能性がないなら普通に string.length って書いた方がエラーが早期にわかるからデバッグも楽だし

325 名前:デフォルトの名無しさん mailto:sage [2016/11/22(火) 07:50:04.91 ID:vhsrXRxU.net]
?.もnull安全の一環な気はする。

ちなみに、null非許容型導入の影響で、?.を使っていない箇所は全てwarning扱いになる話もあったりする。

326 名前:デフォルトの名無しさん mailto:sage [2016/11/22(火) 13:10:29.71 ID:bfu4FZ0h.net]
string?.length
これって式の左辺に何書くの?

int? hoge
とか?
で結局hoge==nullとか聞いちゃうの?

?.演算子は参照型と値型のペアでは使いにくいし分かりにくいと思う

327 名前:デフォルトの名無しさん mailto:sage [2016/11/22(火) 17:09:05.83 ID:EJKURZYz.net]
君ら一体何を議論してるの?
分かりやすく解説してくれ

328 名前:デフォルトの名無しさん mailto:sage [2016/11/22(火) 17:11:14.76 ID:VnsYzvlz.net]
Optionalの是非というか使い所の話でないの?

329 名前:デフォルトの名無しさん mailto:sage [2016/11/22(火) 19:57:46.66 ID:vhsrXRxU.net]
>>321
例えば
int len = str?.Length ?? 0;

330 名前:デフォルトの名無しさん mailto:sage [2016/11/22(火) 20:13:33.64 ID:ga0p/qoV.net]
C++の参照は良いものだった



331 名前:デフォルトの名無しさん mailto:sage [2016/11/23(水) 10:56:47.19 ID:Sj0D9A4Y.net]
>>325
なんで過去形?

332 名前:デフォルトの名無しさん mailto:sage [2016/11/23(水) 11:55:24.93 ID:Sj0D9A4Y.net]
stackoverflow.com/questions/22595655/how-to-do-a-dictionary-reverse-lookup
このページで
dictionary.FirstOrDefault
とやっていますがディクショナリーにFirstOrDefaultを
やるとなぜこういう結果になるのですか?

333 名前:デフォルトの名無しさん mailto:sage [2016/11/23(水) 13:27:10.63 ID:GLuKyrfg.net]
>>327
何を「何故」と思ってるか分からん

334 名前:デフォルトの名無しさん mailto:sage [2016/11/23(水) 18:46:09.31 ID:QXjR6WNV.net]
>>327
Dictionaryは、IEnumerable<KeyValuePair>を実装しているから。

335 名前:デフォルトの名無しさん mailto:sage [2016/11/23(水) 19:25:46.80 ID:Sj0D9A4Y.net]
>>328
FirstOrDefault って最初の要素を取って来るんじゃないんですか?
何故全ての要素をループ出来るんですか?

336 名前:デフォルトの名無しさん mailto:sage [2016/11/23(水) 19:44:53.91 ID:GLuKyrfg.net]
>>330
『引数の条件に一致した』最初の要素ね。
内部的には列挙子で探してるよ。

337 名前:デフォルトの名無しさん mailto:sage [2016/11/23(水) 19:48:19.93 ID:4RFw+AHR.net]
列挙子=enum ・・・

338 名前:デフォルトの名無しさん mailto:sage [2016/11/23(水) 19:49:49.71 ID:dUmyuUeh.net]
列挙子はIEnumeratorですw

339 名前:デフォルトの名無しさん mailto:sage [2016/11/23(水) 20:19:45.57 ID:Sj0D9A4Y.net]
>>331
そういうことですか。
良く分かりました。
皆さん、ありがとうございました。

340 名前:デフォルトの名無しさん mailto:sage [2016/11/23(水) 20:45:31.10 ID:mr7aPRRr.net]
>>322
時代の流れについて行けないおじいちゃん達をいかに介護するかの議論だよww



341 名前:デフォルトの名無しさん mailto:sage [2016/11/24(木) 09:15:21.21 ID:DNYUjCey.net]
プロジェクトA C#DLLライブラリ
プロジェクト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オペレーションでビルドできるようにしたい
なんとかなりませんか?

342 名前:デフォルトの名無しさん mailto:sage [2016/11/24(木) 09:36:13.90 ID:iMAQMNBa.net]
そういうのは依存してるとは言わない

aだけビルドするsln、bcだけビルドするsln作っておいて
aだけビルドするabcのslnでbcはポストビルドイベントでコマンドラインビルド、
bcだけビルドするabcのslnでaはプリビルドイベントでコマンドラインビルドとか?

343 名前:デフォルトの名無しさん mailto:sage [2016/11/24(木) 14:18:54.69 ID:G2Ig6Dqz.net]
>>336
Webサイトって、Webアプリとは違ってランタイム側でビルドするんじゃなかったっけ?

344 名前:デフォルトの名無しさん mailto:sage [2016/11/24(木) 18:57:30.96 ID:/9TZdtP5.net]
>>336
プロジェクトCを4.0指定で実行させれば良いんじゃ

>>338
webサイトにもプリコンパイルってのがある
VSがサポートしてるのかどうかはしらんが

345 名前:デフォルトの名無しさん mailto:sage [2016/11/24(木) 22:53:33.34 ID:5QlniI4z.net]
教えて下さい。

C# で Windows のサービスプログラムを書きました。
その中でプロセス間通信を使いたく、パイプ(NamedPipeServerStream/NamedPipeClientStream)の利用を考えました。

サービスプログラムはそのままだとデバッグが面倒なので、
そのサービスプログラムを参照したフォームプログラムを作ってバグ取りをしました。
フォームプログラムからは、ボタンを押すことでサービスの開始や停止の処理をそっくり呼ぶようにしています。

ここで、
・フォームプログラムでは、問題なくパイプの送受信が出来る
・サービスプログラムでは、パイプの送受信が出来

346 名前:ネい
 ただし、サービスを止めるときにパイプの待ち受けを終了させるために、同じプログラム内から送信するデータは送受信できている
 ⇒ 実際に待ち受けを抜けているので同プログラム内では出来ていると思われる

と言う状態になりました。
サービスプログラム内でプロセス間通信、この場合は名前付きパイプですが、の使用に制限などはあるのでしょうか。
他の要因を考えるべきか悩みました。情報があれば教えていただけると助かります。
[]
[ここ壊れてます]

347 名前:デフォルトの名無しさん mailto:sage [2016/11/25(金) 01:40:52.65 ID:gI/r9WkT.net]
>>340
セッション0のアクセス権限の問題。

namedpipeclientstream-can-not-access-to-namedpipeserverstream-under-session-0
stackoverflow.com/questions/13174660/

348 名前:デフォルトの名無しさん mailto:sage [2016/11/25(金) 10:25:47.20 ID:2+oHnkxr.net]
fw3.5からfw4.0以上のdllを参照する方法ないかなぁ?

349 名前:デフォルトの名無しさん mailto:sage [2016/11/25(金) 15:18:07.17 ID:6J0+Q2dT.net]
>>341
よくそんなのぱっと出てくるなあw

350 名前:340 mailto:sage [2016/11/25(金) 23:09:50.97 ID:Oc8F6euI.net]
>>341
やっぱりそういうのがあったんですね。。
対策を考えます。
ありがとう。



351 名前:デフォルトの名無しさん mailto:sage [2016/11/26(土) 00:37:00.99 ID:pkHe6RQg.net]
上のリンク先の回答みたいにPipeSecurityとか適切に設定してやればいいんじゃないの

352 名前:デフォルトの名無しさん mailto:sage [2016/11/26(土) 15:34:45.46 ID:w/Dhvdu8.net]
WindowsのAPIだからC#とは直接的には関係ないけど教えてほしい。
特定のウィンドウにキーボードイベントを送信しようと考えている。
keybd_eventを使用してキーボードイベントの送信する事は成功した。
ちなみに第二引数のスキャンコードは使用しない、みたいな事を書いてあるサイト(MSDN含む)が多かったが
スキャンコードを指定しないと対象アプリがキーボード処理を受け付けてくれなかったため指定してある。
対象アプリがバックグラウンド中であっても操作しようと考えてSendMessage(またはPostMessage)に変更しようとしたのだが
スキャンコードはどこにどのように設定すればいいのだろう?
第四引数のlParamであろうと言う事は想像がつくが、スキャンコードをそのまま設定しても駄目だった。

353 名前:デフォルトの名無しさん mailto:sage [2016/11/26(土) 16:13:12.18 ID:dXHq99jt.net]
>>346
WM_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を吐くウィンドウプロシージャでも作ると良い

354 名前:347 mailto:sage [2016/11/26(土) 16:22:01.70 ID:dXHq99jt.net]
> 離すときはWM_KEYUPにして32ビットを立てる
うっかりミスった、30〜31ビットね
WM_KEYDOWN時のlParam | 0xC0000000する形

355 名前:347 mailto:sage [2016/11/26(土) 16:37:54.65 ID:dXHq99jt.net]
あ、そもそもC#でもウィンドウプロシージャオーバーライド出来たっけ
protected override void WndProc(ref Message m) {
base.WndProc(ref m);
if(0x0100 <= m.Msg && m.Msg <= 0x0102) Text = m.ToString();
}
とか適当なフォームでやれば実際のウィンドウメッセージが確認できるよ

356 名前:デフォルトの名無しさん mailto:sage [2016/11/26(土) 17:19:55.67 ID:w/Dhvdu8.net]
>>347-349
非常に参考になった。
これを元にキー送信処理を作り直すことにするよ。

357 名前:340 mailto:sage [2016/11/26(土) 21:03:56.05 ID:ZtR+Z7Wd.net]
>>341,345
昨日はまだ調べていませんでした。
341 に書いていただいた URL の方法で普通に出来ました。
ありがとう。

358 名前:デフォルトの名無しさん mailto:sage [2016/11/27(日) 21:23:49.80 ID:I1ny1q/I.net]
妙な質問だけど、今2ch以外でユーザー同士でC#関連の質問解答ができるコミュニティーって、

- MSDNフォーラム
- わんくまの掲示板
- DOBON.NETの掲示板

質問して答えが返ってきそうなのはこのぐらい?
あ、別にマルチで質問投げてやろうとかそういう意図ではないので念のため

359 名前:デフォルトの名無しさん mailto:sage [2016/11/28(月) 00:18:17.41 ID:n0A2uJuC.net]
ja.stackoverflowはもう泣く以外の道ないなw

360 名前:デフォルトの名無しさん mailto:sage [2016/11/28(月) 00:18:37.64 ID:VTugBhJZ.net]
>>352
StackOverflow一択だろ



361 名前:デフォルトの名無しさん mailto:sage [2016/11/28(月) 00:23:13.14 ID:fF5TvHl5.net]
google翻訳少し賢くなったんだから「このページを翻訳する」で結構使える

362 名前:デフォルトの名無しさん mailto:sage [2016/11/28(月) 01:04:22.51 ID:v97E8kC6.net]
>>352
最近はteratailもありかも
あとは、.NET共通のことならVB中学校も一応あり

363 名前:デフォルトの名無しさん mailto:sage [2016/11/28(月) 01:42:44.60 ID:9T0ZytTv.net]
>>353-354
stackoverflowって日本語版もあったのかw
ありがとう

>>356
teratailはまったく知らなかったありがとう。

364 名前:デフォルトの名無しさん mailto:sage [2016/11/28(月) 03:25:24.52 ID:PwcZf+No.net]
あとはQA@ITとか

365 名前:デフォルトの名無しさん mailto:sage [2016/11/28(月) 04:33:07.21 ID:VTugBhJZ.net]
>>357
日本語限定ってどこかに書いてあったっけ?

366 名前:デフォルトの名無しさん mailto:sage [2016/11/28(月) 19:31:45.97 ID:FcPInj/k.net]
>>359
>- MSDNフォーラム
>- わんくまの掲示板
>- DOBON.NETの掲示板
日本語って一目で分かるだろ

367 名前:デフォルトの名無しさん mailto:sage [2016/11/28(月) 19:35:28.66 ID:MT+LNPN6.net]
落ち着けよハゲのブラザー

368 名前:デフォルトの名無しさん mailto:sage [2016/11/28(月) 21:09:47.26 ID:SXoUdBtU.net]
>>354は stackoverflow.com のつもりで書いたが>>357は ja.stackoverflow.com を見つけて、
日本語版の存在を知らなかった>>354>>357を皮肉と受け取った。

369 名前:デフォルトの名無しさん mailto:sage [2016/11/28(月) 21:23:26.86 ID:C8x/B1Vp.net]
>>360
バカの連鎖反応

370 名前:デフォルトの名無しさん mailto:sage [2016/11/28(月) 21:35:12.23 ID:Efu8jG2p.net]
人脈作れば全部解決だろ
Xamarinユーザー見習えよ



371 名前:デフォルトの名無しさん mailto:sage [2016/11/28(月) 22:05:43.16 ID:/OQd0iyQ.net]
元の質問者の>>352だけど、質問の仕方がまずかったなら謝るけど
無意味に喧嘩腰でつっかかるのはどうかと思うよ

意図としては英語も排除しないけど日本語のを中心に教えて欲しかった。
英語は読むのは何とか読めても書く(質問する)のは結構つらいっすわ。

372 名前:デフォルトの名無しさん mailto:sage [2016/11/29(火) 15:41:26.31 ID:07zLg605.net]
>>364
あのオタサー集団と同列に見られるのは非常に辛い

373 名前:デフォルトの名無しさん mailto:sage [2016/11/30(水) 08:32:18.72 ID:rOv2n/Yl.net]
axwindowmediaplayerで次、前のボタンにイベントを割り当てるのはどうしたらいいですか。
this.axWindowsMediaPlayer1.Ctlcontrols.next += new AxWMPLib.なんちゃらなどで記述?
ボタン自体もグレーアウトしていて使えない状態です。

再生などのボタンは初めから再生が割り当てられていてなにも記述しないでもよかったのですが。

374 名前:デフォルトの名無しさん mailto:sage [2016/11/30(水) 11:01:13.74 ID:U6G+25fY.net]
AxWindowsMediaPlayerでそんな細かい制御はできない
currentPlaylistとかでIWMPMedia管理すればそれらも使えるようになるはず
組み込みのプレイリスト使いたくないならUIも自分で全部やる

375 名前:デフォルトの名無しさん mailto:sage [2016/11/30(水) 16:39:10.32 ID:y2jQ/DIV.net]
LINQのQuantifierの日本語訳なんだけど、MSDNだと量指定子、
岩永さんのところだと限定子となってるけど、どっちがより適切だと思う?

https://msdn.microsoft.com/ja-jp/library/bb546128(v=vs.120).aspx
ufcpp.net/study/csharp/sp3_stdqueryo.html#quantifier

376 名前:デフォルトの名無しさん mailto:sage [2016/11/30(水) 23:23:25.49 ID:rOv2n/Yl.net]
>>368
ありがとう。プレイリストがよさそうです。

377 名前:デフォルトの名無しさん mailto:sage [2016/12/01(木) 09:05:41.40 ID:ySUX8EsS.net]
>>369
語義的には量指定子じゃない
quantityが量だから

378 名前:デフォルトの名無しさん mailto:sage [2016/12/01(木) 18:33:51.23 ID:CcMyBcAe.net]
でも量指定子って正規表現的な言い回しだよな。
SQL的な言い回しだとALL,ANY,SOMEとかは限定子になるはず。

software.fujitsu.com/jp/manual/manualfiles/M100005/J2X17484/01Z200/J7484-00-02-11-06.html

379 名前:デフォルトの名無しさん mailto:sage [2016/12/01(木) 18:37:08.39 ID:CcMyBcAe.net]
ただまあ本家が量指定子ってるんだから、量指定子が正式用語ではあるだろうけど。

380 名前:デフォルトの名無しさん mailto:sage [2016/12/01(木) 18:39:48.63 ID:lOA8D/0g.net]
英語のまま使ってもらいたい



381 名前:デフォルトの名無しさん mailto:sage [2016/12/01(木) 19:00:45.21 ID:74fND9I4.net]
そもそもそんなキーワードを使う場面が思い浮かばない…

382 名前:デフォルトの名無しさん mailto:sage [2016/12/02(金) 00:05:35.89 ID:ui5LUeC9.net]
AnyとAllとContainsをまとめて分類しただけの言葉のようだが、禿しくどうでも良い

383 名前:デフォルトの名無しさん mailto:sage [2016/12/02(金) 00:27:24.78 ID:57Q76p9I.net]
一般的な呼び方じゃ量化子だよな。

384 名前:デフォルトの名無しさん [2016/12/02(金) 06:58:37.23 ID:jL2K9FKD.net]
LINQは日本語ではなに? LINQは英語のままで量化子だけ日本語てのは
運用の誤り。
無理やり日本語にするならクオンティフィアでいいと思うがゴミみたいな
概念をわざわざ日本語にするのはよくない。説明的に日本語で「量化を
意味する」のように使うのは問題ないが、「量化子」のように語彙にして
しまうのはよくない。英語のまま運用するのがよい。

385 名前:デフォルトの名無しさん [2016/12/02(金) 07:09:43.00 ID:jL2K9FKD.net]
訂正
このサイトの説明では
Any,All,Conttainsを総合的に説明するのが目的だからLINQという具体的な
ものよりは上位概念だな。この場合は限定子で正しいと思う。
量指定、量化はちょっと違うな。

386 名前:デフォルトの名無しさん mailto:sage [2016/12/02(金) 07:21:27.21 ID:iUEu5k7c.net]
LINQは固有名詞だから訳しようがないけど量化子はすでに記号論理学でも使われてる一般名詞だろ

387 名前:336 mailto:sage [2016/12/02(金) 07:48:29.69 ID:GGzlnXmJ.net]
めんどくさいから英語のままでいいってのはある

388 名前:デフォルトの名無しさん mailto:sage [2016/12/02(金) 10:36:52.50 ID:X9iN1GdM.net]
明治の人に謝るべき暴言。

389 名前:デフォルトの名無しさん mailto:sage [2016/12/02(金) 14:59:21.44 ID:rEQGNTwO.net]
>>380
LINQはLanguage Integrated Queryを省略してるだけだから日本語化できるでしょ(してもらいたくないが)
OPEC〜石油輸出国機構みたいに訳してる例は多い

390 名前:デフォルトの名無しさん mailto:sage [2016/12/02(金) 17:36:35.56 ID:8D4FZt7r.net]
>>383
してみ



391 名前:デフォルトの名無しさん mailto:sage [2016/12/02(金) 17:40:15.92 ID:DaaN/lCj.net]
383ではないが、『言語に統合された問い合わせ』
・・・ないわ

392 名前:デフォルトの名無しさん mailto:sage [2016/12/02(金) 18:09:20.76 ID:rEQGNTwO.net]
>>384
統合言語クエリって単語がすでにある。クエリも訳したら統合言語処理要求か?

393 名前:デフォルトの名無しさん mailto:sage [2016/12/02(金) 19:38:47.97 ID:4/nN0nxx.net]
組込問合せ機能 辺りでいいんじゃね?

394 名前:デフォルトの名無しさん mailto:sage [2016/12/02(金) 20:25:58.53 ID:fkVt0GEN.net]
統合失調言語

395 名前:デフォルトの名無しさん mailto:sage [2016/12/02(金) 20:31:59.72 ID:57Q76p9I.net]
「LINQは LINQ Is Not Queryの略」とか言い出して、その後「LINQはLINQ。略語や頭字語じゃない」とか言い出す。

396 名前:デフォルトの名無しさん mailto:sage [2016/12/02(金) 20:59:04.23 ID:fqYy1w3v.net]
一体誰のことを揶揄した気になっているのかね

397 名前:デフォルトの名無しさん mailto:sage [2016/12/02(金) 21:09:36.57 ID:ui5LUeC9.net]
横だがストールマン以外の誰と言うんだよ

398 名前:デフォルトの名無しさん [2016/12/04(日) 09:09:46.43 ID:HFDVK7VF.net]
おまえら言語センスがないな。「問式」でOK。今後日本語でのLINQこれだ。

399 名前:デフォルトの名無しさん mailto:sage [2016/12/04(日) 09:20:34.29 ID:a6Aihxwg.net]
Bingに聞いたらLINQの日本語訳はLINQでいいってさ
マイクロソフトのお墨付きだからこれが正解な

400 名前:デフォルトの名無しさん mailto:sage [2016/12/04(日) 09:42:24.52 ID:zAL6lz1+.net]
Binqに聞いたらLINQの日本語での質問はLINEQでいいってさ
に見えた



401 名前:デフォルトの名無しさん mailto:sage [2016/12/04(日) 10:29:28.25 ID:U0Kel+uM.net]
こういう関数を作ったら
void func<T>(T obj, string name) {

  obj[name] = ...

}

[name]の部分でエラーが出ます。
こういう関数は作れませんか?

402 名前:デフォルトの名無しさん mailto:sage [2016/12/04(日) 10:41:15.33 ID:0sR5hBHN.net]
すべてのクラスが this[string] を持つわけじゃないから…
自分がTに入れたいクラスをwhere T: で指定しては

403 名前:デフォルトの名無しさん mailto:sage [2016/12/04(日) 11:15:31.06 ID:U0Kel+uM.net]
>>396
ありがとうございました。
上手く行きました。

404 名前:デフォルトの名無しさん mailto:sage [2016/12/04(日) 12:05:02.46 ID:OeUSkEhR.net]
ジェネリックは使いにくいよな
C++みたいな仕様にしてくれりゃいいのに

405 名前:デフォルトの名無しさん mailto:sage [2016/12/04(日) 12:33:20.31 ID:sIaSQQRI.net]
>>398
あほす

406 名前:デフォルトの名無しさん mailto:sage [2016/12/04(日) 12:56:13.33 ID:3+5uaoN5.net]
C++のテンプレートの糞エラーは酷いよな
C#みたいにしてくれりゃあいいのにww

407 名前:デフォルトの名無しさん mailto:sage [2016/12/04(日) 13:58:45.59 ID:VS/jD7cp.net]
>>398
なんでわざとあんな文法になってると思うんだよ
JIT言語の特長を最大限に活かすためだぜ
コンパイラ言語みたいに使うコードを全てあらかじめ生成しておくわけではなく
Tでnewされた時に初めてコードを生成するからメモリ使用量も少ない

ただ利点はそのまま欠点にもなる
T型同士の演算コードを書くとたちまちエラーになるのでdynamic型にキャストするとかしないとな

408 名前:デフォルトの名無しさん mailto:sage [2016/12/04(日) 15:28:39.35 ID:UcElfbev.net]
dynamicにするとbox/unboxが発生するから式木で殴る解決策あったな

409 名前:デフォルトの名無しさん mailto:sage [2016/12/04(日) 19:05:36.47 ID:U4ZfHibQ.net]
ガッチガチにチューニングしようとすると式木やILを触る必要があってツライ

410 名前:デフォルトの名無しさん mailto:sage [2016/12/04(日) 19:37:47.45 ID:OeUSkEhR.net]
コンパイルするタイミングを実行時に移すだけだろ
プログラマがCodeDOMや式木でやってる退屈で定型的なプロセスを自動化するだけじゃん
マイクロソフトの怠慢だよこれは



411 名前:デフォルトの名無しさん mailto:sage [2016/12/05(月) 00:12:25.29 ID:wzEk6zml.net]
>>402
dynamicの偉大な点は勝手に内部で式木に変換してしかもそれをキャッシュしてくれるから
完全なリフレクションに比べて速度的にそんなに不利ではない

ufcpp.net/study/csharp/misc_dynamic.html

ここら辺が有名だよな

412 名前:デフォルトの名無しさん mailto:sage [2016/12/05(月) 01:54:32.46 ID:kX3Q4svv.net]
>>404
だいぶ違うぞ
プログラミング学び直したほうがいい

413 名前:デフォルトの名無しさん mailto:sage [2016/12/05(月) 02:10:45.39 ID:u0DsEOY/.net]
使いにくいと言う奴の99%は理解してないだけだからな
1%くらいには李左車の言うように有意義な指摘もあろうが
それは404ではないだろう

414 名前:デフォルトの名無しさん mailto:sage [2016/12/05(月) 03:06:07.61 ID:TC/GOrDD.net]
使いやすいという奴は仕事で使ってない

415 名前:デフォルトの名無しさん mailto:sage [2016/12/05(月) 07:38:13.09 ID:FYlXKnN9.net]
>>406
お前は黙ってJavaかVBでもやってろ

416 名前:デフォルトの名無しさん mailto:sage [2016/12/05(月) 16:46:58.81 ID:5hp1IXjD.net]
>李左車
誰だよ?

417 名前:デフォルトの名無しさん mailto:sage [2016/12/05(月) 17:16:33.12 ID:uj/2rcDx.net]
さーしゃちゃん知らないってモグリかよ

418 名前:デフォルトの名無しさん mailto:sage [2016/12/05(月) 17:35:03.83 ID:PG/Hzji5.net]
クポ?

419 名前:デフォルトの名無しさん mailto:sage [2016/12/08(木) 00:12:08.98 ID:/aGxLpEu.net]
AWS LambdaでC#が使えるようになったらしいな
Googleも.NETの開発に参加したことだし、本格的に波が来ている

420 名前:デフォルトの名無しさん mailto:sage [2016/12/08(木) 05:07:13.06 ID:Vn/geEUt.net]
ついにJava終わったか



421 名前:デフォルトの名無しさん [2016/12/08(木) 13:08:55.01 ID:0EWqwyqo.net]
C#というより.NETの質問なんですがいいでしょうか?
リストビューの各項目のクリックを拾いたいんですが方法ありますか?
例えば以下の様な構成になってる場合「山田」のクリックとか「21歳」のクリックとかを
拾いたい感じです。
---------------------
[項目1][項目2][項目3]
山田  20歳  東京
斎藤  22歳  埼玉
戸川  21歳  千葉
---------------------
やっぱりクリックイベントから現在選択されている項目を取得する
という方法が一番でしょうか?

422 名前:デフォルトの名無しさん mailto:sage [2016/12/08(木) 13:14:33.65 ID:h9KBoTPl.net]
>クリックイベントから現在選択されている項目を取得する
という方法で何か困っていることがあるならそれを書くのが早い

423 名前:デフォルトの名無しさん mailto:sage [2016/12/08(木) 13:15:32.08 ID:RR5e4yCq.net]
行と列両方いるならListViewHitTestInfo

424 名前:デフォルトの名無しさん mailto:sage [2016/12/08(木) 13:33:02.23 ID:0EWqwyqo.net]
>>417
おぉ〜クリックイベントに以下でイケました!>>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());

425 名前:デフォルトの名無しさん [2016/12/08(木) 14:57:23.01 ID:vKAf8GkY.net]
カスタムコントロールについて教えてください。

Fontと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; }
}

426 名前:デフォルトの名無しさん mailto:sage [2016/12/08(木) 18:44:29.79 ID:Ayid3Uvv.net]
>public Font Font { get; set; }
>public Color Color { get; set; }

C#では、クラス名を、2回も書けるのか?

427 名前:デフォルトの名無しさん mailto:sage [2016/12/08(木) 18:47:17.57 ID:6K2Be21z.net]
>>420
public 型名 プロパティ名 {get;set;}
public Object Object(){
  return null;
}
って書けるのと同じ

428 名前:デフォルトの名無しさん mailto:sage [2016/12/08(木) 18:48:35.47 ID:6K2Be21z.net]
C#はフィールドとローカル変数はhogeFooで、プロパティ、メソッド、クラス、名前空間はHogeFooだから結構型名と被る事多いよ

429 名前:デフォルトの名無しさん mailto:sage [2016/12/09(金) 01:37:38.58 ID:nk5rcDEa.net]
>>419
とりあえずこんな感じ
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

430 名前:419 [2016/12/09(金) 09:31:24.99 ID:pxgVwarY.net]
>>423
おおおおおおおおおおお!!!!!!!
ありがとうございます♪さっそく試したところうまくいきました!!
これだけでかなりコード量が減るのでホントたすかりました;w;

ありがとうございますm(_ _)m



431 名前:デフォルトの名無しさん mailto:sage [2016/12/09(金) 11:25:46.06 ID:nQ2cVzw4.net]
質問者じゃないけど、>>419のコードというか、List<T>じゃダメな理由は何なんだろう
AddRangeの引数の型がT[]じゃないから?

432 名前:デフォルトの名無しさん [2016/12/09(金) 12:43:50.54 ID:73dS9ox0.net]
C#でWindows.formアプリを勉強中なんですが
controlとの絡みばかりでクラスを作って色々やるといったことなく出来上がってしまいます
複雑化すればそうもならないのでしょうか。。

433 名前:デフォルトの名無しさん mailto:sage [2016/12/09(金) 13:56:37.83 ID:3kVVURfS.net]
>>426
単純なアプリだとそんなもんだよ
規模が大きくなってきても、ある程度まではその流儀でやれなくはないけど、そのうち
プログラムの見通しが悪くなって、メンテする際にイライラする事が多くなって、
やり方を変えたくなってくる

434 名前:デフォルトの名無しさん [2016/12/09(金) 18:10:47.21 ID:73dS9ox0.net]
>>427
ありがとうございます
頑張ってみます

435 名前:デフォルトの名無しさん mailto:sage [2016/12/09(金) 18:31:58.73 ID:IAKedM2U.net]
ドカタ開発だとそのままのノリで大きなシステム作っちゃうけどね
共有していいのはDBだけ、あとはコピペ上等で画面単位でぶった切れ、という開発スタイルなら設計スキルが無くても容易にスケールするよ
まあ一度書いたものは弄らないことが大前提のやり方なので、後で大きな仕様変更が入ったら炎上するんだけど

436 名前:デフォルトの名無しさん mailto:sage [2016/12/09(金) 20:14:42.74 ID:RJlryFXO.net]
>>429
特定企業への破壊工作を目的とする場合以外に絶対にやってはいけないアーキテクチャパターンランキング第1位のやつじゃん

437 名前:デフォルトの名無しさん mailto:sage [2016/12/09(金) 20:54:48.40 ID:0cPrt4mX.net]
>>430
とはいえ日本の高度経済成長を支えた伝統ある開発手法だからね
低スキルな要員で案件を確実に終わらせて逃げることに関しては現代においても最強よ
古典的なウォーターフォールが正しく機能してるなら客の後出し要件なんか無視できるんだし

438 名前:デフォルトの名無しさん mailto:sage [2016/12/09(金) 21:03:09.07 ID:SmYH2aqj.net]
その頃のシステムのリプレイスで付けを払わされて炎上してるところいっぱいありそう

439 名前:デフォルトの名無しさん mailto:sage [2016/12/09(金) 21:12:50.85 ID:0cPrt4mX.net]
>>432
しかしそのツケを払うのは当時のSIerではなく客だ
際限なく肥大化する保守費用、しかしリプレースしようにも見積は天文学的な金額になる
売る側にとっちゃメリットしかないんだよ

440 名前:デフォルトの名無しさん mailto:sage [2016/12/09(金) 21:22:01.74 ID:4/j9vJm7.net]
コメントしっかりしててすげー綺麗なコード書く奴いるけど
いつもスケジュール間に合わず動かず役に立たず。ぎりぎりになると周りがフォローよ



441 名前:デフォルトの名無しさん mailto:sage [2016/12/09(金) 21:38:16.31 ID:RJlryFXO.net]
>>431
借金は日本のお家芸だな
日本中でそれやってビジネス停滞してんだから国家的損失はデカイ

442 名前:デフォルトの名無しさん mailto:sage [2016/12/09(金) 21:41:54.69 ID:inzQIL9U.net]
>>433
そこで魔法の言葉「過去資産の流用」が出て来るのか

443 名前:デフォルトの名無しさん mailto:sage [2016/12/09(金) 21:50:33.79 ID:YFW7nsEC.net]
>>433
マジで経験したことないやろ
そんな案件の尻拭いってモチベーションだだ下がりやし
二度と経験したくない

444 名前:デフォルトの名無しさん mailto:sage [2016/12/09(金) 22:28:31.44 ID:RJlryFXO.net]
レガシーシステムのリファクタリングは楽しい
でもリファクタリングをしたら正しく動いてるものに触るなと怒られる
ジャアアアアップ

445 名前:デフォルトの名無しさん mailto:sage [2016/12/09(金) 22:32:26.54 ID:o6zCM5vx.net]
>>438


446 名前:デフォルトの名無しさん mailto:sage [2016/12/09(金) 23:11:31.83 ID:SjD2GByw.net]
周りにC#プログラミングをやっている人がおらず、推奨/非推奨の判断ができないので相談させてください
次のような書き方はアリでしょうか

たとえばWindowsフォームアプリケーションのForm1クラスの
直下に
Regex.CacheSize = 100;
などとほかのクラスのプロパティ代入文を書くとエラーでコンパイルが通りませんが、これを
int dummy_int = Regex.CacheSize = 100;
というようにダミーの変数代入を噛ませれば、
コンパイルエラーを起こすことなく書くことができてしまいます

これは普通に使われるようなテクニックですか?
それとも仕様上はコンパイルできるがあまり好ましくない書き方ですか?

447 名前:デフォルトの名無しさん mailto:sage [2016/12/09(金) 23:20:41.59 ID:SmYH2aqj.net]
使っちゃ駄目。
上の書き方でコンストラクタ内とかで設定。

448 名前:デフォルトの名無しさん mailto:sage [2016/12/09(金) 23:22:54.69 ID:AFnkuo0i.net]
考えたこともなかったからちょっと感心したわ
視点の違いってすごいわ

449 名前:デフォルトの名無しさん mailto:sage [2016/12/09(金) 23:39:59.90 ID:pDhW8mKL.net]
コンストラクタが呼ばれた時に暗黙的に変数の初期化が走るとは言え上手くいくのだろうか。
普通はコンストラクタかForm1がロードされた時に代入かな。

450 名前:デフォルトの名無しさん mailto:sage [2016/12/09(金) 23:45:53.15 ID:SjD2GByw.net]
>>441
ありがとうございます、やっぱりダメですか
ちなみにどういった理由でダメなんでしょう

実際には色々なクラスの色々な所でRegexオブジェクトを定義しているので
なるべく早くキャッシュサイズを拡大したいんですが、
(あまりProgram.csは触りたくないけど)素直にMain()内に書くしかないんでしょうか

>>443
ステップ実行してみたら、Form1のコンストラクタ(InitializeComponent();)よりも前に実行されてました



451 名前:デフォルトの名無しさん mailto:sage [2016/12/09(金) 23:51:08.34 ID:vatll/rz.net]
>>440
こんな仕様初めて聞いたんだが、誰かkwsk

452 名前:デフォルトの名無しさん mailto:sage [2016/12/10(土) 00:10:15.56 ID:htA28gv+.net]
>>442 >>444
int a=b=100;
みたいな書き方ができること自体は以前どこかで読んだことがあったものの
なんとなく気持ち悪くてこれまで使ったことがなかったのですが、
最近改めて=演算子の戻り値と演算順序(先に実行される「b=100」の結果が100を返すので
それがaにも代入される)を勉強したところだったので、コンパイルできるかなと思ったらできてしまいました

453 名前:デフォルトの名無しさん mailto:sage [2016/12/10(土) 00:11:39.47 ID:htA28gv+.net]
>>446は442と>>445へのレスでした。

454 名前:デフォルトの名無しさん mailto:sage [2016/12/10(土) 00:14:55.08 ID:HOF4U6Im.net]
>>446
それは分かる
でも何故エラーが出なくなるのかって話

455 名前:デフォルトの名無しさん mailto:sage [2016/12/10(土) 00:24:59.06 ID:mt2BmPb5.net]
そもそも単なる文法上の制約だからだろ

そういう制約をわざわざ付けてるってことは、そういう事はやるべきじゃないって思想の表現だと思うが

456 名前:デフォルトの名無しさん mailto:sage [2016/12/10(土) 02:21:43.03 ID:XBbQ6S0E.net]
>>444
横だし俺はC#専門ではないけど、それってコンストラクタ内に書けばいいだけだよね。
果たして>>440で動くのかも疑問だけど、
仮に動いたとしても、ダミー変数がインスタンス内に残ってしまうのが無駄だよね。

そもそも a=b=c の書き方自体をしない。(ただしRubyの連中はするのかもしれない)
何故かは知らんが、おそらく見にくいという主張をする奴が多いからだろう。
どのみち普通はコーディングルールで禁止してあるし、
行数をケチる以外のメリットもないからいちいち文句を言う価値もないし。

457 名前:デフォルトの名無しさん mailto:sage [2016/12/10(土) 02:29:36.15 ID:THyFY8cN.net]
>>444
単純に分かり難いから。このスレの反応見ても、普通使わなそうなのが見て取れるでしょ。

Program.csが嫌でなるべく早くというなら、Form1のコンストラクタが良いんじゃないの。
Form1のコンストラクタよりも先である必要ってないでしょ。

458 名前:デフォルトの名無しさん [2016/12/10(土) 03:10:58.12 ID:jJfPnpDE.net]
static IDisposable SubscribeTracer<T>(this IObservable<T> source, string name) {
var 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

459 名前:デフォルトの名無しさん [2016/12/10(土) 03:13:11.24 ID:jJfPnpDE.net]
MSの説明 ラムダ式(C#プログラミングガイド)
ラムダ式は、デリゲート型または式ツリー型を作成するために使用できる匿名関数です。 ラムダ式を使用すると、引数として渡したり関数呼び出しの結果値として返すことができるローカル関数を記述できます。 ラムダ式は、LINQ クエリ式を記述する場合に特に便利です。
以下省略(間違いがおおすぎ、、、、)

1行目から間違ってるよな。W デリゲート型をつくるのは delegate int del(int i); この部分で
あって
del myDelegate = x => x * x;
これではないな。
2行目も間違ってるよな。w ローカル関数ってのはC#7(VS2017)からなのでまだサポート
ないだろ。

460 名前:デフォルトの名無しさん [2016/12/10(土) 04:49:24.16 ID:jJfPnpDE.net]
delegate void del(string valule);
static string _name;
static IDis



461 名前:posable 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で書き換えてみたがコンパイルエラーになる。なんでだ?
[]
[ここ壊れてます]

462 名前:デフォルトの名無しさん mailto:sage [2016/12/10(土) 08:12:40.98 ID:htA28gv+.net]
>>450-451
なるほど、見にくい・分かりづらいというのは同意見です
(自分もint a=b=0みたいな表現は今回の件まで一度も使おうとしなかったので)
ただ、Form1のコンストラクタに書いても
実行順序はForm1のメンバ変数定義より後回しになってしまうようなので…

Form1のメンバ変数としてRegexオブジェクトを大量に定義しているので
もっと早くキャッシュサイズを拡張しないと意味ないのかな?と

463 名前:デフォルトの名無しさん [2016/12/10(土) 09:33:27.42 ID:jJfPnpDE.net]
すまん。454は自己解決した。
そもそもIObservableをまったく理解してなかった。

464 名前:デフォルトの名無しさん mailto:sage [2016/12/10(土) 10:41:12.43 ID:scmr7sdZ.net]
>>455
メンバ変数の初期化もコンストラクタでやったらどうかな?

465 名前:デフォルトの名無しさん mailto:sage [2016/12/10(土) 12:31:00.36 ID:rHn5Q6ti.net]
>>455
変な小細工せずにForm1のコンストラクタを呼び出す前に書くのが筋だと思う。

っていうか、Regexあんまり使わないので自信ないけど、そもそもRegex.CacheSizeなんか設定しなくても
RegexのコンストラクタでRegexOptions.Compiledを指定すれば済むんじゃないの?

466 名前:デフォルトの名無しさん mailto:sage [2016/12/10(土) 12:43:23.50 ID:rHn5Q6ti.net]
smdn.jp/programming/netfx/regex/1_regex_cached_compiled/
↑によるとCacheSizeが影響するのはスタティックメソッドを使う場合だけ?

>>455はRegexのインスタンスを生成してるみたいだから、だったらそもそもCacheSizeの
設定は無意味ってことかな。

467 名前:デフォルトの名無しさん mailto:sage [2016/12/10(土) 12:53:41.37 ID:rHn5Q6ti.net]
考えてみたら、どっからでもアクセスできちゃうstaticなプロパティの値が
個々のインスタンスの挙動に影響を与えるような筋悪な設計は
普通はありえないよな

468 名前:デフォルトの名無しさん mailto:sage [2016/12/10(土) 12:59:36.57 ID:9rLOEiC0.net]
>>459
>>455も設定先はstaticでしょ。そうしないとエラーになるはず

469 名前:デフォルトの名無しさん mailto:sage [2016/12/10(土) 14:07:24.95 ID:8ZN9Ra/9.net]
キャッシュが影響するのはRegex.IsMatchみたいな静的メソッド使うときだけ
new Regexする時はキャッシュ関係ないと思う

あと、フィールドの初期化はわかりにくいので軽くて副作用のないものだけにした方が良い
正規表現の作成が時間食うなら、コンストラクタで行った方があとあと変更するときによい

470 名前:デフォルトの名無しさん mailto:sage [2016/12/10(土) 14:32:08.61 ID:ZQIWZdV9.net]
>(あまりProgram.csは触りたくないけど)
ドンドン触れ!
変なこだわりは捨てるべき



471 名前:デフォルトの名無しさん mailto:sage [2016/12/10(土) 16:30:39.28 ID:SuPtWdia.net]
分かっててあえてやってるなら大きなお世話かもしれんけど、
そもそも処理をFormに書いちゃうところから間違ってるな

472 名前:デフォルトの名無しさん mailto:sage [2016/12/10(土) 18:25:04.69 ID:9rLOEiC0.net]
>>464
世話焼くならForm1って名前からにしろ

473 名前:デフォルトの名無しさん mailto:sage [2016/12/10(土) 18:42:35.17 ID:L/PQ4lRu.net]
自前で適当に作ってる自分用アプリならネーミングセンス(とデフォルト名変更)についてとやかく言う必要は無いがな。

474 名前:デフォルトの名無しさん mailto:sage [2016/12/10(土) 19:02:21.05 ID:YyXkI5ew.net]
Form1とかの名前、あれはもうつけかえるのはやめにしたんだ

475 名前:デフォルトの名無しさん mailto:sage [2016/12/10(土) 19:07:08.15 ID:BtzSATc1.net]
ListViewのItemを高速に消す方法はないでしょうか?
BeginUpdateをしていても遅くて。3万件のItemから29800件消すといった場合です。

476 名前:デフォルトの名無しさん mailto:sage [2016/12/10(土) 19:17:12.33 ID:htA28gv+.net]
>>459 >>462
インスタンスの場合はキャッシュ関係ないんですね…勘違いしてました

>>458後半
コンパイルすればキャッシュは無関係、というわけではなかったと思います
キャッシュが少ない状態で何種類ものパターンで静的メソッド(コンパイルオプションつき)を使うと
何度もコンパイルされる羽目になるはずです

>>463
キャッシュの拡大はRegexを使うクラス内に書いておきたいという気持ちがあるんですが
「なるべく早めに」ということならやはりMain()&#8206;に書いた方がいいのかなあ…

477 名前:デフォルトの名無しさん mailto:sage [2016/12/10(土) 19:19:43.47 ID:0TBYagU6.net]
つうかいいか
そういうのはコードじゃなくて設定ファイルに書くもんだよ

478 名前:デフォルトの名無しさん mailto:sage [2016/12/10(土) 19:22:20.67 ID:wTYgtvkF.net]
>>468
コントロールを再作成して必要な分だけ追加したら?

479 名前:デフォルトの名無しさん mailto:sage [2016/12/10(土) 20:00:23.99 ID:g6CF/PBV.net]
>>468
その前に3万件追加した作業が無駄だよね
0件から200件追加することが出来ないのかプログラムを見直すべき

480 名前:デフォルトの名無しさん mailto:sage [2016/12/10(土) 20:24:13.29 ID:BtzSATc1.net]
>>471
ありかもしれません。

>>472
追加と削除のタイミングが違うので・・・



481 名前:デフォルトの名無しさん mailto:sage [2016/12/10(土) 20:32:26.08 ID:moWXVb0v.net]
仮想化しててもそんなに遅くなるもんかね

482 名前:デフォルトの名無しさん mailto:sage [2016/12/10(土) 20:33:06.95 ID:g6CF/PBV.net]
>>473
3万件をスクロールして閲覧する用途が有るはずもなく、最初から考えが間違っているんだよ
とはいえ、割りとありがちなんだけどね

483 名前:デフォルトの名無しさん mailto:sage [2016/12/10(土) 20:46:01.62 ID:iMqvKcIt.net]
VirtualModeなら速いんでねの?

484 名前:デフォルトの名無しさん mailto:sage [2016/12/10(土) 20:48:19.32 ID:0TBYagU6.net]
お客様は何万件でも表示させるといったらPGが死んでも表示させる
もちろんパフォーマンスの低下は許さない
つまりこれは現実的な用件なんだよね

485 名前:デフォルトの名無しさん mailto:sage [2016/12/10(土) 21:14:17.86 ID:f57StUOL.net]
御意!

486 名前:デフォルトの名無しさん mailto:sage [2016/12/10(土) 21:45:14.07 ID:BtzSATc1.net]
VirtualMode速すぎる
なんだこれ
これを待ってました。

487 名前:デフォルトの名無しさん mailto:sage [2016/12/10(土) 21:53:53.30 ID:mMrYCd0+.net]
Formsは長いことやってたんだけど.net coreでのWebシステムって容易く出来るんけ?
PHPでのMVCフレームワークとかrailsはわかる

488 名前:デフォルトの名無しさん mailto:sage [2016/12/10(土) 22:08:22.01 ID:0TBYagU6.net]
基本がしっかりしてれば簡単だよ
そのためにUIフレームワークに依存しないように作れっていつも言われるだろ

489 名前:デフォルトの名無しさん mailto:sage [2016/12/10(土) 22:09:21.73 ID:mMrYCd0+.net]
>>481
さんくす
手を出してみるわ
何を選んでもMFCのドキュメントビューよりは良いだろうってのが心の拠り所です

490 名前:デフォルトの名無しさん mailto:sage [2016/12/10(土) 22:28:44.20 ID:moWXVb0v.net]
仮想化せずにListViewで3万アイテム扱ってたのか・・・



491 名前:デフォルトの名無しさん mailto:sage [2016/12/10(土) 22:31:16.68 ID:BtzSATc1.net]
仮想化するとInsertionMarkが使えないみたいです。
どうしましょうか?

492 名前:デフォルトの名無しさん mailto:sage [2016/12/10(土) 23:55:43.96 ID:VtzX6XaJ.net]
>>468
発想を変えて、ListViewを作り直したら?

493 名前:デフォルトの名無しさん mailto:sage [2016/12/11(日) 07:29:54.22 ID:9qlRR3sU.net]
>>484
WM_SETREDRAWで描画停止してやれば、Virtualでなくても3万件ぐらいいけると思う。
やり方は、検索すれば出てくる。

494 名前:デフォルトの名無しさん mailto:sage [2016/12/11(日) 08:09:32.73 ID:tSe+v4ik.net]
3万件用と200件用は別のListViewを用意して、Visibleで切り替えるとか

495 名前:デフォルトの名無しさん mailto:sage [2016/12/11(日) 10:51:04.21 ID:rgeKQ1h1.net]
質問させてください。
Microsoft 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を呼び出している問に別のスレッドがプロパティに
アクセスする」ことがありえるのでしょうか?

496 名前:デフォルトの名無しさん mailto:sage [2016/12/11(日) 11:00:53.02 ID:E1v0n/uN.net]
>>488
プロパティの実装でEnterとExitと一時変数dtが必要なことに注意してください。
破壊されている可能性のある値を返さないようにするために、これ(enter/exit/dtの存在)が重要です。
(enter/exit/dtが存在しないなら、)あるスレッドがPerformTransactionを呼び出している問に別のスレッドがプロパティにアクセスすると、これ(破壊されている値を返すこと)が起こりえます。

つまり(きちんと)ロックしてるならアクセスすることはない

497 名前:デフォルトの名無しさん mailto:sage [2016/12/11(日) 11:14:59.06 ID:rgeKQ1h1.net]
すみません。質問の書き方がマズかったですね。
それと、もう一度自分でよく考えて、自己解決しました。

疑問に思ったのは、

・複数スレッドが同時にアクセスしないようにするために、EnterとExitが必要なことは
 わかるが一時変数dtはなぜ必要なのか?
・Enter〜Exitでロックしてても、PerformTransactionの呼び出し中に別スレッドが
 アクセスすることがありえるのか?
・その問題を回避するために、いったん一時変数dtに退避する必要があるという意味か?

ということでした。

しかし、よく考えれば、疑問が解消しました。

・dtが無いとreturnで値を直接返すことになる
・そのためにはreturnをEnterとExitで囲む必要がある(がそんなことはできない)
・だから、dtに入れてる

ってだけのことですね。お騒がせしました。
回答いただいた方、ありがとうございました。

498 名前:デフォルトの名無しさん mailto:sage [2016/12/11(日) 14:59:01.41 ID:o/YiWCEr.net]
>>486
WM〜でなんかやるならInsertionMark云々だって自己解決できるような気が

499 名前:デフォルトの名無しさん mailto:sage [2016/12/11(日) 22:39:52.04 ID:9qlRR3sU.net]
>>491
描画止めるくらいであればウインドウメッセージとかよくわからなくてもググって数行コピペするだけで出来るし、既に非Virtualで作ったものをVirtualに変更するより手っ取り早いかなと思って。

500 名前:デフォルトの名無しさん mailto:sage [2016/12/11(日) 23:37:43.42 ID:rW4zRmsa.net]
InsertionMarkってNearestIndexが使えないだけみたいで
そこだけ計算で出してやれば使えました。
お陰で高速な動作ができるようになりました。ありがとうございました。



501 名前:デフォルトの名無しさん [2016/12/14(水) 22:10:21.05 ID:zGQk9RuM.net]
正規表現Regexのインスタンスを作る際の文字列指定をするときに、
@を先頭につけているのを見るのですが、
これはどういったことでしょうか
必要なのでしょうか

502 名前:デフォルトの名無しさん mailto:sage [2016/12/14(水) 22:16:24.21 ID:LQhYfqJw.net]
>>494
\を大量に書かなくていいようにするため

503 名前:デフォルトの名無しさん mailto:sage [2016/12/14(水) 23:05:36.02 ID:PdV20HuV.net]
Rubyには、こういう関数があるけど、C#には無いの?

rp = Regexp.escape("$bc^")
\$bc\^

Regexp.escape(string) -> String
string の中で正規表現において、特別な意味を持つ文字の直前に、
エスケープ文字(バックスラッシュ)を挿入した文字列を返します

504 名前:デフォルトの名無しさん mailto:sage [2016/12/14(水) 23:08:32.15 ID:+dTErpY/.net]
そのまんまのがあるが
Regex.Escape(string)

505 名前:デフォルトの名無しさん [2016/12/14(水) 23:16:39.96 ID:zGQk9RuM.net]
>>495
494です
ありがとうございます

506 名前:デフォルトの名無しさん mailto:sage [2016/12/15(木) 08:46:01.32 ID:3NUBKOAZ.net]
完全に市場はJavaの圧勝が決まったようだ。

507 名前:デフォルトの名無しさん mailto:sage [2016/12/15(木) 12:09:47.56 ID:VtGam84M.net]
>>499
へーすごいね

508 名前:デフォルトの名無しさん mailto:sage [2016/12/15(木) 12:57:24.49 ID:4tPXC7sh.net]
金箔貼っても糞は糞。を思い出した。

509 名前:デフォルトの名無しさん mailto:sage [2016/12/15(木) 13:45:31.77 ID:7KRIzock.net]
https://chrome.google.com/webstore/detail/%E3%81%AF%E3%81%A6%E3%81%AAng/mbgdnfmdelffjdhkdggilmphfdihnmcj?hl=ja

510 名前:デフォルトの名無しさん mailto:sage [2016/12/15(木) 13:55:12.96 ID:8Dy0z+2t.net]
chrome.webRequest.onBeforeRequest.addListenerでこれブロックしてる
"*://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/*",



511 名前:デフォルトの名無しさん mailto:sage [2016/12/15(木) 19:32:58.03 ID:aesj07do.net]
c#で書かれた解析機を吐き出すyaccみたいなツールってないの?

512 名前:デフォルトの名無しさん mailto:sage [2016/12/15(木) 20:28:20.48 ID:u3iwxuUX.net]
自分に合ったのを探せ
https://en.wikipedia.org/wiki/Comparison_of_parser_generators

513 名前:デフォルトの名無しさん [2016/12/19(月) 00:22:28.34 ID:hPPOameE.net]
テキストボックスでValidatingを実装し、e.cancel=trueにした場合について2つ質問があります。
1.フォームの×ボタンを押してValidatingが発生しe.cancel=trueになっても、form.closingを実装するとフォームを閉じれるとネットブログであったのですが、
これはどういった仕組みでしょうか?
cancelになっても別のコントロールについては実装すれば、その処理が走るのでしょうか。
また、msdnでのそこに関する説明はどこにありますでしょうか?
2.そもそも,フォームの×ボタンでValidatingを走らせないようにするにはどうしたらいいでしょうか?

514 名前:デフォルトの名無しさん mailto:sage [2016/12/19(月) 14:59:52.95 ID:/uogIQCg.net]
2つと言いつつ1に3つぐらい質問があるように見える

> form.closingを実装するとフォームを閉じれる
実装するとじゃない。
Closingイベントのイベントハンドラでe.Cancelをfalseに設定したら閉じられる。

> これはどういった仕組みでしょうか?
Validatingで設定したe.CancelがClosingで設定されるe.Cancelで上書きされるだけ。

> cancelになっても別のコントロールについては実装すれば、その処理が走るのでしょうか。
ちょっと何言ってるか分からない。

> msdnでのそこに関する説明はどこにありますでしょうか?
ValidatingとClosing(FormClosing)のページにないんなら、ないんじゃない?

> フォームの×ボタンでValidatingを走らせないようにするにはどうしたらいいでしょうか?
WM_CLOSEをハンドルする方法とか提案されてる
d.hatena.ne.jp/dotnetmemo/20060702/1151839515

515 名前:デフォルトの名無しさん mailto:sage [2016/12/19(月) 21:55:11.26 ID:m20BeiOW.net]
前から疑問だったんだがValidatingでフォーカス移動封じるタイプのUIって誰が得するんだ?

516 名前:デフォルトの名無しさん mailto:sage [2016/12/19(月) 23:07:10.38 ID:nxaByp7v.net]
開発者の保身に役立つ
ユーザビリティ何それ

517 名前:デフォルトの名無しさん mailto:sage [2016/12/21(水) 22:02:28.59 ID:OBoWPQLO.net]
VisualStudioでスキャフォールディングっていうの?
あのC#コード生成ってどうやってんの?
右クリックメニューのコマンドで画面開いてパラメータ入力したらコードがいくつかババっと出力されてプロジェクトにインクルードされて時にはconfigまで書き換わるあの便利なやつ

518 名前:デフォルトの名無しさん mailto:sage [2016/12/21(水) 22:13:35.55 ID:I2xL3xVw.net]
子供発見

519 名前:デフォルトの名無しさん mailto:sage [2016/12/21(水) 23:15:00.27 ID:EydnUon0.net]
>>510
テンプレートで生成してるだけだよ
自分で同じようなことやりたければT4でも調べてみたら

520 名前:デフォルトの名無しさん [2016/12/22(木) 00:41:34.58 ID:0KrqUh09.net]
>507
506です。遅くなりましたがお答えありがとうございます。

補足で質問です。
> cancelになっても別のコントロールについては>実装すれば、その処理が走るのでしょうか。
ここに関しては、validatingでe.cancel=trueにしたら、そもそもclosingが走らないかと思っていたのですが、そういうことではないのでしょうか。validatedまでキャンセルになるということでしょうか。



521 名前:デフォルトの名無しさん mailto:sage [2016/12/22(木) 00:52:26.00 ID:3F8kH50r.net]
closingにデバッグポイント置いてそこで停まったら実行されるってことだろ
そんくらいもできないのかよ

522 名前:デフォルトの名無しさん mailto:sage [2016/12/22(木) 10:02:04.72 ID:i/pZa1E8.net]
https://chrome.google.com/webstore/detail/%E3%81%AF%E3%81%A6%E3%81%AAng/mbgdnfmdelffjdhkdggilmphfdihnmcj?hl=ja

523 名前:デフォルトの名無しさん mailto:sage [2016/12/22(木) 10:12:48.15 ID:hYDEOt1H.net]
mbgdnfmdelffjdhkdggilmphfdihnmcj をNGワード設定だな。この開発者そこらに張りまくってやがる

524 名前:デフォルトの名無しさん mailto:sage [2016/12/23(金) 13:13:48.39 ID:/B2iyB1G.net]
そうなの?登録しとこっと…ハッ

525 名前:デフォルトの名無しさん mailto:sage [2016/12/24(土) 06:16:26.82 ID:WEJSRv5C.net]
PythonのコードをC#で書き直してるんだけどさあ
C#で関数の引数に関数を指定することって出来ないのかな?

具体的にしたいことは関数の傾きを求めることで、たとえば適当な関数
float A(float x){return x^2;}
があったときに、傾きを求める関数
float B(関数, float x){return xでの傾き;}
みたいなものを作成して
d = B(A(), 0.1f);
のような呼び出し方をしたいんだけど・・・・なにかそれに近いC#のコードの記述方法ってないかな?

526 名前:デフォルトの名無しさん mailto:sage [2016/12/24(土) 06:53:00.31 ID:kPI05Gb3.net]
delegate じゃ駄目なの?

527 名前:デフォルトの名無しさん mailto:sage [2016/12/24(土) 06:56:25.78 ID:iV5eYun0.net]
float B(Func<float, float>, float) ということなのかな

528 名前:デフォルトの名無しさん mailto:sage [2016/12/24(土) 07:23:08.42 ID:WEJSRv5C.net]
>>519-520
デリゲートを使うのが一番近い記述ができるのかな?
そうするとミスって複数メソッドを登録したときの処理も記述しとかなきゃなんないかな・・・・

529 名前:デフォルトの名無しさん mailto:sage [2016/12/24(土) 07:41:28.77 ID:qXNVWWNf.net]
>>518
関数を引数にしたいなら520でいいけど

そもそもC#で任意の関数を引数にして傾きを求めるのは無理だと思うよ
引数の関数が微分可能かどうか(下手すると連続かどうか)も保証されてないのに

530 名前:デフォルトの名無しさん mailto:sage [2016/12/24(土) 09:21:29.09 ID:3LTJc3r/.net]
微分可能であることの保証ができないなんてどの言語でも一緒だろ
イベントハンドラ以外のデリゲートでマルチキャストを使う馬鹿もいない(いたら今すぐやめろ)から無視していい
あとそういう計算にfloat使うと激しく誤差が出るからfloatじゃなくてdouble使え
Pythonの浮動小数点数もdouble精度だ



531 名前:デフォルトの名無しさん mailto:sage [2016/12/24(土) 10:31:06.47 ID:dPbQS77J.net]
>>522
微分可能とか最近覚えた用語を使いたくてしょうがないんだな w

532 名前:デフォルトの名無しさん mailto:sage [2016/12/24(土) 10:37:23.24 ID:qXNVWWNf.net]
あらかじめコーディングされた関数たちしか使わないなら、導関数も事前に用意しておけばいいよね

>>523
mathematica等の数式処理言語ならできるよ

533 名前:デフォルトの名無しさん mailto:sage [2016/12/24(土) 12:25:20.15 ID:1tLIoM8k.net]
関数の数値微分は機械学習とかシミュレーションとかで普通に使うぞ

534 名前:デフォルトの名無しさん mailto:sage [2016/12/24(土) 15:05:19.64 ID:uriaUnJG.net]
数学とC#の関数の定義の区別ができないお子ちゃまですか。

535 名前:デフォルトの名無しさん mailto:sage [2016/12/24(土) 15:50:11.41 ID:IXC75mXH.net]
おまえはC#の関数で、俺は数学の関数だ!
そこになんの違いもありゃしねぇだろうが!

536 名前:デフォルトの名無しさん mailto:sage [2016/12/24(土) 15:52:59.52 ID:51ELz7Bu.net]
空のWebアプリプロジェクトからASP.NET MVCをインストールして適当にビューを作ったんだけど
マークアップエディタのインテリセンスにViewBagがないって怒られます
コードエディタでは普通にViewBagにアクセスできます
これはいったいどういうことなんでしょうか

537 名前:デフォルトの名無しさん mailto:sage [2016/12/24(土) 16:49:07.86 ID:uriaUnJG.net]
式をこねくり回したいんだろう。

自分ですうしきクラスを作れよ。

538 名前:デフォルトの名無しさん mailto:sage [2016/12/24(土) 17:01:13.35 ID:WEJSRv5C.net]
>>522
たしかに解析的に正しい微分できないけど、僅かにXをずらしてそれっぽい数値を出したいんです

539 名前:デフォルトの名無しさん mailto:sage [2016/12/24(土) 17:07:45.02 ID:3KzFEnUI.net]
微分可能かとどう実装するかは別の問題だからどうでもいいなw
ちょっと大げさめだが、俺ならinterface使う

540 名前:デフォルトの名無しさん mailto:sage [2016/12/24(土) 18:08:40.53 ID:2kirY5E3.net]
>>531
何が言いたいのかよく分からんけど普通にこういうのじゃいかんの?
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;
}



541 名前:デフォルトの名無しさん mailto:sage [2016/12/24(土) 19:30:16.14 ID:dPbQS77J.net]
>>533
いや実装方法はわかってるでしょ
python からの移植なんだし
>>531>>522 が微分可能とか言い出してるからそれへの説明だと思うぞ

542 名前:デフォルトの名無しさん mailto:sage [2016/12/24(土) 22:57:47.19 ID:ZPnvY2Gu.net]
>>524
えっ?

543 名前:デフォルトの名無しさん mailto:sage [2016/12/25(日) 01:15:18.80 ID:2bXL0gSr.net]
音声付の外国語の単語学習アプリを
作ろうとしてます。
数千の単語の音声を、少数のファイルで扱うには
どのような方法使えばいいんでしょうか?

544 名前:デフォルトの名無しさん mailto:sage [2016/12/25(日) 02:05:37.96 ID:1Va0hmvu.net]
全部つなげて1つのファイルにしておいて、
欲しい時にはその単語データのオフセットと長さを指定して取り出して再生、かな

545 名前:デフォルトの名無しさん mailto:sage [2016/12/25(日) 02:11:45.12 ID:xhZEf65t.net]
圧縮された音声データでそんな高精度のシークが可能なのかなw

っていうか、今時のWindowsってたいがいの言語の音声合成エンジンがタダで提供されてなかったっけ?

546 名前:デフォルトの名無しさん mailto:sage [2016/12/25(日) 02:18:12.49 ID:tQvSe6Qr.net]
>>538
バイト配列にしてつなげてサイズと順番のインデックス作ればいいだけ

547 名前:デフォルトの名無しさん mailto:sage [2016/12/25(日) 02:45:35.51 ID:bvgmOMUN.net]
話が噛み合ってないな
>>537>>539はバラバラの既存の単語音声データを単一ファイルにまとめる話
>>538はボインや子音とかから合成するTTSライブラリ使えって話
>>536の目的は学習アプリ
前者なのか後者なのかはっきりさせないと答えようがないが
TTSから垂れ流す音声が正しいとは限らないので
単語レベルなら既存の音声辞書から引っ張って来た方がいい気はする

548 名前:デフォルトの名無しさん mailto:sage [2016/12/25(日) 07:18:53.50 ID:MTT7ZR6N.net]
ボインは赤ちゃんのためやでー

549 名前:デフォルトの名無しさん mailto:sage [2016/12/25(日) 08:51:11.94 ID:NMeoNRf0.net]
音声を64kぐらいでMP3化してSQLiteに登録するのが最善じゃね?

550 名前:デフォルトの名無しさん mailto:sage [2016/12/25(日) 09:09:11.14 ID:r6LchLOJ.net]
今時はクラウドだろ
バラバラのままでS3にでも突っ込んどけ



551 名前:デフォルトの名無しさん mailto:sage [2016/12/25(日) 10:03:57.23 ID:bejmTeDn.net]
再生の度にHDDから読み込むともたつくときがあるんだよね
だからといってゲームみたいにシーンに必要なデータを予め読める量でもないし
難しかったな

552 名前:デフォルトの名無しさん [2016/12/27(火) 19:34:32.54 ID:r2C7TXrR.net]
ASP.NET WebフォームとMVC勉強するならMVC一択ですか?

553 名前:デフォルトの名無しさん mailto:sage [2016/12/27(火) 19:44:21.85 ID:RazBYv5e.net]
>>545
もちろん
CoreもFullも使えるし

554 名前:デフォルトの名無しさん [2016/12/27(火) 21:03:13.98 ID:kWoV7/2e.net]
>>546
ありがとうございます
やはりそうなんですね

555 名前:デフォルトの名無しさん mailto:sage [2016/12/27(火) 22:49:58.42 ID:DbM4OtJE.net]
ASP.NETの基本的なことを学ぶなら空のWebFormsから始めた方がいい
MVCから入るとプロジェクトテンプレートの時点で訳が分からなくなって意欲を損なう

556 名前:デフォルトの名無しさん mailto:sage [2016/12/28(水) 00:24:46.29 ID:6PQ8eENJ.net]
>>548
いやいや今どきWeb Formsとかないわ
仕事で仕方なくっていう理由ならわかるけど

557 名前:デフォルトの名無しさん mailto:sage [2016/12/28(水) 02:37:03.12 ID:tHS+BZPK.net]
windows formでtwitterクライアントを作ろうとしているのですがタイムラインをどう表示するかで詰まっています
具体的に言うとブラウザや携帯のtwitterアプリで見るような形でタイムラインを表示したいのですがどのようなコントロールを使えばいいのか分かりません
どなたか教えていただけないでしょうか

558 名前:デフォルトの名無しさん mailto:sage [2016/12/28(水) 06:10:33.37 ID:U/Wkcgn0.net]
WebBrowser

559 名前:デフォルトの名無しさん mailto:sage [2016/12/28(水) 06:28:56.80 ID:hLvgF446.net]
>>550
まずはタイムラインの仕様を詳しく書いて

560 名前:デフォルトの名無しさん mailto:sage [2016/12/28(水) 07:40:36.68 ID:EECpjgXG.net]
俺もWebBrowserコントロールがいいと思うな。



561 名前:デフォルトの名無しさん mailto:sage [2016/12/28(水) 07:55:45.93 ID:nclhbqFU.net]
Twitterはツイートの表示の仕方がディスプレイガイドラインによってガチガチに決められてる
独自に作ったところで結局同じものを再発明することになるだけで時間の無駄でしかない
結論として、WebBrowserでいい

562 名前:デフォルトの名無しさん mailto:sage [2016/12/28(水) 11:01:45.01 ID:Xid52+QB.net]
electron使え

563 名前:デフォルトの名無しさん mailto:sage [2016/12/28(水) 11:06:16.13 ID:WHhbvFAo.net]
UWFは知らんけどWin8のストアアプリにはそんなサンプルが結構あったね。
あの手のUIとXAMLは相性がいいとか何とか。

そういうのパクってWPFで....と思ったけどWindos Formで作るのか

564 名前:デフォルトの名無しさん mailto:sage [2016/12/28(水) 11:11:05.17 ID:Xid52+QB.net]
Krileとかいう うぃんどうずさいきょうくらいあんと はWPFだぞ

565 名前:デフォルトの名無しさん mailto:sage [2016/12/28(水) 11:33:29.67 ID:tDjKTni2.net]
まったく同じもん作りたいならWebBrowserコントロールだけど
そうじゃなきゃリストビューのオーナードローかな
なんか意図があるから作りたいわけだろうからそれに合わせて作れとしかw

566 名前:デフォルトの名無しさん mailto:sage [2016/12/28(水) 16:33:19.65 ID:XPsq6pGc.net]
PictureBoxだろ。

567 名前:デフォルトの名無しさん mailto:sage [2016/12/28(水) 17:04:41.95 ID:hmpOAOdC.net]
ツイッターほとんど使わんので勘違いしてるかもしれんけど、
Windows Formなら複合コントロール(UserControl)使うのが一番現実的なような気はする

568 名前:デフォルトの名無しさん mailto:sage [2016/12/28(水) 20:06:12.28 ID:tHS+BZPK.net]
>>552
基本的にはブラウザで見るものと同じです
が、リプライ、RTなどのアイコンがなくなっておりさらに時間の表示位置と形式が違います
また、どのクライアントでツイートしたかの情報も表示します
クライアントの情報はツイート文の下に表示し、時間は絶対時間表記でクライアント情報の右に表示します

569 名前:デフォルトの名無しさん mailto:sage [2016/12/28(水) 20:09:09.19 ID:ace8uG6s.net]
>>561
Twitterの規約に違反してる

570 名前:デフォルトの名無しさん mailto:sage [2016/12/28(水) 20:15:46.64 ID:tHS+BZPK.net]
>>562
違反している部分は例えば時間表記はデフォルトでの設定は相対時間表記にしておき設定を変更することによって絶対時間表記にすることができるといった方法で回避しようと考えています



571 名前:デフォルトの名無しさん mailto:sage [2016/12/28(水) 20:34:23.74 ID:EECpjgXG.net]
なんでWebBrowserコントロールは嫌なの?
手軽に見た目もきれいに作れるし仕様変更もし易いのに。
PictureBoxにゴリゴリ描くのも楽しいだろうけど仕様変更が辛いよ。

572 名前:デフォルトの名無しさん mailto:sage [2016/12/28(水) 20:42:16.89 ID:tHS+BZPK.net]
>>564
個人的な考えなのですがWebBrowserコントロールを使うのであれば普通のブラウザソフトを使ってTwitterをすればいいと考えているからです

573 名前:デフォルトの名無しさん mailto:sage [2016/12/28(水) 21:54:16.84 ID:Bwga9xUV.net]
>>556
確かにWPFはこういうの得意だね。

>>563
誤魔化してるだけで、回避は出来てないような。

574 名前:デフォルトの名無しさん mailto:sage [2016/12/28(水) 22:32:59.93 ID:tHS+BZPK.net]
>>566
WPFの方が作りやすいでしょうか?
規約については他のクライアントがこのような方法をとっていたのでこれで良いものと思いまして…

575 名前:デフォルトの名無しさん mailto:sage [2016/12/28(水) 22:43:34.20 ID:6Nd1Z00H.net]
TwitterのタイムラインをWebBrowserでやろうとした場合ってHTMLを加工してタイムラインだけを取る的な感じになるの?

576 名前:デフォルトの名無しさん mailto:sage [2016/12/28(水) 22:56:26.65 ID:EECpjgXG.net]
普通はタイムラインのデータを取得してHTMLを生成してWebBrowserコントロールに
流し込むってイメージだと思うよ。

577 名前:デフォルトの名無しさん mailto:sage [2016/12/28(水) 23:00:12.19 ID:Bwga9xUV.net]
&g

578 名前:t;>567
WPFはちょっと凝ったUI作るのにはお勧めなんだけど、初期の学習コストが大きいのがネック。
規約に関してはグレーゾーンでしょ。Twitter社次第。
[]
[ここ壊れてます]

579 名前:デフォルトの名無しさん mailto:sage [2016/12/28(水) 23:30:17.32 ID:NekU8PBK.net]
var dic = new Dictionary<object, object>();
var 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>に変換できないかね?
誰かやり方知りない?

580 名前:デフォルトの名無しさん mailto:sage [2016/12/28(水) 23:32:42.76 ID:gapvLjp6.net]
Cast<object>()



581 名前:デフォルトの名無しさん mailto:sage [2016/12/28(水) 23:52:57.99 ID:NekU8PBK.net]
>572
サンクス

すまんがもう一個
Dictionary<T, U>を一度object型に変換した後にDictionaryに変換せずに
IEnumerable<object>に直接変換する方法ってある?
元々、object型の値がIEnumerable<V>を継承してるか、継承していたら変換するって処理を作ってる時に気付いたもんで

後出しで申し訳ないが知ってたら教えてくり

582 名前:デフォルトの名無しさん mailto:sage [2016/12/29(木) 00:33:10.83 ID:u+8RF5XF.net]
>>569
なるほどthx

583 名前:デフォルトの名無しさん mailto:sage [2016/12/29(木) 00:38:59.83 ID:ICm4kcbN.net]
>>573
ターゲットフレームワークが4以降なら直接IEnumerable<object>にキャストできる
Dictionary<,> は IEnumerable<KeyValuePair<,>> を実装している
.NET4以降ではIEnumerable<>は共変だからIEnumerable<派生>をIEnumerable<既定>として扱える
あと関係ないけど.NETの場合ジェネリックの型引数は
1つの場合はT、複数の場合はTKey, TValueのようにT〇〇と名付ける決まりだから
Java臭いキモい書き方はやめろ

584 名前:573 mailto:sage [2016/12/29(木) 00:49:52.62 ID:ICm4kcbN.net]
すまん訂正
KeyValuePair<,>は値型だから不変だな
直接キャストはできないので>>572で全要素を個別にボックス化してやる必要がある

585 名前:デフォルトの名無しさん mailto:sage [2016/12/29(木) 00:58:24.25 ID:ICm4kcbN.net]
あと >object型の値がIEnumerable<V>を継承してるか、継承していたら変換する だけど、
IEnumerable<object>のかわりに単に非ジェネリックのIEnumerableにキャストすりゃいいよ
IEnumerable<>はIEnumerableを継承しているので、
IEnumerable<>なら要素が値型だろうが何だろうがIEnumerableには確実にキャストできる
どうしても<object>にしたいなら ((IEnumerable)obj).Cast<object>() で変換できる

586 名前:デフォルトの名無しさん mailto:sage [2016/12/29(木) 01:43:17.27 ID:yvgqyy5k.net]
おぉ、サンクス!!
値型だとダメなのか。知らんかったわ。

名前については気を付けるよ。
.NETのクラスライブラリ設計にも書いてあんね。もう一度読み返すよ。
助かった。ありがとう

587 名前:デフォルトの名無しさん mailto:sage [2016/12/29(木) 15:12:21.99 ID:ZEkDPYau.net]
>>529
msdnフォーラムで聞くほうがいいよ

588 名前:デフォルトの名無しさん mailto:sage [2016/12/30(金) 07:18:33.47 ID:WuCbATao.net]
vb.netではなくc#を選ぶ理由を教えてください。

589 名前:デフォルトの名無しさん mailto:sage [2016/12/30(金) 07:52:06.59 ID:ztwR1BBS.net]
コーディング量が多く単価が安い言語は選ばない

590 名前:デフォルトの名無しさん mailto:sage [2016/12/30(金) 08:01:52.99 ID:pFqShxhH.net]
むしろ VB
・に慣れてる
・しか知らない
・しか使えない環境
以外の理由で VB.net を選ぶ理由が知りたいよ



591 名前:デフォルトの名無しさん mailto:sage [2016/12/30(金) 08:22:40.21 ID:ztwR1BBS.net]
そやな。SharpDevelopの変換機能も優秀だし

592 名前:デフォルトの名無しさん mailto:sage [2016/12/30(金) 08:28:44.57 ID:wot9qjtL.net]
未だにVBやPHPの学習コストがどうのとか言ってるの見ると
はぁ…90年代からいらしたんですか?そりゃどうも…って感じになる

593 名前:デフォルトの名無しさん mailto:sage [2016/12/30(金) 08:38:34.39 ID:fHdmB1av.net]
VBは使えない新人にやらせるものだからね
毎年素人に教えなきゃいけないから学習コストは常にホットな話題なんだよ

594 名前:デフォルトの名無しさん mailto:sage [2016/12/30(金) 08:55:52.86 ID:IhX7anmL.net]
VBなんてもはや学習コストが低い言語ではないし、PHPだってHTMLのマクロだった時代ではない。

まぁそういう会社ってVB6なんだろーけどさ。

595 名前:デフォルトの名無しさん mailto:sage [2016/12/30(金) 09:23:58.96 ID:ylI4PuDY.net]
MSのサポートがより盤石な方と言われれば基本C#じゃないの
と思ってたら最新のTIOBEインデックスが不可解な事になってるけど
news.mynavi.jp/news/2016/12/08/031/

596 名前:デフォルトの名無しさん mailto:sage [2016/12/30(金) 10:37:03.00 ID:z+0XLzNt.net]
>>587
TIOBEは昔から滅茶苦茶で
指標として価値がないよ

PYPLのが実態にあってるとおもう
pypl.github.io/PYPL.html

597 名前:デフォルトの名無しさん mailto:sage [2016/12/30(金) 11:36:38.80 ID:LToUj4mC.net]
新しく作るならvb.net選ぶ理由なんてないんだろうけど、会社が90年代から続いてるからな
VB6よりも古い時代の資料を改定しながら使いまわしてる
今の時代に合わせて作り直したら大変だ

598 名前:デフォルトの名無しさん mailto:sage [2016/12/30(金) 12:03:55.88 ID:WuCbATao.net]
>>581
コーディング量が多いってほんまかいな。
.netならどっちも同じことができるはずやないんかいな。
vb.netなら何行も書く必要のあるものがc#なら1行で書けるコードがあるわけか。

社員に還元する気のない会社なら単価は安くていい。

599 名前:デフォルトの名無しさん mailto:sage [2016/12/30(金) 12:21:39.74 ID:WuCbATao.net]
>>582
vbに慣れてない人なんか少数派ではないんかいな。
vbなんかほとんどの人ができると思うけどな。
それで、vbの手続き(Sub)や関数(Function)も使える利点もある。

600 名前:デフォルトの名無しさん mailto:sage [2016/12/30(金) 12:28:11.59 ID:FgVAt5LY.net]
は?それVB独特の利点だと思ってんの?
葦の髄並みに視界が広いんだね!驚いた



601 名前:デフォルトの名無しさん mailto:sage [2016/12/30(金) 12:30:49.02 ID:3Ls/pupf.net]
VB は使えば使えるけど出来れば使いたくない、って人は多そう。自分はそう。

602 名前:デフォルトの名無しさん mailto:sage [2016/12/30(金) 12:30:52.92 ID:WuCbATao.net]
.netのプログラム方法を知らないがvb6の方法なら知ってるときは、調べる時間を省いて早く作れる利点がある。

603 名前:デフォルトの名無しさん mailto:sage [2016/12/30(金) 12:31:12.31 ID:1dqi8t3C.net]
>>591
リファレンスの差が圧倒的だからな。ライブラリもC#の方が充実してる。

604 名前:デフォルトの名無しさん mailto:sage [2016/12/30(金) 12:36:38.79 ID:TrhPacUJ.net]
VBAをC#表記にすればいいのにと

605 名前:デフォルトの名無しさん mailto:sage [2016/12/30(金) 12:39:17.24 ID:WuCbATao.net]
>>595
リファレンスは、c#でも普通に利用してvb.netでプログラムしてるから別にいい。
ライブラリって、サードパーティ製でc#にしか使えないものがあるということか?

606 名前:デフォルトの名無しさん mailto:sage [2016/12/30(金) 12:40:53.78 ID:a9lBhbdO.net]
>>594
VBerの世界では日本語のゴミのことを利点って表現するんだな
勉強になったわ

607 名前:デフォルトの名無しさん mailto:sage [2016/12/30(金) 12:44:33.76 ID:p8PwMXsr.net]
>>597
利点がどうかをお前の主観で判断するなら人に問いかけるな
お前のキンタマ脳味噌でしこたまオナってろカス野郎

608 名前:デフォルトの名無しさん mailto:sage [2016/12/30(金) 12:55:30.88 ID:WuCbATao.net]
c#はどの言語とも互換性がない。

609 名前:デフォルトの名無しさん mailto:sage [2016/12/30(金) 13:02:37.99 ID:E/JZqwpg.net]
VB製のまともなソフト見たことがない

610 名前:デフォルトの名無しさん mailto:sage [2016/12/30(金) 13:05:31.05 ID:pFqShxhH.net]
>>591
VB なんて10年以上使ったことない
って奴はごろごろいると思うけど?



611 名前:デフォルトの名無しさん mailto:sage [2016/12/30(金) 13:15:31.59 ID:WuCbATao.net]
どの言語プログラマーがc#になったのか教えてください。

612 名前:デフォルトの名無しさん mailto:sage [2016/12/30(金) 13:19:37.16 ID:LToUj4mC.net]
こいつNGでいいだろw

613 名前:デフォルトの名無しさん mailto:sage [2016/12/30(金) 13:29:15.01 ID:/QGVHUc5.net]
>>601
tweenが確かソースコード非公開化する前はVB.NETじゃなかったっけ

614 名前:デフォルトの名無しさん mailto:sage [2016/12/30(金) 14:03:07.38 ID:WuCbATao.net]
java scriptやphpやperlやjavaに比べてc++やcに類似しているとはいえないし、
もちろん互換性もないのにc#とはおかしい言語名だ。

615 名前:デフォルトの名無しさん mailto:sage [2016/12/30(金) 14:21:47.87 ID:B5+tn9xF.net]
単にJavaScriptがJavaの名前を付けて恩恵を受けようとしたのと同じようにCとつけたのでは
未だにJavaよりもC/C++使いの方がエキスパートみたいな風潮はあるしCって付けたのは悪くないと思うけど

616 名前:デフォルトの名無しさん mailto:sage [2016/12/30(金) 15:56:44.65 ID:hgBVSCl8.net]
Java開発者の.NET取り込みを

617 名前:狙った言語としてはJ#が別にあったからな
Java、C++、VBという当時の三大勢力のうちC#はC++開発者をターゲットにしていたから、
Cの名前を冠するのは戦略上当然
[]
[ここ壊れてます]

618 名前:デフォルトの名無しさん mailto:sage [2016/12/30(金) 17:46:25.33 ID:U2S2spdu.net]
VBにはC#のunsafe相当が無い
以上

619 名前:デフォルトの名無しさん mailto:sage [2016/12/30(金) 18:31:14.27 ID:WuCbATao.net]
そうか、ポインタが使えなかったが、unsafeのブロックで囲って、プロジェクトのプロパティのビルドのページの
「アンセーフコードを許可する」にチェックを入れないといけなかったのか。C#ってぼろいな。

620 名前:デフォルトの名無しさん mailto:sage [2016/12/30(金) 18:53:07.80 ID:WuCbATao.net]
unsafeブロックとビルドの設定変更で初めてポインタが使える、これでようやくCに近づいたか。



621 名前:デフォルトの名無しさん mailto:sage [2016/12/30(金) 19:06:33.29 ID:B5+tn9xF.net]
意図的に使いにくくしてるわけでCに近づける意味も必要性もないけどな

622 名前:デフォルトの名無しさん mailto:sage [2016/12/30(金) 21:27:21.00 ID:rzMADc8/.net]
>>606
そもそもVB.NETもVB6と互換性無いしな
互換性の維持は欠点の引き継ぎでもあるから、良いことばかりではない

623 名前:デフォルトの名無しさん mailto:sage [2016/12/31(土) 01:38:04.63 ID:9j/vHbfh.net]
クサレ脳ミソに触るなよ
年末で暇なのか?

624 名前:デフォルトの名無しさん mailto:sage [2017/01/03(火) 12:36:47.28 ID:6G2Z4dX0.net]
ASP.NETってリクエストと同じスコープの共有変数って無いの?
ApplicationとSessionだけ?

625 名前:デフォルトの名無しさん mailto:sage [2017/01/03(火) 13:07:31.73 ID:bKYKotyv.net]
ThreadLocal<T>使えば?
async使ってたりforkしてたりすると死ぬけど

626 名前:デフォルトの名無しさん mailto:sage [2017/01/03(火) 18:21:36.81 ID:GxvhYohc.net]
>>615
何がしたいん?

627 名前:デフォルトの名無しさん mailto:sage [2017/01/03(火) 19:30:11.31 ID:7mNkwS/N.net]
>>617
リクエストとトランザクションのスコープを同期させたい
フレームワーク側でトランザクション管理して
個々のリクエストからはトランザクションを参照するだけにして透過的に扱えるようにしたい

628 名前:デフォルトの名無しさん mailto:sage [2017/01/03(火) 19:33:32.03 ID:GxvhYohc.net]
>>618
カタカナが多くて理解出来ないわ
すまん

629 名前:デフォルトの名無しさん mailto:sage [2017/01/03(火) 23:21:22.46 ID:rV3i3AFU.net]
リクエストのスコープで、誰と共有するんだ?
フレームワーク側でトランザクション管理って何の事を言ってるんだ?
@PageのTransactionならページ=リクエスト単位でのトランザクション管理だったと思うが

630 名前:デフォルトの名無しさん mailto:sage [2017/01/04(水) 11:10:13.30 ID:P9CxkEKM.net]
単にリクエストの前後でTransactionScopeの生成解放とcommitを入れたらいいだけじゃないのか?
明示的に共有する必要なんかないだろ
現在のトランザクションはTransaction.Currentで取れるし、
TransactionScopeAsyncFlowOption.Enabledでasyncにも対応できる



631 名前:デフォルトの名無しさん mailto:sage [2017/01/06(金) 15:01:19.97 ID:ugUrUcmU.net]
C#といっこも関係ないけど、ここのブログChromeだと問題ないけどFirefoxだと
なぜか糞重いんだけど、どうしてなんだろう
blog.xin9le.net/archive/category/C%23

.NET関係のブックマークはFirefoxで統一してるので出来たらFirefoxでも快適に見る方法ないかな
ブログ主が修正してくれたらそれが一番いいんだけど、こんなスレ見てないだろうし
こっちから指摘して直してくれってのもちょっとアレなんで

632 名前:デフォルトの名無しさん mailto:sage [2017/01/06(金) 19:33:41.04 ID:UonIfHoY.net]
2chに書くなボケ

633 名前:デフォルトの名無しさん mailto:sage [2017/01/08(日) 04:55:07.07 ID:AV67jRu6.net]
C#なんか制御文と演算子がCに似てるだけで、それは他の多くのプログラム言語にも同じことが言えるし、
見かけがCに少し似てるだけで、中身はVB.NETと同じだろ。
VB.NETを拒絶してC#にこだわる理由がない。
挙句の果てに、「VBAをC#表記にすればいいのにと 」とまで言い出す始末。

634 名前:デフォルトの名無しさん mailto:sage [2017/01/08(日) 05:21:47.77 ID:gvW6zVP3.net]
いきなり何言ってんだこいつ

635 名前:デフォルトの名無しさん mailto:sage [2017/01/08(日) 05:24:36.52 ID:AV67jRu6.net]
C#人は性格が異常な人が多いのかいな

636 名前:デフォルトの名無しさん [2017/01/08(日) 05:38:16.16 ID:qYFGvy5R.net]
なんの話をしてるんだ?

637 名前:デフォルトの名無しさん mailto:sage [2017/01/08(日) 06:27:27.71 ID:TbfsFEah.net]
ID:WuCbATaoだろ
消しとけ

638 名前:デフォルトの名無しさん mailto:sage [2017/01/08(日) 09:01:21.88 ID:FbXxDY90.net]
>>626
狂った人から見ると普通の人が狂ってるように見えるんだってさ

639 名前:デフォルトの名無しさん mailto:sage [2017/01/08(日) 09:40:46.74 ID:vasp0ss6.net]
普通の人からするとプログラムできる人は普通の人ではないんだってさ。

640 名前:デフォルトの名無しさん mailto:sage [2017/01/08(日) 11:10:32.86 ID:qEmyXRDT.net]
それは確かに



641 名前:デフォルトの名無しさん mailto:sage [2017/01/08(日) 11:24:30.92 ID:mLyjhJYP.net]
VBとかうんこだろ
VBAはうんこ オブ ザ うんこ

642 名前:デフォルトの名無しさん mailto:sage [2017/01/08(日) 11:50:35.91 ID:aANViJyG.net]
バカでも書きやすいのがVB系なのでVBAがそういう書き方なのは当然だろう
c#への橋渡しとしてのVB.NETだと思うし

643 名前:デフォルトの名無しさん mailto:sage [2017/01/08(日) 11:59:14.80 ID:AV67jRu6.net]
どうせVBではないという見栄だけでC#なんだろ

644 名前:デフォルトの名無しさん mailto:sage [2017/01/08(日) 12:14:57.49 ID:G2Ue1pwT.net]
VBからC#に入ったけどいまさらVBになんかめんどくさくて戻れん
使いたい人は勝手にしたらいいがC#のスレにきてわざわざ暴れるなよ

645 名前:デフォルトの名無しさん mailto:sage [2017/01/08(日) 12:15:40.75 ID:8d6R2/PQ.net]
>>634
何を勘違いしてるのか知らないが、普通のC#使いのほとんどはVBも普通に使えるぞ?
逆はそうでもないが

646 名前:デフォルトの名無しさん mailto:sage [2017/01/08(日) 12:21:38.45 ID:ZKkxHQju.net]
VBってC#と比べて新機能が遅れて導入されるから大嫌い

647 名前:デフォルトの名無しさん mailto:sage [2017/01/08(日) 12:22:57.20 ID:U62MbfoD.net]
VB6系はともかく別に誰もVB.NETを否定してないと思うが
というか幾らなんでも名前に踊らされ過ぎ

648 名前:デフォルトの名無しさん mailto:sage [2017/01/08(日) 12:29:52.90 ID:6Rfsv7h0.net]
VB.NETはC#と同じっていうのは実はC#er目線の話なんだよな
VB専に聞いてみりゃわかるが、彼ら自身はC#は別物だと思ってるし
実際彼らの書くコードはC#とは全く似つかないよ

649 名前:デフォルトの名無しさん mailto:sage [2017/01/08(日) 12:47:23.31 ID:vasp0ss6.net]
あえて言おう。VB.NETは出すべきじゃなかった。

650 名前:デフォルトの名無しさん mailto:sage [2017/01/08(日) 13:03:51.40 ID:AV67jRu6.net]
 「VB なんて10年以上使ったことないって奴はごろごろいると思うけど」という人がいる一方で、別の人は「普通
のC#使いのほとんどはVBも普通に使えるぞ」という人がある。10年以上使わないなら、普通に使えるとは思えないの
で、後者は前者の主張を否定したようなものだ。

「VBにはC#のunsafe相当が無い」という人がいる一方で、別の人は「意図的に使いにくくしてるわけでCに近づける
意味も必要性もない」といってunsafeの存在価値を否定した。

 それぞれの主張に客観性がないんだろうな。



651 名前:デフォルトの名無しさん mailto:sage [2017/01/08(日) 13:10:39.99 ID:ZKkxHQju.net]
お前はちょっと黙ってろ

652 名前:デフォルトの名無しさん mailto:sage [2017/01/08(日) 13:25:57.09 ID:Dfhzw297.net]
>>641
「意図的に使いにくくしてるわけでCに近づける意味も必要性もない」は別にunsafeの存在を否定はしてないだろ。
普段使いするものじゃないからわざと使いにくくしてあるけど、いざという時はちゃんと使えるんだから。

653 名前:デフォルトの名無しさん mailto:sage [2017/01/08(日) 13:26:42.71 ID:G2Ue1pwT.net]
VBは使えるけどC#が使えないから職場でいじめられたのかな
それでここで憂さ晴らししていると
ここでもバカにされるだけなのに

654 名前:デフォルトの名無しさん mailto:sage [2017/01/08(日) 13:34:55.06 ID:Dfhzw297.net]
>>636
最初からVBに興味ないか、少しだけ触って見限ったきりって人も多い。
少し勉強すればVBもできる人は多いだろうけど、そうする意味もあまりないし。

655 名前:デフォルトの名無しさん mailto:sage [2017/01/08(日) 13:39:59.92 ID:mLyjhJYP.net]
VB.NETは構文調べて20分で捨てた
VB.NETで出来ることはC#で出来るし
何となく感覚で読めるけど書けない

656 名前:デフォルトの名無しさん mailto:sage [2017/01/08(日) 13:43:29.27 ID:AV67jRu6.net]
(エセC)#、もしくは (エセC++)++ だろ

657 名前:デフォルトの名無しさん mailto:sage [2017/01/08(日) 13:48:31.81 ID:AV67jRu6.net]
>>642 どうせ他のレスが滞ってて沈黙が続いてるから、他人の邪魔してるわけではないからいいじゃないか。

658 名前:デフォルトの名無しさん mailto:sage [2017/01/08(日) 13:58:48.72 ID:euA+r4Nb.net]
VBerはC#erにコンプレックスだらけ。C#erは相手にしてない
東京、大阪の関係みたいなもんだな

659 名前:デフォルトの名無しさん mailto:sage [2017/01/08(日) 13:59:50.66 ID:pxQLZoyB.net]
もともとはVBの方が好きだったけどさすがに2008以降はちょっと使う気にならん感じになっちゃったねVBは

ExcelをCOM Interop;する時はOption Strict Offで適当にキャストかましてくれる
VBの方がまだちょっと使いやすいけどそれ以外はあえてVBを選ぶ理由は消滅したな。

660 名前:デフォルトの名無しさん mailto:sage [2017/01/08(日) 14:00:51.70 ID:vasp0ss6.net]
確かに東京ってVB案件ばかりだな。



661 名前:デフォルトの名無しさん mailto:sage [2017/01/08(日) 14:06:57.00 ID:ZKkxHQju.net]
>>650
Office関連はNetOffice使った方が便利で安全だぞ
わざわざVB.NETを選ぶ必要は無い

662 名前:デフォルトの名無しさん mailto:sage [2017/01/08(日) 14:22:29.23 ID:XDbKIsfA.net]
VBerでもC#やらせれば書けるよ
あいつら食わず嫌いしてるだけ
ただ書けるだけであってVBっぽい気持ち悪いC#コードが生産されるので書かせない方がいいのは確かだ

663 名前:デフォルトの名無しさん mailto:sage [2017/01/08(日) 14:37:23.20 ID:C9GVPqMv.net]
>>641
> 10年以上使わないなら、普通に使えるとは思えない
30年以上 FORTRAN を使ってないけど普通に使えるけど?

664 名前:デフォルトの名無しさん mailto:sage [2017/01/08(日) 14:51:06.05 ID:dpJgVr6u.net]
>>650
VB2008からはC#の開発チームと統合されて、VBを馬鹿にしてるアンダースの配下になったからね
それまでは独自路線だったが、以降は開発方針が変わってC#の方言になった

665 名前:デフォルトの名無しさん mailto:sage [2017/01/08(日) 14:59:20.01 ID:AV67jRu6.net]
Aの「vbに慣れてない人なんか少数派ではないんかいな」という主張にBが「vbに慣れてない奴はごろごろいる」
と反論するために「10年以上使ったことないって奴はごろごろいると思うけど」と反論の理由を言ったんだろう
と解釈できるし、そうなると、Cが「FORTRANを30年以上使ってなくても普通に使える」という主張は、Bへの反
論かいな。

666 名前:デフォルトの名無しさん mailto:sage [2017/01/08(日) 15:03:11.58 ID:dpJgVr6u.net]
慣れてなくてもC#使いがVB使うのは何の問題もないわ
3日で生え抜きのベテランVBerより品質の高いコードを書ける

667 名前:デフォルトの名無しさん mailto:sage [2017/01/08(日) 15:07:20.67 ID:AV67jRu6.net]
「普通のC#使いのほとんどはVBも普通に使えるぞ」や「普通のC#使いのほとんどはVBも普通に使えるぞ」
や「3日で生え抜きのベテランVBerより品質の高いコードを書ける 」等の発言から自分らを高く見せたい
というプライドがあるんだな。

668 名前:デフォルトの名無しさん mailto:sage [2017/01/08(日) 15:11:41.76 ID:AV67jRu6.net]
間違えた、2つ目の「・・・・」は正しくは「FORTRANを30年以上使ってなくても普通に使える」
と書こうとした。

669 名前:デフォルトの名無しさん mailto:sage [2017/01/08(日) 15:21:13.72 ID:tl4nBuMM.net]
わざわざ訂正しなくてもいいよ。読んでないから

670 名前:デフォルトの名無しさん mailto:sage [2017/01/08(日) 15:33:55.81 ID:j7hkxIjf.net]
VBerは動けばいいやって人が多い
C#erはコードにもこだわる



671 名前:デフォルトの名無しさん mailto:sage [2017/01/08(日) 15:41:15.76 ID:hmvsmXiF.net]
>>654
30年前のfortranってどんなの?

672 名前:デフォルトの名無しさん mailto:sage [2017/01/08(日) 15:46:08.09 ID:dpJgVr6u.net]
F77じゃね
パンチガードで入力してたから、固定フォーマットでコメント文字は何文字目に打つというような決まりがあった

673 名前:デフォルトの名無しさん mailto:sage [2017/01/08(日) 16:02:54.22 ID:XDbKIsfA.net]
VBは言語そのものではなく言語に纏わる文化が劣悪
VBで書ければC#でも書けるし逆も同じ
でも品質は全く違うものが出来上がる

674 名前:デフォルトの名無しさん mailto:sage [2017/01/08(日) 16:14:56.03 ID:AV67jRu6.net]
>>646 VB.NETスレで「キチガイ引き取って」と発言したな

675 名前:デフォルトの名無しさん mailto:sage [2017/01/08(日) 16:17:18.08 ID:mLyjhJYP.net]
とりあえずvb.netスレに移動しろ

676 名前:デフォルトの名無しさん mailto:sage [2017/01/08(日) 16:51:42.42 ID:CzVAxFca.net]
朝早くからわけわからんレス書き込んでいる基地外に触んなよ
お前らも暇だなあ

677 名前:デフォルトの名無しさん mailto:sage [2017/01/08(日) 17:06:56.44 ID:AV67jRu6.net]
何でお前らは人格異常なのか。
普通に疑問に答えればいいものを人格攻撃かいな。

678 名前:デフォルトの名無しさん [2017/01/08(日) 17:07:39.75 ID:bz1GF1b+.net]
ちょまどでも使えるのがC#

679 名前:デフォルトの名無しさん mailto:sage [2017/01/08(日) 17:18:11.47 ID:ZD9uWaqV.net]
VB使いはC#も読めなけきゃスレタイも読めないのか(呆れ

680 名前:デフォルトの名無しさん [2017/01/08(日) 17:22:24.24 ID:bz1GF1b+.net]
>>670
俺は褒めてるんだけど?



681 名前:デフォルトの名無しさん [2017/01/08(日) 19:41:33.47 ID:GefrbuSU.net]
別に言語なんてなんだろうが出来るに越したことはないだろ
世の中にはプログラミングが出来るだけで神様のように崇める挫折した人らがごまんといるんだからさぁ
ただ今さらVBは無いわなってだけで
ある程度のプログラミングのスキルがあれば大抵の言語やればできるわ

682 名前:デフォルトの名無しさん mailto:sage [2017/01/08(日) 19:47:55.76 ID:TbfsFEah.net]
消しとけって言っただろうが1日中相手しやがって休みに予定の一つもない暇人どもめ

683 名前:デフォルトの名無しさん mailto:sage [2017/01/08(日) 19:55:49.52 ID:zjQfPtHB.net]
>ある程度のプログラミングのスキルがあれば大抵の言語やればできるわ

察してあげる優しさも必要だと思うの。
・・・そうじゃなきゃこんなに拘ったりしないだろ。こんなどうでもいいことに。

684 名前:デフォルトの名無しさん mailto:sage [2017/01/09(月) 01:08:12.74 ID:vxkpROxT.net]
VBの問題は、VB6上がりがクソコード量産することであって、言語自体の問題とも思えんな
一部を除けばなれの問題じゃね?

685 名前:デフォルトの名無しさん [2017/01/09(月) 03:40:15.39 ID:iFTSomz+.net]
構造が異なるのにVisual Basicって名前が良くなかったな
C# LITEとかのがよかった

本当はVB6の文法のまま.NET化したほうがよかったが気がするけど

686 名前:デフォルトの名無しさん mailto:sage [2017/01/09(月) 08:28:02.64 ID:PTkphACT.net]
VB6的なものは、残してもらいたかった。

687 名前:デフォルトの名無しさん mailto:sage [2017/01/09(月) 09:27:26.68 ID:4NqOEoqD.net]
VB6は基本そのままでCLIインターフェースを定義・公開できるようにするだけでよかった
レガシーコンポーネントとの接合面に徹するということね

688 名前:デフォルトの名無しさん mailto:sage [2017/01/09(月) 10:11:36.58 ID:ES9C16us.net]
そもそも言語の違いだけで
やれることが変わるっておかしいだろ

Basicで低級から高級まで、技術計算からwebまで全部網羅しなさいよ

689 名前:デフォルトの名無しさん mailto:sage [2017/01/09(月) 10:20:44.97 ID:EPA1tS/m.net]
>>676
書き方が違うのにc#の名前つけるのと不自然だろ

690 名前:デフォルトの名無しさん mailto:sage [2017/01/09(月) 10:28:05.78 ID:5eZppcho.net]
不自然な日本語



691 名前:デフォルトの名無しさん mailto:sage [2017/01/09(月) 10:46:51.41 ID:4NqOEoqD.net]
日本語そのものがまず不自然
規格化して機械可読にしろ
曖昧過ぎて話にならん

692 名前:デフォルトの名無しさん mailto:sage [2017/01/09(月) 10:53:09.63 ID:Ml4ZG/LK.net]
>>681
「と」が多いだけで不自然じゃないだろ
そっちじゃなくて、>>679の相手してやれよ

693 名前:デフォルトの名無しさん mailto:sage [2017/01/09(月) 10:55:14.48 ID:qNaaD21i.net]
>>683
不自然すぎるだろ

694 名前:デフォルトの名無しさん mailto:sage [2017/01/09(月) 11:28:05.30 ID:EPA1tS/m.net]
不自然と言うかただの誤字脱字なんだが

695 名前:デフォルトの名無しさん mailto:sage [2017/01/09(月) 11:34:45.57 ID:GZgSniwS.net]
this.RemoveRange(スレタイ読めないやつら);

696 名前:デフォルトの名無しさん mailto:sage [2017/01/09(月) 11:49:57.75 ID:CAx+Qp4q.net]
RemoveAllじゃね

697 名前:デフォルトの名無しさん mailto:sage [2017/01/09(月) 12:04:50.19 ID:Ml4ZG/LK.net]
thisのスコープに注意

698 名前:デフォルトの名無しさん mailto:sage [2017/01/09(月) 23:22:09.65 ID:PtjtbCa1.net]
>>687
いやすでにゴミなら
GC.Collect();
が妥当

699 名前:デフォルトの名無しさん mailto:sage [2017/01/10(火) 22:17:04.74 ID:uwegHVoP.net]
//デブはLOHに残る
GCSettings.LargeObjectHeapCompactionMode = GCLargeObjectHeapCompactionMode.CompactOnce;
GC.Collect();

700 名前:デフォルトの名無しさん [2017/01/11(水) 23:03:15.22 ID:5ZcY/57e.net]
PHPのコンストラクタって__construct()で統一されてるけど
C#は相変わらずクラス名と同名で行くのかな

<?php
class BaseClass {
function __construct() {

}
}



701 名前:デフォルトの名無しさん mailto:sage [2017/01/11(水) 23:08:33.22 ID:1SbN3a75.net]
>>691
地味に面倒臭いな確かに
数が多くなると発狂レベル

702 名前:デフォルトの名無しさん mailto:sage [2017/01/11(水) 23:45:27.30 ID:SOQiv9G3.net]
public class Hoge(IFuga fuga) : IHoge {
public void DoSomething() { fuga.Hello(); }
}

こういう構文をサポートしてほしい
インジェクションで決まりきったコンストラクタと読み取り専用フィールドをダラダラ書くのがめんどくさい

703 名前:デフォルトの名無しさん mailto:sage [2017/01/11(水) 23:49:54.18 ID:IQVyJq11.net]
PHPは特殊だから比較にならない

704 名前:デフォルトの名無しさん mailto:sage [2017/01/12(木) 01:46:35.54 ID:9/EXlZU1.net]
>>691
同じ名前にするのって歴史的以外になんか理由があるのかね
まぁ、手打ちすることはないからコピペしたときぐらいしか気にはならんが

>>693
入りそうになったけど、レコード型と一緒に入れようとかで延期になった気がする

705 名前:デフォルトの名無しさん mailto:sage [2017/01/12(木) 07:05:51.82 ID:0A4eRqXF.net]
>>695
歴史って言うか C++ 由来でしょ
Delphi みたいにキーワードで指定する方法もあるし、PHP みたいに固定的な名前もある

706 名前:デフォルトの名無しさん mailto:sage [2017/01/12(木) 07:57:37.19 ID:gDCHiAoV.net]
まあ自動生成が面倒になったりするだけで特にメリットは無いわな
単にC++やJavaの人が違和感なく入れるように配慮しただけ
メソッド名にキーワード使うのはインデクサのthisとかあるから public new() がベストだと思う

707 名前:デフォルトの名無しさん mailto:sage [2017/01/12(木) 08:22:28.72 ID:arip6tnc.net]
PHP(笑)

708 名前:デフォルトの名無しさん [2017/01/12(木) 19:27:23.13 ID:xSuUU/8s.net]
>>698
ASP.NETよりも桁違いに普及してる時点で
.NETのが格下扱いだろ

709 名前:デフォルトの名無しさん mailto:sage [2017/01/12(木) 19:33:30.95 ID:2oeweQcz.net]
普及している方が優秀なの?

710 名前:デフォルトの名無しさん mailto:sage [2017/01/12(木) 20:12:53.07 ID:wTRJIMgP.net]
昔に流行ったけど保守性が低くて駆逐できなかっただけなんだとさ



711 名前:デフォルトの名無しさん mailto:sage [2017/01/12(木) 20:13:54.54 ID:QYJftQFG.net]
>>701
phpがか?

712 名前:デフォルトの名無しさん mailto:sage [2017/01/12(木) 21:40:32.87 ID:TJ6nofkx.net]
>>697
> public new() がベストだと思う
構造体は常に new する訳じゃないから

713 名前:デフォルトの名無しさん mailto:sage [2017/01/12(木) 22:00:11.00 ID:b+ED7Ag1.net]
>>703
構造体のコンストラクタが呼ばれるのは明示的にnewされた場合だけだからそれでいいだろ

714 名前:デフォルトの名無しさん mailto:sage [2017/01/12(木) 22:29:17.14 ID:3WOOMgjX.net]
new a()が

new new()扱いになるのがキモイ

715 名前:デフォルトの名無しさん mailto:sage [2017/01/12(木) 22:30:43.93 ID:3WOOMgjX.net]
a.が抜けてた

new a.new()

716 名前:デフォルトの名無しさん [2017/01/12(木) 22:38:31.12 ID:ja9bCuYX.net]
.NET Coreって普及してるの?もしくはこれからweb開発のスタンダードになりそう?

717 名前:デフォルトの名無しさん mailto:sage [2017/01/12(木) 22:47:22.93 ID:oQ7f95Jk.net]
なってほしいな
今は仕事だとphpとrailsメインだけどc#でなんでもやりたいわ
LAMPがどかーんと行ったのだって言語云々じゃなくサーバが無料ってのが大きかったと思うんよね

718 名前:デフォルトの名無しさん mailto:sage [2017/01/12(木) 22:50:38.88 ID:wTRJIMgP.net]
コスト安くなるし普及するだろうね
海外では

719 名前:デフォルトの名無しさん mailto:sage [2017/01/12(木) 22:53:57.51 ID:XIu+56Iq.net]
静的型でポータブルでオールインワンって他にないからな
Goの代わりくらいにはなれるかもね

720 名前:デフォルトの名無しさん [2017/01/12(木) 23:10:57.73 ID:xSuUU/8s.net]
>>708
VisualStudioも無料になったら
本気で普及し始めると思う

あと、ザマリンの導入がもうちょっと
解りやすくなったら



721 名前:デフォルトの名無しさん mailto:sage [2017/01/12(木) 23:45:09.08 ID:vtJ2CftH.net]
>>705
ならないでしょ
VBが>>697の言う仕様だけど、そんなことにはなってない

722 名前:デフォルトの名無しさん mailto:sage [2017/01/13(金) 07:15:03.66 ID:hmsqUFNG.net]
>>700
じゃあ俺の自作言語が最強だな
変数ないけど

723 名前:デフォルトの名無しさん mailto:sage [2017/01/14(土) 08:53:21.93 ID:rv9Bkqpt.net]
C#にはヘッダーファイルがない。
クラスはC++と全然書き方が違う。
Cの派生言語のように見せかけた、中身はVBと同じ言語だ。
こんなもんでVBよりC#のほうが偉いはずがない。

724 名前:デフォルトの名無しさん mailto:sage [2017/01/14(土) 09:02:17.10 ID:exppjyX7.net]
相談スレでは相談しろ

725 名前:デフォルトの名無しさん mailto:sage [2017/01/14(土) 10:10:34.71 ID:H4kTcvBH.net]
VBよりC#が偉い理由はラムダが書きやすいのと直感に反する余計な事をしないってとこだな

726 名前:デフォルトの名無しさん mailto:sage [2017/01/14(土) 11:52:35.26 ID:C/3o1CZS.net]
一つの言語にやたらこだわるのは無能だからだろうな
>>714
お前がバカなのはこのスレでよくわかったから、もう書かなくていいぞ

727 名前:デフォルトの名無しさん mailto:sage [2017/01/14(土) 12:41:03.27 ID:DO73KmNH.net]
これ以上カスに触るなら二郎コピペでこのスレ埋めてやる

728 名前:デフォルトの名無しさん mailto:sage [2017/01/14(土) 16:48:32.83 ID:OgQ0DzZw.net]
おう、はよ埋めろや

729 名前:デフォルトの名無しさん mailto:sage [2017/01/14(土) 20:18:03.67 ID:rv9Bkqpt.net]
>>717 どうバカなのかどうせまともな説明できないくせに黙ってろよ

730 名前:デフォルトの名無しさん mailto:sage [2017/01/14(土) 20:41:22.94 ID:JD3u+vgV.net]
スレタイ読めないのはバカだろ



731 名前:デフォルトの名無しさん mailto:sage [2017/01/14(土) 20:43:39.19 ID:dtN7VWLV.net]
むしろ埋めてもらった方がワッチョイで立て直せるし、いいかも
ネタも無いしいいだろって住み着くオカシイ奴ってどこにでもいるから

732 名前:デフォルトの名無しさん mailto:sage [2017/01/14(土) 20:44:39.50 ID:adzUep7y.net]
ワッチョイなんてつけるまでもなく一人だからスルーしとけばよくね

733 名前:デフォルトの名無しさん mailto:sage [2017/01/14(土) 20:45:16.55 ID:JD3u+vgV.net]
ワッチョイつけりゃ一週間は登録の手間が省ける

734 名前:デフォルトの名無しさん mailto:sage [2017/01/14(土) 20:58:45.21 ID:adzUep7y.net]
大きいコピペの連投とか見づらいもの以外でも細かくNG入れてる人も居るのか
自分が使ってないから登録のことは考えてなかったわすまんな

735 名前:デフォルトの名無しさん mailto:sage [2017/01/14(土) 22:03:54.65 ID:4p1bTVm6.net]
それ以上C#スレ荒らす気ならVBスレ荒らすぞ

736 名前:デフォルトの名無しさん mailto:sage [2017/01/14(土) 23:42:52.47 ID:OgQ0DzZw.net]
おう、はよ荒らせや

737 名前:デフォルトの名無しさん mailto:sage [2017/01/15(日) 06:06:15.67 ID:N0spz/4F.net]
異常な嫌悪してるやつ自身が荒らしとる自覚もてよ

738 名前:デフォルトの名無しさん mailto:sage [2017/01/16(月) 18:22:07.32 ID:h1Gia5xw.net]
俺も色々やってみたほうが良いと思うけど、PHPだけは専門にやってる人以外は危ないからやらないほうが良いかもな

739 名前:デフォルトの名無しさん mailto:sage [2017/01/17(火) 17:50:34.77 ID:cbxfPpyL.net]
ASPもPHPも言語ではなくフレームワークみたいな認識。

740 名前:デフォルトの名無しさん [2017/01/17(火) 18:27:11.28 ID:VcB0QsgY.net]
web系全般そんなもんじゃね?



741 名前:デフォルトの名無しさん mailto:sage [2017/01/17(火) 18:38:01.09 ID:TNo9RdVK.net]
web系以外のも同じだな

742 名前:デフォルトの名無しさん mailto:sage [2017/01/19(木) 02:27:36.32 ID:zUZJ1T5E.net]
VBのLike演算子が必要なので、C#という選択肢にならない。

InputBoxも使えるのがVB。
C#人は、C#使いながら、Microsoft.VisualBasic名前空間のライブラリを使ったりもしないのかな。

743 名前:デフォルトの名無しさん mailto:sage [2017/01/19(木) 03:12:26.89 ID:mclODO+O.net]
.NET標準になくてMicrosoft.VisualBasic名前空間にしかないライブラリ機能ってあるの?

744 名前:デフォルトの名無しさん mailto:sage [2017/01/19(木) 03:16:26.12 ID:HUduSCHL.net]
>>734
CSV絡みでTextFieldParserとか
CsvHelperあるしもう誰も使わんと思うけど

745 名前:デフォルトの名無しさん mailto:sage [2017/01/19(木) 03:28:23.32 ID:zUZJ1T5E.net]
ならばInputBoxの代わりになる.NET標準を教えてほしい。
Like演算子の代わりなるものもあるんかいな。正規表現まで持ち出するのは一手間だし。

746 名前:デフォルトの名無しさん mailto:sage [2017/01/19(木) 03:33:28.73 ID:zUZJ1T5E.net]
 マネージ拡張C++でTextFieldParser使おうとして、clコマンドでコンパイルしようとしたら、
なぜかコンパイラが異常終了したことがあった。VB.NETでないとexeが作れなかった。当時はC#
は勉強不足だったから、それでは試してない。

747 名前:デフォルトの名無しさん mailto:sage [2017/01/19(木) 04:14:58.96 ID:LVeuyfqa.net]
>>733
www.atmarkit.co.jp/ait/spv/1412/02/news129.html

748 名前:デフォルトの名無しさん mailto:sage [2017/01/19(木) 04:20:46.87 ID:LVeuyfqa.net]
>>736
inputBoxが必要でVBにしがみつく理由がわからない
そんなform一瞬で作れるだろ

749 名前:デフォルトの名無しさん mailto:sage [2017/01/19(木) 04:30:24.85 ID:zUZJ1T5E.net]
InputBoxは、すでに用意されているので、正に一瞬だが、互換Formを作るのは少なくとも1分はかかる。
VBならこんなものを自作して管理する煩わしさもなく、作成済みのフォームをプロジェクトに追加する
必要もない。

750 名前:デフォルトの名無しさん mailto:sage [2017/01/19(木) 04:39:21.41 ID:LVeuyfqa.net]
>>740
じゃあ逆に聞くけど、VBで.NET Core使ってんの?



751 名前:デフォルトの名無しさん mailto:sage [2017/01/19(木) 04:44:31.30 ID:zUZJ1T5E.net]
>>741 そんなものは知らん。だがVB.NETでInputBox利用すればそれを利用する必要もない。

752 名前:デフォルトの名無しさん mailto:sage [2017/01/19(木) 04:46:13.14 ID:LVeuyfqa.net]
>>742
…やっぱ触っちゃいけない人だった

753 名前:デフォルトの名無しさん mailto:sage [2017/01/19(木) 04:47:52.86 ID:2A4qP/TB.net]
>>740
https://blogs.msdn.microsoft.com/dotnet/2017/01/18/the-week-in-net-on-net-with-david-pine-pwdless-terraria/

.NETの勉強しててこれのF#以外をVBで試そうと思ったら、かなり大変じゃない?というかできるの?

754 名前:デフォルトの名無しさん mailto:sage [2017/01/19(木) 04:59:14.61 ID:zUZJ1T5E.net]
>>744 何のことについて書いてあるのかね。仮に日本語であったとしても、事前に何の説明もなくいきなり読んで理解できるかも疑問だ。

755 名前:デフォルトの名無しさん mailto:sage [2017/01/19(木) 05:04:07.77 ID:bDIUTWZ4.net]
>>745
英語も読めないなら消えな

756 名前:デフォルトの名無しさん mailto:sage [2017/01/19(木) 05:11:17.04 ID:zUZJ1T5E.net]
事前に何の説明もなく、話の背景や前提もわからず学術論文とかを急に読まされても、専門家でもない限り日本語でも理解できるはずがない。
専門家でも、論文全体ではなく、ある一部分だけを抜き出して、それが何の論文から引用したかも何かも示されなければ、理解できるとは限らないだろう。

757 名前:デフォルトの名無しさん mailto:sage [2017/01/19(木) 05:23:49.86 ID:bDIUTWZ4.net]
>>747
学術論文の話なんかしてねーよ
.NETのtipsがいろいろとまとめられてるけど、どうやってそれをVBに読み換えてんの?

758 名前:デフォルトの名無しさん mailto:sage [2017/01/19(木) 05:25:18.75 ID:LVeuyfqa.net]
>>747
ただのブログだろバカ

759 名前:デフォルトの名無しさん mailto:sage [2017/01/19(木) 05:26:05.83 ID:mclODO+O.net]
英語とはいえただのブログ記事を学術論文て

760 名前:デフォルトの名無しさん mailto:sage [2017/01/19(木) 05:31:36.41 ID:mclODO+O.net]
ていうかTerrariaってC#/XNAで書かれてたんだ…その記事で初めて知ったわ



761 名前:デフォルトの名無しさん mailto:sage [2017/01/19(木) 06:06:50.67 ID:zUZJ1T5E.net]
学術論文は例えばの話だろが。
いきなり長文を出されて、どこの何をどのようにして読むのか何も示さず、それをどうしてもらいたいのかも
説明がないと困るだろ。

762 名前:デフォルトの名無しさん mailto:sage [2017/01/19(木) 06:10:42.55 ID:JVh2O255.net]
>>752
説明してるだろVB脳

763 名前:デフォルトの名無しさん mailto:sage [2017/01/19(木) 06:16:44.40 ID:zUZJ1T5E.net]
このリンク先ページに示されてるC#のプログラムコードをVBに読み替える、あるいはVB用にコードを作り替える
のが大変ではないか、またはできるのか、あるいはその前に読み替えもできるのかを聞きたいのかね。

764 名前:デフォルトの名無しさん mailto:sage [2017/01/19(木) 06:18:51.75 ID:zUZJ1T5E.net]
>>753 わかるように説明しろよ

765 名前:デフォルトの名無しさん mailto:sage [2017/01/19(木) 06:21:00.70 ID:JVh2O255.net]
>>754
仕方ないからその中のこれだけでいいよ
www.codemag.com/Article/1701061

これVBでやってみ

766 名前:デフォルトの名無しさん mailto:sage [2017/01/19(木) 06:21:30.66 ID:mclODO+O.net]
>>754
最初からVBじゃなくてC#使ってれば何も悩まず書いてあるのをコピペして使えるよねって話じゃねえの

767 名前:デフォルトの名無しさん mailto:sage [2017/01/19(木) 06:21:31.93 ID:zUZJ1T5E.net]
C#の技術力以前に人格をどうにかしろよ。
バカ扱いすれば自分が偉くて高い立場だとでも思ってるのかね。

768 名前:デフォルトの名無しさん mailto:sage [2017/01/19(木) 06:25:06.37 ID:zUZJ1T5E.net]
>>756 仕方がないからこれだけでいいというから、分量を大幅に絞り込んだものかと思えば、これも大量にあるじゃないか。

769 名前:デフォルトの名無しさん mailto:sage [2017/01/19(木) 06:29:21.58 ID:JVh2O255.net]
>>759
少し見たらわかると思うけど、これ極々基本的なことしかやってないよ?むしろこれができないならVBには無理だわ

770 名前:デフォルトの名無しさん mailto:sage [2017/01/19(木) 06:29:25.97 ID:BbnbZdnl.net]
VBやると頭がおかしくなるということがよくわかった



771 名前:デフォルトの名無しさん mailto:sage [2017/01/19(木) 06:31:34.13 ID:LVeuyfqa.net]
そもそもVBなんて、まだ.NET Core1

772 名前:.0ですら正式対応してないからな []
[ここ壊れてます]

773 名前:デフォルトの名無しさん mailto:sage [2017/01/19(木) 06:34:19.96 ID:mclODO+O.net]
ID:zUZJ1T5Eが頭おかしくても、VB.NETのことは嫌いにならないでねっ!

774 名前:デフォルトの名無しさん mailto:sage [2017/01/19(木) 06:38:41.20 ID:zUZJ1T5E.net]
>>761 >>763
お前の頭がおかしいから、他人の頭がおかしいと思い込んでるだけだ。

775 名前:デフォルトの名無しさん mailto:sage [2017/01/19(木) 06:52:09.97 ID:zUZJ1T5E.net]
自分の主張を正当化できないから、相手をバカ扱いしてごまかすだけか。

776 名前:デフォルトの名無しさん mailto:sage [2017/01/19(木) 07:07:47.10 ID:krZQnAr8.net]
>>765
vb.netは自分も嫌いじゃないけど
ここはスレ違いと認識してそろそろやめませんか?

777 名前:デフォルトの名無しさん mailto:sage [2017/01/19(木) 07:09:56.04 ID:EGANxKDd.net]
伸びてると思えばまたVBネタかぁ
VBといえば
Microsoft.VisualBasic.FileIO.FileSystem.DeleteFile()
は便利だよね。よく使う

778 名前:デフォルトの名無しさん mailto:sage [2017/01/19(木) 07:30:09.62 ID:zUZJ1T5E.net]
>>766
 vbにはない有利なところ、切り替える価値を探ってるんだけどな。vbだけの有利
と思えるところが.netで代替策があるならそれもまず知る必要がある。その準備
なしで、漠然とC#使うだけなら意味がないし。そのためにC#を知るための話題だか
らな。

779 名前:デフォルトの名無しさん mailto:sage [2017/01/19(木) 07:38:27.30 ID:Xmxeyump.net]
>>768
知ろうとしてないだろ

780 名前:デフォルトの名無しさん mailto:sage [2017/01/19(木) 07:42:49.69 ID:b0abdje/.net]
俺もN-BASIC世代だからVB好き



781 名前:デフォルトの名無しさん mailto:sage [2017/01/19(木) 07:55:09.76 ID:mclODO+O.net]
>vbにはない有利なところ、切り替える価値
なんて、>>744をはじめとする最先端のコード資源がほぼコピペだけで使えるってだけで十分じゃん

782 名前:デフォルトの名無しさん mailto:sage [2017/01/19(木) 07:57:11.06 ID:q3hudiC7.net]
行番号のないBASICは所詮偽モノ。インタプリタでもねーし。
BASICのいいところはすべて失われた。

783 名前:デフォルトの名無しさん [2017/01/19(木) 07:59:57.29 ID:Ntb3+hAE.net]
.NET Coreに関する和書かいいサイトってある?

784 名前:デフォルトの名無しさん mailto:sage [2017/01/19(木) 08:00:00.05 ID:Xmxeyump.net]
>>771
VBでも同様の処理を書けるならまだしも、そもそもフレームワークでサポートされてないからな

785 名前:デフォルトの名無しさん mailto:sage [2017/01/19(木) 08:02:10.58 ID:Xmxeyump.net]
>>773
体系的にまとめられてるのは見たことないから、素直に公式のdocs読むのが一番手っ取り早いよ
まあVisual Studio2017が出た時点で大幅に修正が入るからね

786 名前:デフォルトの名無しさん mailto:sage [2017/01/19(木) 08:29:16.46 ID:9oxUjj4Y.net]
急に伸びてると思ったらこれかー

787 名前:デフォルトの名無しさん mailto:sage [2017/01/19(木) 09:22:15.10 ID:X4NEWeGC.net]
>>758
相対的にそうなるね

788 名前:デフォルトの名無しさん mailto:sage [2017/01/19(木) 13:01:19.54 ID:0ZEPc8s2.net]
MODIを使って並列処理をすると、スレッド数が論理コア数では固まるが物理コア数だと動いてしまう
原因わかりますか?

789 名前:デフォルトの名無しさん [2017/01/19(木) 16:18:48.05 ID:C+ssGhBJ.net]
またVBガイジかよ

790 名前:デフォルトの名無しさん mailto:sage [2017/01/19(木) 18:03:11.37 ID:t+KfFfyK.net]
コピペって・・・。そのままコピーするだけか。
普通はコードを理解して、自分の作る目的のプログラムに合わせて必要変更をするだろうが。
ただのコピペ厨の自称プログラマーかいな。



791 名前:デフォルトの名無しさん mailto:sage [2017/01/19(木) 18:10:34.08 ID:yUxFIvB5.net]
真っ赤だな

792 名前:デフォルトの名無しさん mailto:sage [2017/01/19(木) 19:01:51.57 ID:Ccs4bPhG.net]
>>767
ワイルドカードが使えるから便利ってこと?

793 名前:デフォルトの名無しさん mailto:sage [2017/01/19(木) 19:56:33.00 ID:mclODO+O.net]
>>780
もちろん必要があれば読むよ
でも他人がもう書いてるコードなんて可能な限り自分で書き直さないで済むほうがいいんだよ
そもそもライブラリってそういうもんだろ

794 名前:デフォルトの名無しさん [2017/01/19(木) 20:37:07.91 ID:Ntb3+hAE.net]
>>775
ありがとう
Core始めてみてEntity Framework使おうとしたら
dotnet efのコマンドが通らなくていきなりくじけたでござる

795 名前:デフォルトの名無しさん mailto:sage [2017/01/19(木) 20:45:51.31 ID:xEZd6WIv.net]
>>784
Entity Framework Coreは、まだOracleが正式にサポートされてないのが辛いね

796 名前:デフォルトの名無しさん mailto:sage [2017/01/20(金) 03:17:40.48 ID:mnoV+t38.net]
>>782
ゴミ箱に入れられるからでしょ

797 名前:デフォルトの名無しさん mailto:sage [2017/01/20(金) 07:11:21.34 ID:1c/0Zcpc.net]
君らcoreは何に使うん?

798 名前:デフォルトの名無しさん mailto:sage [2017/01/20(金) 07:26:59.76 ID:73D0Dll6.net]
何にもクソもCoreはLinuxサーバーでWebサイトを運用するためのもんだよ
Windowsで運用とか苦痛でしかないし

799 名前:デフォルトの名無しさん mailto:sage [2017/01/20(金) 07:30:05.91 ID:1c/0Zcpc.net]
>>788
iis便利やん。何が苦痛なん?

800 名前:デフォルトの名無しさん mailto:sage [2017/01/20(金) 07:32:52.88 ID:Bg1tCMvm.net]
Linuxの方が苦痛だよ
システムやアプリの設定方法に統一感なくてわかりにくいし
SeLinuxとか鬱陶しいし
コマンドへのIOが文字列とか前時代的だし
スイッチも一文字じゃ何やってるサッパリかわからん



801 名前:デフォルトの名無しさん mailto:sage [2017/01/20(金) 08:16:51.86 ID:uaOwYInA.net]
>>788
APIも知らないのかな?ASP.NETにおけるWebサイトとWebアプリの違いはわかってるかい?

802 名前:デフォルトの名無しさん mailto:sage [2017/01/20(金) 08:43:19.35 ID:kuRbEAeZ.net]
>>791
さすがにその言いがかりは無理があるだろ
Webサイトと聞いてASP.NET用語のWebサイトのことだと思っちゃう人は相当特殊だということを自覚したほうがいいよ

803 名前:デフォルトの名無しさん mailto:sage [2017/01/20(金) 10:28:22.73 ID:l+Qn6xw4.net]
.NET Core 自体には 1 つのアプリケーション モデル (コンソール アプリ) が含まれており、ツール、ローカル サービス、およびテキストベースのゲームに便利です。

次のような機能を拡張するために、.NET Core の上に追加のアプリケーション モデルがビルドされています。
ASP.NET Core
Windows 10 ユニバーサル Windows プラットフォーム (UWP)
Xamarin.Forms

https://docs.microsoft.com/ja-jp/dotnet/articles/core/

804 名前:デフォルトの名無しさん mailto:sage [2017/01/20(金) 11:07:17.26 ID:uaOwYInA.net]
>>792
単に無知なやつを茶化してるだけだろ

805 名前:デフォルトの名無しさん [2017/01/21(土) 12:06:38.55 ID:qCdjOj58.net]
C#を勉強してるのですが、無償環境の為インストーラーの作成が出来ません
動作環境を知ることができる特定の相手のみアプリケーションを配布するのにインストーラーが必要なのはどういった場合になるでしょうか

806 名前:デフォルトの名無しさん mailto:sage [2017/01/21(土) 12:42:00.19 ID:wnvzR/a/.net]
>>795
どんな無償環境?
無償環境だけが条件ならVisual Studio Community 2015 でインストーラーを作れるけど

807 名前:デフォルトの名無しさん mailto:sage [2017/01/21(土) 13:15:17.44 ID:3w6w5xSi.net]
翻訳ソフト使ったのかな

808 名前:デフォルトの名無しさん [2017/01/21(土) 13:26:11.74 ID:DU5/M7G9.net]
>>796
ありがとう。調べてみたら
Installer projectっていうのがあるんだね

809 名前:デフォルトの名無しさん mailto:sage [2017/01/22(日) 05:11:30.27 ID:SRnP25ta.net]
コードはいじれないdllにClickイベントがあって

private void OnClick(object sender, DeviceGestureEventArgs e)
{
  // いろいろ処理
}

Clickイベント自体はpublicです。
Clickイベントをどうにかしてこの いろいろ処理 を無効にできますか?
button.Click -= OnClick; みたいなことがやりたいのですが。

810 名前:デフォルトの名無しさん mailto:sage [2017/01/22(日) 08:34:45.29 ID:6kGfbYFS.net]
HogeクラスにClickとOnclickがあって、イベントの型がFugaEventHandlerとして
var m = hoge.GetType().GetMethod("OnClick", BindingFlags.NonPublic | BindingFlags.Instance);
var h = (FugaEventHandler)m.CreateDelegate(typeof(FugaEventHandler), hoge);
hoge.Click -= h;



811 名前:デフォルトの名無しさん mailto:sage [2017/01/22(日) 09:43:23.66 ID:phG9hQKS.net]
>>799
継承して OnClick (>>799に書いてあるものではなくてこれhttps://msdn.microsoft.com/en-us/library/system.windows.forms.control.onclick(v=vs.110).aspx)
をオーバーライドして潰せばClickイベントは発生しなくなる

812 名前:デフォルトの名無しさん mailto:sage [2017/01/22(日) 10:20:22.86 ID:SRnP25ta.net]
>>800-801
ありがとうございます。
いけそうです。

813 名前:デフォルトの名無しさん mailto:sage [2017/01/22(日) 23:41:02.88 ID:B37Hjrvb.net]
2GBを超えるバイナリファイルをbyte配列に取り込もうとしているのですがうまくいきません

byte[] bs = System.IO.File.ReadAllBytes(file_path);
↑これだと2GB未満にしろといわれます

できるだけ分割したくないのですが方法はありますか?

814 名前:デフォルトの名無しさん mailto:sage [2017/01/22(日) 23:47:39.67 ID:5CC/gWkn.net]
[] ←これが2Gまでじゃないかな

815 名前:デフォルトの名無しさん mailto:sage [2017/01/22(日) 23:56:07.82 ID:f0ZpZ2O5.net]
C#って2GiBの壁も超えられないクソ言語なの!?

816 名前:デフォルトの名無しさん [2017/01/22(日) 23:58:32.97 ID:2orbyh8h.net]
https://msdn.microsoft.com/ja-jp/library/hh285054(v=vs.110).aspx

817 名前:デフォルトの名無しさん mailto:sage [2017/01/22(日) 23:59:03.69 ID:7Uo1H//c.net]
>>803
配列の長さは仕様上Int32なのでどうしようもない

818 名前:デフォルトの名無しさん mailto:sage [2017/01/23(月) 00:06:09.00 ID:dQYVkXPH.net]
>>803
stackoverflow.com/questions/26882004/system-io-file-readallbytes-for-file-larger-than-2gb
msdn.microsoft.com/ja-jp/library/hh285054%28v=vs.110%29.aspx
abe-masato.cocolog-nifty.com/blog/2014/08/c-2gb-8da2.html
C# 2GB でググレカス

819 名前:デフォルトの名無しさん mailto:sage [2017/01/23(月) 00:14:05.50 ID:iJ5kh901.net]
2GBってネタじゃなくて真面目に言ってるのかw
少なくとも現時点では富豪的過ぎる気がするんだけどw
ムーアの法則とっくに終わってるし将来的にも疑問だなあw

まあ現時点でも動作環境を限定できるならそれほど非現実な数字でもないんだろうけど

820 名前:デフォルトの名無しさん mailto:sage [2017/01/23(月) 00:41:33.95 ID:ft2qOqRV.net]
803じゃないけど、

10〜20個くらいのプロパティを持つクラス(ほとんどstring型)の、数百万個単位のインスタンスを処理したい
(現在百数十万個だがデータは日々増えていて、将来的には500万個以上のデータを扱いたい)
データ追加時を除けば1つのデータのプロパティを書き換えることはあまりない
全データを対象に集計や抽出をバリバリやる

今はこのクラスのジェネリックリストでメモリ上に保持していて、XmlSerializerとStreamReader/Writerでロード/セーブしてるけど、
500MB以上のファイル読み書きに十秒単位で時間が掛かるようになってきてしまい、使用メモリも多いときは1GBに届きそうになってきた

個人のPCでも実現出来る範囲で何か工夫して軽量化するとすれば、どういうやり方があるだろうか
データベースを使うと却って重くなる?



821 名前:デフォルトの名無しさん [2017/01/23(月) 01:00:04.12 ID:AKblCqbZ.net]
DB使え

822 名前:デフォルトの名無しさん mailto:sage [2017/01/23(月) 01:17:39.68 ID:ft2qOqRV.net]
やはりデータベースか…
この規模のデータでデータベースを使うなら何がいいですかね?

823 名前:デフォルトの名無しさん mailto:sage [2017/01/23(月) 05:19:54.65 ID:3LnhEFNW.net]
>>810
むしろそんなになるまでデータベースを使わない選択をしてたのが信じられんわ

824 名前:デフォルトの名無しさん mailto:sage [2017/01/23(月) 07:25:59.67 ID:4eKNVnEB.net]
>>812
postgresかな
高性能で、ライセンスが緩く、比較的ローカルでも利用されることの多い非常に有名なDBMSだ
広く配布するようなものではなさそうに見えるから、
SQLiteみたいな組込型に拘る必要はないと思う

825 名前:デフォルトの名無しさん mailto:sage [2017/01/23(月) 08:36:41.41 ID:mc6Hyr1K.net]
>>812
SQL-SERVER LocaDB でいいんじゃね?
Visual Studio から操作できるし
他の端末からも参照したいって言われたら SQL-SERVER Express に移行すればいいし
もっとでかくなったら Standard や DataCenter Edition あるし

826 名前:803 [2017/01/23(月) 11:57:28.95 ID:Enhoy4E3.net]
>>804
>>805
>>807
>>808
レスありがとうございます
<gcAllowVeryLargeObjects> を有効にしてもbyte配列自体が2GB超えて作ることができないため
それそも不可能ということでよろしいですか?
その場合、int32などに配列作りなおしたいと思います

827 名前:デフォルトの名無しさん mailto:sage [2017/01/23(月) 12:04:12.14 ID:uKeJP+/b.net]
byte[]としては無理
byte*にするなら可能

828 名前:デフォルトの名無しさん mailto:sage [2017/01/23(月) 13:01:08.68 ID:GKpZ78C8.net]
>>816
バイナリファイルの編集が目的ならreader/writer使えば良いんじゃないの

829 名前:デフォルトの名無しさん mailto:sage [2017/01/23(月) 21:01:33.61 ID:bI3M8V88.net]
>>816
ビルドターゲットはx64になってる?
AnyCPUだと最近のは32bitを優先がデフォルト設定だから上手く行かないかも。こっちを直しても良いけど。
いずれにせよ、64bit環境は必須。

830 名前:デフォルトの名無しさん mailto:sage [2017/01/23(月) 21:16:01.30 ID:4O+fDoKV.net]
>>815
SQL Server Expressは10GB制限があるから話にならんよ
DBまでわざわざMSにロックインとかアホらしいし



831 名前:デフォルトの名無しさん mailto:sage [2017/01/23(月) 21:55:33.04 ID:3LnhEFNW.net]
>>820
じゃあ何がおすすめなの?教えて先生!

832 名前:デフォルトの名無しさん mailto:sage [2017/01/23(月) 21:58:50.93 ID:hTicmAdc.net]
postgreオヌヌメ

833 名前:デフォルトの名無しさん mailto:sage [2017/01/23(月) 21:59:47.37 ID:LuyUsAN1.net]
>>820
10GBも有れば十分だと思う

834 名前:デフォルトの名無しさん mailto:sage [2017/01/23(月) 22:29:35.23 ID:4O+fDoKV.net]
>>823
既に500MBあってまだまだ増えるって言ってるのに何を根拠に十分だというのか
いくつも一時テーブル作ったりしたらカツカツだろ
DBってそれぞれに結構癖屋独特のノウハウがあるから、後で問題が出てから乗り換えるより最初から一本に決めたほうがいい
MSに金払う気がないならpostgresにしとけ

835 名前:デフォルトの名無しさん mailto:sage [2017/01/23(月) 22:53:34.66 ID:uKeJP+/b.net]
>>824
>(現在百数十万個だがデータは日々増えていて、将来的には500万個以上のデータを扱いたい)
> XmlSerializerとStreamReader/Writerでロード/セーブしてるけど、
> 500MB以上のファイル読み書きに十秒単位で時間が掛かる

今のデータで考えると10GBには百数十万個の20倍
今のデータはxml
どんな根拠で10GBが不十分だというのか逆に聞きたい

836 名前:デフォルトの名無しさん mailto:sage [2017/01/23(月) 22:59:20.56 ID:UsEI+ALW.net]
>>824
理由もなしにpostgresとな

837 名前:デフォルトの名無しさん mailto:sage [2017/01/23(月) 23:08:01.01 ID:wWnQplUy.net]
話は変わるけど、LocalDBをOS標準にしてくれると嬉しいんだけどな

838 名前:デフォルトの名無しさん [2017/01/23(月) 23:15:06.54 ID:wcSM/s0i.net]
いまだにPOCOの概念がよくわからないんだけど、POCOと対になるものと併せて誰か教えてクレメンス

839 名前:デフォルトの名無しさん mailto:sage [2017/01/23(月) 23:19:31.21 ID:4eKNVnEB.net]
>>828
わかりやすいのは型付データセットだな
強制された基底クラスや大量の自動生成コードにクソミソに汚されたクラスのことだ

840 名前:デフォルトの名無しさん mailto:sage [2017/01/23(月) 23:25:33.94 ID:8CargB7Y.net]
DBはころころ変わり続けるのはもうやめてほしいな



841 名前:デフォルトの名無しさん mailto:sage [2017/01/24(火) 01:13:39.09 ID:JiOoKhp+.net]
>>816
GetValueなら64bitを指定できはする
64bitなら一応確保できるのかなぁ

だけど、そもそも2GB超の連続領域を安定して確保できるかは不安
メモリマップとかも検討したら?

842 名前:デフォルトの名無しさん mailto:sage [2017/01/24(火) 08:39:50.24 ID:HHZbO6eg.net]
>>820
> SQL Server Expressは10GB制限があるから話にならんよ
生の XML を格納する訳じゃないだろうしデータ圧縮もできるし話にならないのは君のちんけな知識じゃないかな? w
PostgreSQL もいいと思うけどちょっとしたデータの確認とかを Visual Studio でできる SQL-Server の便利さは捨てがたい

843 名前:デフォルトの名無しさん mailto:sage [2017/01/24(火) 08:42:05.80 ID:JKcqAdCJ.net]
その程度の便利さならどうでもいいな
GUIの管理ツールを使えば済む話

844 名前:デフォルトの名無しさん mailto:sage [2017/01/24(火) 08:42:56.64 ID:HHZbO6eg.net]
>>827
内部的には SQL-Server のプロセス動いてるから大多数の人には邪魔にしかならんと思う

845 名前:デフォルトの名無しさん mailto:sage [2017/01/24(火) 08:46:39.86 ID:ghFC1Ntr.net]
sqlserverってselectでもデッドロックするからヤダ

846 名前:デフォルトの名無しさん mailto:sage [2017/01/24(火) 10:25:32.84 ID:tgh5wy6g.net]
>>834
Vistaか7あたりから、ファイルシステムがSQL Serverベースになるという話があったよな

847 名前:デフォルトの名無しさん mailto:sage [2017/01/24(火) 10:52:48.75 ID:g9KGWoah.net]
>>835
ちょっとはググれよ

848 名前:デフォルトの名無しさん mailto:sage [2017/01/24(火) 11:02:46.65 ID:tjYeiy24.net]
OSにDBもたせるとかまたセキュリティホールの温床やん

無駄な機能は悪

849 名前:デフォルトの名無しさん mailto:sage [2017/01/24(火) 11:05:54.15 ID:4uwrNeCv.net]
DB=セキュリティホールときたかw

850 名前:デフォルトの名無しさん mailto:sage [2017/01/24(火) 11:23:21.18 ID:1ohBhH6C.net]
痴性溢れる御意見ですね



851 名前:デフォルトの名無しさん mailto:sage [2017/01/24(火) 11:25:32.73 ID:b/7/gkXo.net]
たしかにレジストリも一種のDBでセキュリティホールの温床だから
OSで各種設定を保持するのはやめよう(名案)

852 名前:デフォルトの名無しさん mailto:sage [2017/01/24(火) 11:28:18.15 ID:nhx4+y/y.net]
>>836
頓挫しちゃったのが勿体無い

853 名前:デフォルトの名無しさん mailto:sage [2017/01/24(火) 11:47:35.47 ID:HE6oytLN.net]
ゲイツ3世さんがずいぶん入れ込んでたみたいだったけど、正直俺にはアレのメリットが
さっぱり理解できんかった。

854 名前:デフォルトの名無しさん mailto:sage [2017/01/24(火) 12:20:30.56 ID:b/7/gkXo.net]
ツリー式のファイル管理はもう人が把握できる限界に近づいてると思うし
もっとリッチなタグ情報をファイルシステムで持たせて
OSの検索機能に統合する思想は支持するよ

855 名前:デフォルトの名無しさん mailto:sage [2017/01/24(火) 12:43:39.44 ID:HHZbO6eg.net]
>>833
> GUIの管理ツールを使えば済む話
それをいちいちインストールするのが面倒だって話

856 名前:デフォルトの名無しさん mailto:sage [2017/01/24(火) 12:47:25.25 ID:HHZbO6eg.net]
>>836
WinFS か
いい考え方だと思うがちょっと構想が壮大すぎたな

857 名前:デフォルトの名無しさん mailto:sage [2017/01/24(火) 13:11:04.23 ID:VXWwcrkC.net]
ゲイツは過去にXMLは使い物にならないと言った。

WinFS、WPF・・・ゲイツはやはり生粋のプログラマである。

858 名前:デフォルトの名無しさん mailto:sage [2017/01/24(火) 15:21:09.38 ID:iRQG5obN.net]
WPFでXAMLにGoサインだしておいてよく言う

859 名前:デフォルトの名無しさん mailto:sage [2017/01/24(火) 15:39:07.83 ID:VXWwcrkC.net]
ゲイツはVista以降はタッチしていない。

860 名前:デフォルトの名無しさん mailto:sage [2017/01/25(水) 03:10:02.58 ID:WHRwTArY.net]
>>847
全部読まないと一部分が取り出せないってのがデータが多くなると致命的だよね



861 名前:デフォルトの名無しさん mailto:sage [2017/01/25(水) 07:15:37.99 ID:fntd/u0o.net]
そこまででかいならDB使えってことでしょ

862 名前:デフォルトの名無しさん mailto:sage [2017/01/25(水) 11:50:15.36 ID:3NBpStvW.net]
JAVAやVB6、WPF、LINQが遅くないと暴れてるアホと同じ臭いがする。
機械語NativeとそうでないPGとに根本的な認識の断絶がある。

863 名前:デフォルトの名無しさん mailto:sage [2017/01/25(水) 11:53:43.34 ID:2idQLFdG.net]
悪いけど暴れてるのは君の方だと思うw

864 名前:デフォルトの名無しさん mailto:sage [2017/01/25(水) 11:59:10.65 ID:uJriqNlz.net]
同感w

865 名前:デフォルトの名無しさん mailto:sage [2017/01/25(水) 12:27:26.41 ID:eMOc+Lms.net]
もう一票
時代について行けてないお爺ちゃん頑張って

866 名前:デフォルトの名無しさん mailto:sage [2017/01/25(水) 12:38:38.29 ID:obtTERoQ.net]
そもそもVB6は割りと早かっただろうに
C#に移行するときにモッサリ感でイライラした人も多かったはずだが

867 名前:デフォルトの名無しさん mailto:sage [2017/01/25(水) 14:12:06.66 ID:LppA2Fcl.net]
C#も実行時は機械語だし、VB6なんて完全に機械語だろ

868 名前:デフォルトの名無しさん mailto:sage [2017/01/25(水) 14:18:51.33 ID:7AoQtGUX.net]
>>855
+1
>>854
+1
>>853
+1
>>852
-1

869 名前:デフォルトの名無しさん [2017/01/25(水) 16:32:03.08 ID:ABI1PFb6.net]
ラムダガイジ、LINQガイジ、staticおじさん、VBガイジは巣に帰れ

870 名前:デフォルトの名無しさん mailto:sage [2017/01/25(水) 19:30:14.67 ID:/wdbuGDr.net]
俺も>>853にもう一票。
ただそれ以前に暴れている奴がいないと思うが。

あとC#はnativeでは無くMSILだろ。そして必要十分な速度は出ていると思うよ。
DBについては、自前でDBモドキを作る位なら最初からDB使えって話だろ。
ただしOSは今のNTFS+検索用インデックス(現行システム)でいいと思うけどね。
大半は階層化で問題ないし、必要あればDBを動作させればいいだけ。
WPFは使ったこと無いが、中途半端なものを作るのではなく、
最初からHTMLにしとけばよかったと思う。



871 名前:デフォルトの名無しさん mailto:sage [2017/01/25(水) 19:33:54.26 ID:G7Mt73tJ.net]
>>860
C#は実行時はネイティブだよ
Javaみたいなインタプリタとのハイブリッドとも違い、ほぼAOTな方式

872 名前:デフォルトの名無しさん mailto:sage [2017/01/25(水) 19:34:38.55 ID:uJriqNlz.net]
>>857が言ってるのはCPUに命令渡されるときは機械語だってような意味でしょw

873 名前:デフォルトの名無しさん mailto:sage [2017/01/25(水) 20:00:27.57 ID:/wdbuGDr.net]
>>861
JITと言えよ。話が余計におかしくなるだろ。
とはいえMonoは直接native吐けるようだが。

874 名前:デフォルトの名無しさん mailto:sage [2017/01/25(水) 20:06:49.55 ID:a2fwv9ft.net]
>>863
.NETは起動時にコンパイルだから、JavaのHotSpotみたいなのが真のJITだとするなら実質的にはAOT寄りでしょ
あくまでコンパイルするタイミングの問題でしかないので、ngenや.NET Nativeみたいなのも技術的に難しくない
Cのソースを実行前にコンパイルしてるようなもんだ

875 名前:デフォルトの名無しさん mailto:sage [2017/01/25(水) 21:03:29.96 ID:/wdbuGDr.net]
>>864
所詮は言葉の定義だから争う意味はないんだが、
普通は「直接実行出来ない形式」(=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にしたら、難読化はかなり進むのかな?

876 名前:デフォルトの名無しさん mailto:sage [2017/01/26(木) 02:07:47.45 ID:NrOKhjjD.net]
>>865
技術が進歩したり、複合技を使うようになったから言及することにあんまり意味はないんだけどね

MSILで配布してインストーラでngenをかけるソフトとか、AndroidのArtの事前コンパイルを見ればAOTというのも間違いではない

877 名前:デフォルトの名無しさん mailto:sage [2017/01/26(木) 07:09:13.07 ID:hf6GrTPo.net]
今度は完全に論破しないと気がすまない奴が集まりだしたなぁ

878 名前:デフォルトの名無しさん mailto:sage [2017/01/26(木) 09:22:35.13 ID:+HXQGO57.net]
c#で出来たms製の製品って何がありますか?

879 名前:デフォルトの名無しさん mailto:sage [2017/01/26(木) 09:47:45.25 ID:e+Zq8z+D.net]
>>868
Visual Studio

880 名前:デフォルトの名無しさん mailto:sage [2017/01/26(木) 10:33:30.90 ID:MZPXqvXg.net]
>>869
devenv.exe
cl.exe
ml.exe
nmake.exe
link.exe
こういうの全部ネイティブなんだが、C#で作ってネイティブ化してるのか?w



881 名前:デフォルトの名無しさん mailto:sage [2017/01/26(木) 11:30:14.20 ID:Bx3m0kqD.net]
>>870
例えばdevenv.exeとかファイルサイズが1MBすら無いけどそれだけでVS動いてんの?

882 名前:デフォルトの名無しさん mailto:sage [2017/01/26(木) 12:08:47.81 ID:sD2fcvWW.net]
>>871
何馬鹿なこと言ってるんだ?
今俺が起動してるVSだとntdll.dlljから数えて426モジュールロードされてるが、その中にはC#で作られてるのもあるよ
VSはVSで作られてるかもしれんが、VSはC#で作られてるとは言わないだろ

883 名前:デフォルトの名無しさん mailto:sage [2017/01/26(木) 12:13:43.88 ID:ecr0NxNG.net]
馬鹿はおめーだよ死ねガイジ

884 名前:デフォルトの名無しさん mailto:sage [2017/01/26(木) 12:23:03.13 ID:A9+CgNOi.net]
どうでもいいですよ

885 名前:デフォルトの名無しさん mailto:sage [2017/01/26(木) 14:11:50.02 ID:+5gKaLQm.net]
>>872
>その中にはC#で作られてるのもあるよ
どのくらいの割合で?

886 名前:デフォルトの名無しさん mailto:sage [2017/01/26(木) 14:51:13.51 ID:sD2fcvWW.net]
>>875
このスレにいるならVSぐらい入れてるだろ。興味あるなら自分で数えろよ

887 名前:デフォルトの名無しさん mailto:sage [2017/01/26(木) 15:46:52.91 ID:NrOKhjjD.net]
VSはWPF製

888 名前:デフォルトの名無しさん mailto:sage [2017/01/26(木) 15:54:26.65 ID:mfu+uciH.net]
ガワがWPFでネイティブツール群を呼び出しているならC#製と言っていいね

889 名前:デフォルトの名無しさん mailto:sage [2017/01/26(木) 16:25:36.23 ID:eYmqMcR3.net]
VS2010からWPFになって激重。

890 名前:デフォルトの名無しさん mailto:sage [2017/01/26(木) 17:41:07.76 ID:Ofw1Wwb+.net]
SSD君登場



891 名前:デフォルトの名無しさん mailto:sage [2017/01/26(木) 18:25:52.64 ID:BIlB42US.net]
"PrismUnityApplication" は名前空間 "using:Prism.Unity.Windows" に存在しません。

とエラー一覧に出るようになって

<prism:PrismUnityApplication

に波線が付くようになったんだけどどうすれば直りますか?
プログラムは何の問題もなく動きます。

892 名前:デフォルトの名無しさん mailto:sage [2017/01/26(木) 18:38:59.08 ID:RbsnIhge.net]
>>879
逆でしょ
偶にVS2010使うと糞重くてイライラするぐらいなのに

893 名前:デフォルトの名無しさん [2017/01/26(木) 20:12:45.99 ID:FrBndq/i.net]
質問すみません
今MVCでEntityFrameworkの勉強中なんですけど、DisplayNameの属性で日本語指定すると文字化けするんですが何が原因と思われるでしょうか

894 名前:デフォルトの名無しさん mailto:sage [2017/01/26(木) 20:39:43.56 ID:kmw2XayL.net]
>>883
えーっと俺も経験あるような

895 名前:Cがするんだが思い出せない。
どうにかしたら直ったと思う。
[]
[ここ壊れてます]

896 名前:デフォルトの名無しさん mailto:sage [2017/01/26(木) 20:50:44.48 ID:Ofw1Wwb+.net]
>>881
気にしない
xamlのコンパイラ統合は未だみたいだね

897 名前:デフォルトの名無しさん [2017/01/26(木) 21:45:58.05 ID:3P/eAUHh.net]
>>884
ありがとうございます
そうですか。このあいだまでは確か普通に出来てたんですよね。。
プロジェクト変えたりweb.configでencoding書いてみてもダメでどうしたものかと

898 名前:デフォルトの名無しさん mailto:sage [2017/01/26(木) 21:47:05.34 ID:He8RO7U3.net]
>>866
何で君がAOTということにしたいのかよく分からんが、
俺は誤解の少ない言葉を使えと言っているだけ。
主流派がMSILならJITと言うべき。
主流派が君の言うようにnativeならAOTと言うべき。それだけ。
君がAOTだと言い張るのは自由だが、周りから見たら面倒な奴でしかない。

ただAOTは時間予算が潤沢であるところが本質的に異なる。
> しかし,AOT方式をいざ導入してみると,サイズの大きなアプリのインストールや,
> 一度に複数のアプリをアップデートするような場合にコンパイルに時間がかかり,
> 場合によっては20分程度かかるケースが存在していたようです。
> このインストール時間を問題と捉えて,
> Android NのARTでは,JIT方式をもう一度使うことになりました。
> これまでのAOT方式を止めてしまったというワケではなく,実行のタイミングが変わり,
> 端末がアイドル中かつ充電されている場合のみに変更されることになりました。
> 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++より悪いし、よくなることはない。
これを踏まえた上で、そのアプリにとって最適な言語を選択すればいいだけのこと。

899 名前:デフォルトの名無しさん mailto:sage [2017/01/26(木) 21:48:44.28 ID:6c1mJ3TJ.net]
>>875
デバッガのホストのように、目的の性質上ネイティブでなければならない一部のものを除けばほぼ全て
VS2010のときに全面的にC#で作り直したらしいよ
VSはC#で書かれたマネージドアプリだと公言してるし

900 名前:デフォルトの名無しさん mailto:sage [2017/01/26(木) 21:57:18.89 ID:6c1mJ3TJ.net]
>>887
誤解の少ない言葉を使えと言いながら実行速度の話とJITをごっちゃにして不要な混乱を招くのはいかがなものか
原理的にはJITの方が実行時のプロファイルをヒントとして最適化ができる分だけ有利だ
あとは起動時間や実行時にコードを差し替えるコストとのトレードオフだが、
サーバーならそこは全く問題にならないので実際JavaのHotSpotなんか(あくまでサーバー用としてはだが)すごく高性能だよ
重い処理やらせると段階的に最適化されて速くなっていくのが目に見えて、最終的には素直に書いたC++を超えるケースもある



901 名前:デフォルトの名無しさん mailto:sage [2017/01/26(木) 22:14:43.93 ID:kmw2XayL.net]
>>883
ファイルのエンコードデングが関係してないか?

902 名前:デフォルトの名無しさん mailto:sage [2017/01/26(木) 22:15:11.50 ID:BIlB42US.net]
>>885
Blendで試したらエラーもなく、デザイナーも表示されたのでこれでしのぐことにします。

903 名前:デフォルトの名無しさん mailto:sage [2017/01/26(木) 22:19:59.87 ID:vDjllkLc.net]
>>881
可也期待薄だが、俺の環境のxamlのトラブルは
https://social.msdn.microsoft.com/Forums/vstudio/ja-JP/f7541527-df77-4bd7-8458-f90565bf34b4/visual-studio-2015-?forum=wpfja
の一番最後の方の解決法で何とかなった

こっちはblend関係だから望み薄だが、やっても害が出るものじゃないしよろしければどうぞ

904 名前:デフォルトの名無しさん mailto:sage [2017/01/26(木) 22:28:27.88 ID:uLxLwJKu.net]
>>888
> VSはC#で書かれたマネージドアプリだと公言してるし
ソースある?

905 名前:デフォルトの名無しさん mailto:sage [2017/01/26(木) 22:34:12.57 ID:He8RO7U3.net]
>>889
つか、全体として何が言いたいのか分からない。

C#についてなら、俺は主流はMSILだと思っているから、JITと言う方が適切だと言っている。
俺の認識が間違いで、主流は既にnativeであれば、AOTという方が適切だ。
君がそう思っているのならそれでいい。

C#の方がC/C++よりも高速であれば、高速アプリは全てC#で開発されることになる。
実際は、高速アプリは全てC/C++で組まれてるだろ。これが現実。
速度差は仕様差から来ているから、今後ともこれは埋まらない。

> 最終的には素直に書いたC++を超えるケースもある
JA馬鹿も同じ事を言うのだが、探して見つけて喜んでいる時点でゴミ。
アプリの性質を考えて、適切な言語を選択すればいいだけ。
ただ現実的にGUIも含めて全部C/C++で組むのもだるいので、
NumPyが流行るのも分かるし、実際あのアプローチがいいと思うが。

いずれにしても、C#信者ならそれは止めておけ。
それぞれ得手不得手はある。それは当たり前の話。
万能言語があったらこんなに乱立しない。

906 名前:デフォルトの名無しさん mailto:sage [2017/01/26(木) 22:54:19.21 ID:7sPtmcfc.net]
長文ウゼエ

907 名前:デフォルトの名無しさん [2017/01/26(木) 22:57:35.93 ID:SLW9Whol.net]
速度はC++の方が早いよ
でも普通のアプリならそこまで問題にならない程度の差

908 名前:デフォルトの名無しさん mailto:sage [2017/01/26(木) 23:03:14.05 ID:C8HlRM2h.net]
なんか昨日から長文野郎が常駐してて空気が悪くなってる

909 名前:デフォルトの名無しさん [2017/01/26(木) 23:03:30.86 ID:GQnwZs38.net]
>>890
ありがとうございます
確認してみます!

910 名前:デフォルトの名無しさん mailto:sage [2017/01/26(木) 23:30:49.26 ID:NrOKhjjD.net]
>>894
自分で争う意味はないって言ったのになんでそんなに定義にこだわるんだ?
俺を含めて、一般的にはJITと呼ぶ(個々を見るとAOT的な側面や使い方もあるね)って言ってるだけだぞ



911 名前:デフォルトの名無しさん mailto:sage [2017/01/26(木) 23:50:28.00 ID:NrOKhjjD.net]
>>894
あと、>>889はJavaやC#がC++よりはやいとか優れてるなんていってないじゃん
Javaも悪くはない言語選択だよっていってるのに

お前は何か、みんなが前提として理解してることを延々と説明してる感じ

912 名前:デフォルトの名無しさん mailto:sage [2017/01/27(金) 00:00:30.43 ID:sOrVpnzk.net]
高速アプリが全てC++で組まれてるというのも思い込みもいいとこだな
AmazonがC++でやっててクソ遅かった大規模データ処理が
Java+Hadoopに乗り換えることで大幅に改善されたという例もある
今時言語の速度なんてあくまで要素の一つに過ぎないんだよ

913 名前:デフォルトの名無しさん mailto:sage [2017/01/27(金) 00:06:54.41 ID:FPm896mM.net]
>>901
こういう馬鹿のデスマーチの尻拭いを何度したことか。氏ね。

914 名前:デフォルトの名無しさん mailto:sage [2017/01/27(金) 00:07:53.10 ID:fDORPAeX.net]
別に長文でもスレ違いでも参考になるようなレスなら何とも思わないけど
今のこれは実にくだらないねw

915 名前:デフォルトの名無しさん mailto:sage [2017/01/27(金) 00:11:06.35 ID:a4ei9zsf.net]
ガチのHPCだとコアはCUDAだったりFortranも現役だったりで、これまたC++とは限らない
あまりにも見識が狭すぎる

916 名前:デフォルトの名無しさん mailto:sage [2017/01/27(金) 00:24:44.98 ID:QXZBJ6J+.net]
長文はキチガイ

917 名前:デフォルトの名無しさん mailto:sage [2017/01/27(金) 00:29:28.64 ID:CH0FWDPd.net]
>>899
おいおいすりかえんなよ。
俺はC#はJITと言う方が近いと言っている。
君はC#はAOTだと言い張っている。

俺は君が「C#はAOTだ」と言い張る理由が分からない。
C#に問題があるとしたらまずは速度だ。AOTと言い張る理由にもなる。
だからそれに言及しただけ。
では何故AOTだと言い張るのか理由をを言ってみてくれ。

俺はCUDAも使ったことあるよ。
ただそれをここで言う意味もないだろ。

918 名前:デフォルトの名無しさん mailto:sage [2017/01/27(金) 00:30:54.80 ID:iNBXS39I.net]
申し訳ないが3行以上はNG

919 名前:デフォルトの名無しさん mailto:sage [2017/01/27(金) 00:31:00.69 ID:g7nuPYvQ.net]
>>906
.NET Native知らないの?

920 名前:デフォルトの名無しさん mailto:sage [2017/01/27(金) 00:54:42.49 ID:9J0c8boi.net]
本日のNGID:CH0FWDPd



921 名前:デフォルトの名無しさん mailto:sage [2017/01/27(金) 01:49:06.49 ID:z/+I8zAR.net]
>>906
「JITのほうが近い、ただしAOT的な側面もある」をどうやったら「C#はAOTだ」に変換できるんだ?

多分、お前は「AOT=配布時に機械語、JITとは真逆の概念」みたいな定義にこだわりがあるから話が合わない
みんなは「AOT的=実行する瞬間以外の機械語へのコンパイル」程度の認識だから、ネイティブキャッシュとかArtの事前コンパイルもAOT的と捉えてるだけだ

ただ、.NET Nativeはまだしも、iOS向けUnityとXamarinがそれなりに使われてるので「C#はJIT」は誤解を招く気もするけどね

922 名前:デフォルトの名無しさん mailto:sage [2017/01/27(金) 02:14:06.13 ID:fDORPAeX.net]
実にどうでもいいんだけど、そういうアーキテクチャー的な話をするんなら、
言語としてのC#と、そのWindows版.NET Framework用の実装は
一応理念的には別門だって前提で議論しないとまずいんじゃないのそもそもw

923 名前:デフォルトの名無しさん mailto:sage [2017/01/27(金) 02:19:16.89 ID:fDORPAeX.net]
しかしあれだね「、.NETの言語はJITだから実行環境に合わせた最適化がされるようになる」
っていううたい文句は最初の.NET1.0のころからあるけど、
これ今はちゃんと実現されてるんだっけ?

924 名前:デフォルトの名無しさん mailto:sage [2017/01/27(金) 03:21:05.61 ID:z/+I8zAR.net]
>>912
SSE命令関連とかは結構頑張ってるみたいだね
一応.NET NativeでAOTするのと比べて優位を保てる程度には最適化してるらしい
blogs.microsoft.co.il/sasha/2014/04/28/net-native-performance-internals/
ちょっと古いから今はどちらも改善されてるかもしれんが

925 名前:デフォルトの名無しさん mailto:sage [2017/01/27(金) 23:51:25.19 ID:CH0FWDPd.net]
>>910
俺が問題にしているのは>>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#は差別化出来ていない。

926 名前:デフォルトの名無しさん mailto:sage [2017/01/28(土) 00:01:46.77 ID:lJFdXfrP.net]
20年も残るなら十分

927 名前:デフォルトの名無しさん mailto:sage [2017/01/28(土) 00:15:29.48 ID:vlmW/cIj.net]
>>914 ※個人の思い込みです。

928 名前:デフォルトの名無しさん mailto:sage [2017/01/28(土) 00:16:54.48 ID:rD7WeMm9.net]
後はbuilderスレ辺りで続きをやって下さいって事で

929 名前:デフォルトの名無しさん mailto:sage [2017/01/28(土) 00:24:24.84 ID:lGyRVc7d.net]
>>914
10年前の過去スレかと思ったわ。

930 名前:デフォルトの名無しさん mailto:sage [2017/01/28(土) 00:29:22.98 ID:GpK52peC.net]
JAVAは特許絡みで自滅しそうだけどな。
Googleも.NET Foundationに加入したことだし、脱JAVA考えてたりして。



931 名前:デフォルトの名無しさん mailto:sage [2017/01/28(土) 00:33:11.09 ID:B8Cbj4aW.net]
>>918
だなww

932 名前:デフォルトの名無しさん mailto:sage [2017/01/28(土) 00:50:41.15 ID:cRpkhDFF.net]
Javaは環境に排他的なところがあるからなあ
JVMの世界にどっぷり浸かってしまえば楽なんだが、
PHPやらRailsやら他にもいろいろ使ってるとJavaだけデプロイが異色すぎる
その点 .NET Core は今時のWebらしいデプロイ方法を実現してるので非常に馴染みやすい
Javaの置き換えというより、スクリプト+αとしてのGoに代わる選択肢の一つとして普及する可能性は高いんじゃないかな

933 名前:デフォルトの名無しさん mailto:sage [2017/01/28(土) 01:05:26.39 ID:iWacJ3fP.net]
.net nativeがスタティックリンクでライブラリから必要なクラスだけ取り込む仕組みなのを知らないとはね

934 名前:デフォルトの名無しさん mailto:sage [2017/01/28(土) 03:02:12.31 ID:VlCpYCgG.net]
>>914
それ俺じゃないし、そのレスもAOTの定義次第でしょ
君が言葉の定義にこだわりがあるのはわかったからそんなにAOTに過剰反応するな

言語の20年後は予想するだけ無駄
C/C++もgoやrustに置き換えられてるかもしれないし、Javaの代わりにKotlinがJVMの中心になってるかもしれない
ハードと通信の向上で富豪プログラミングができるといいけど、ナノマシンとかの制御のために今より貧相なハードウェア要件だったりするかもね

935 名前:デフォルトの名無しさん mailto:sage [2017/01/28(土) 06:50:26.81 ID:7LkpJPRm.net]
C++が、FORTRAN化している。

936 名前:デフォルトの名無しさん mailto:sage [2017/01/28(土) 07:29:56.62 ID:bLDCN2m1.net]
>>916
妄想だろ w
本人楽しそうだしいいんじゃね?

937 名前:デフォルトの名無しさん mailto:sage [2017/01/28(土) 09:05:59.37 ID:O0GHMxPw.net]
VisualStudioの無いC#なんて

938 名前:デフォルトの名無しさん mailto:sage [2017/01/28(土) 09:35:59.59 ID:O0GHMxPw.net]
rust.NETは未だかね?

939 名前:デフォルトの名無しさん mailto:sage [2017/01/28(土) 09:48:31.29 ID:vlmW/cIj.net]
>>926
Windows7に標準装備されてるcsc.exeは役立ったよ
入力支援のないメモ帳でコーディングするのはちょっと面倒だったけど
小物アプリ作ったり、暇つぶしに十分だった

940 名前:デフォルトの名無しさん mailto:sage [2017/01/28(土) 11:45:36.61 ID:QNTErMWx.net]
>>918
確かに10年前もほぼ同じ状況だったろうね。
ただJavaはそこから全く進歩しなかった。それで延命してる。

>>919
MSは何だかんだで技術力は相当あるし、OracleではJavaを発展させられないのも事実だ。
とはいえ、周回遅れでよければ他言語のいいところを採り入れればいいだけ。
これならOracleにも出来る。
今のC#が生き残るとしたらJavaを食らうことだが、
現代のCOBOL化しつつあるJavaはもう食いきれない。
(Javaは向こう30年の需要はあるし、その後他言語に移行するメリットもない)
周回遅れであってもJavaが追いついてくる限りC#は死ぬ運命だ。
(ただし逆に、周回遅れであるうちは死にきらないとも言えるが.。)

>>921
Javaが殿様商売でブラウザから外されてあたふたしていたのは事実だ。
Web系の連中はその辺も含めてJavaは嫌いかもしれないね。
とはいえC#がサーバサイド言語として君臨するとも思えない。
C#にはサーバ用途のサポートがなく、移行される理由がない。
C#の特徴はLINQだけど、それがどこの分野にフィットするかだね。



941 名前:デフォルトの名無しさん mailto:sage [2017/01/28(土) 11:46:16.89 ID:QNTErMWx.net]
>>923
分からないことは考えない、さすがのゆとりだな。
確実に言えるのは、今のままのC#だと生き残る芽がないこと。
もちろんMSも分かっているだろうから、色々試してはいるのだろうけど。

C#はPascalと同じでベンダーが一つだ。よってMSが辞めますといったらいきなり終わる。
C/C++はその点各社各様なので誰も終わりの号令を出せない。
機能的にもあの範囲では完成しているし、今後共、流行はしないが使われ続けるだろう。
ただし開発効率がいいとは誰も思ってないだろうし、その点色々努力は為されるはずだ。

JVM言語群はJavaの発展には寄与するだろう。
ただそれらもJavaが追いついてくれば死ぬ運命にある。もっともこれは幸せな死だが。
で、C#もランタイムが違うだけでほぼJVM言語群と立ち位置が同じだろ、という話。

お前らが「C#は永久に不滅です!」なんて思ってるのなら完全に勘違いだぞ、というだけ。
ただそこまで信者化する理由もよく分からんのだがな。
C#が死ぬ頃にはC#とJavaの差異も今より無くなっているはずで、移行は容易だ。
逆に差異がある状態ならC#が死ぬこともない。

942 名前:デフォルトの名無しさん mailto:sage [2017/01/28(土) 11:51:01.14 ID:sBhxwabY.net]
次スレはふらっとみたいにワッチョイ付けてもらえるとNG楽でありがたい

943 名前:デフォルトの名無しさん [2017/01/28(土) 12:03:08.93 ID:PWlkAQF7.net]
C#の心配はもういいからとりあえず病院行ってこいよ

944 名前:デフォルトの名無しさん mailto:sage [2017/01/28(土) 12:09:23.15 ID:7tAJxods.net]
もう言語の優劣とかこの後とか考えるのやめようよ
好きなの使えばいいじゃん

945 名前:デフォルトの名無しさん mailto:sage [2017/01/28(土) 12:09:39.25 ID:q55sXuC9.net]
>>926
つ SharpDevelop

946 名前:デフォルトの名無しさん mailto:sage [2017/01/28(土) 12:13:41.44 ID:7tAJxods.net]
C#なんてこの後廃れる一方だから気にするんじゃないよ
俺は使いたいから使ってるだけ

コンピューターサイエンスジャンルとかじゃもうpythonに追いつけない
入門者もc#よりpy選んでるらしいし

時代遅れのc++使ってる人も流行ってるからとか他が使えないって理由じゃないでしょ
使いたいから使うでいいよ

947 名前:デフォルトの名無しさん mailto:sage [2017/01/28(土) 12:29:18.26 ID:op86qfG/.net]
>>931
あんたがNGにしやすくするためだけに
2ちゃんねるの特徴を捨て去って全員強制コテつけろというのはひどいエゴだと思う

948 名前:デフォルトの名無しさん mailto:sage [2017/01/28(土) 12:36:35.24 ID:kK1HMpWm.net]
>>929
C#にサーバー用途のサポートがないって、一体こいつはなんのことを言ってるんだ
まさかどっか別のパラレルワールドの住人なのか、それともC#と言う名の別のマイナーな別言語の話をしていたのか

949 名前:デフォルトの名無しさん mailto:sage [2017/01/28(土) 12:38:31.29 ID:GpK52peC.net]
ワッチョイ付けてるスレは増えてきてるし、賛成が多ければ構わないだろ
強制コテも一週間で変わるんだし、IP表示が無ければ反対する真っ当な理由が思いつかない

950 名前:デフォルトの名無しさん mailto:sage [2017/01/28(土) 12:41:01.92 ID:XpAKmUmz.net]
>>936
みんなエゴ丸出し自己中でいくのが2ちゃんねるの特徴よ



951 名前:デフォルトの名無しさん mailto:sage [2017/01/28(土) 12:41:42.84 ID:rD7WeMm9.net]
言語の優劣がどうでもいい訳じゃないけど
比較なら他所のスレでやってくれ
C++ Builder vs C# どっちがいいか教えて
echo.2ch.net/test/read.cgi/tech/1459000291/

952 名前:デフォルトの名無しさん mailto:sage [2017/01/28(土) 12:42:51.15 ID:s1e/PAHl.net]
>>938
それぞれ好きなスレ立てて使えばいいんだよ
どの板でもワッチョイ有り無しでスレが分かれているのをよく見るし
逆にその手の議論で荒れだすとどこでもひどい有様になる

953 名前:デフォルトの名無しさん mailto:sage [2017/01/28(土) 12:50:41.06 ID:op86qfG/.net]
>>938
一週間で変わるというのは違うよ
3、4文字目は仕様上永久固定だし、表面上変わる1、2、5〜8文字目も簡単に逆引きできるから実質永久固定だよ

954 名前:デフォルトの名無しさん mailto:sage [2017/01/28(土) 12:58:20.48 ID:ivgBCMum.net]
「SNSじゃあるまいし、なんで2chでわざわざコテハンを強制されなきゃならないのか」は真っ当な理由じゃないのかな…

955 名前:デフォルトの名無しさん mailto:sage [2017/01/28(土) 13:00:33.35 ID:k4gxsyFf.net]
俺もワッチョイスレには書かなくなった

956 名前:デフォルトの名無しさん mailto:sage [2017/01/28(土) 13:01:40.71 ID:mpmWyhNT.net]
明らかに不適切な発言をしない限りはコテハンでも問題ないでしょ

957 名前:デフォルトの名無しさん mailto:sage [2017/01/28(土) 13:16:35.58 ID:1Ptz3K6u.net]
そんなコテハン好きならstackoverflowにでも行けばよろしいやん
なぜ2ちゃんをコテハン化する必要があんの?

958 名前:デフォルトの名無しさん mailto:sage [2017/01/28(土) 13:29:21.18 ID:yHdW8px1.net]
荒しがいるからだろw

959 名前:デフォルトの名無しさん mailto:sage [2017/01/28(土) 13:33:06.15 ID:WlIlAAzs.net]
>>946
よう荒らし
元気か?死ね

960 名前:デフォルトの名無しさん mailto:sage [2017/01/28(土) 13:40:45.05 ID:op86qfG/.net]
自治厨が自分に賛同する奴以外を荒らし扱いしてるだけか



961 名前:デフォルトの名無しさん mailto:sage [2017/01/28(土) 13:45:46.68 ID:Bb/tAbed.net]
荒らしだけならまだいいが、沸点が低いのかプライドが安いのか
煽りにのって相手を始める低脳が多過ぎる
本当に目障りでNGが面倒臭くてワッチョイもやむを得ないと考えてしまうのはこっちが原因

962 名前:デフォルトの名無しさん mailto:sage [2017/01/28(土) 13:47:14.75 ID:5yCHiIBr.net]
c#のスレで他言語の話を連投してる時点で
誰がどう見ても荒らしだと思うが

963 名前:デフォルトの名無しさん mailto:sage [2017/01/28(土) 13:47:33.37 ID:6ehsSW1c.net]
uyのスレ立て荒らし以来変なのが増えたな

964 名前:デフォルトの名無しさん mailto:sage [2017/01/28(土) 13:48:54.50 ID:ktdFkm2m.net]
そんなにNGされたくないのかな?

965 名前:デフォルトの名無しさん mailto:sage [2017/01/28(土) 13:50:24.20 ID:WlIlAAzs.net]
どう見てもそうだろ

966 名前:デフォルトの名無しさん mailto:sage [2017/01/28(土) 13:53:53.44 ID:ya7J4hzr.net]
他言語の話なんてしてないのに荒らし扱いされて死ねって言われたんだけど

967 名前:デフォルトの名無しさん [2017/01/28(土) 13:55:50.40 ID:JTtKbdRr.net]
昔、JavaやVBで暴れてた低脳馬鹿が今はC#で暴れてるふうにしか見えない。

だって言ってることが同じだものw ○○は遅くない!! ○○で十分!!!

968 名前:デフォルトの名無しさん mailto:sage [2017/01/28(土) 13:58:32.18 ID:yHdW8px1.net]
>>948
それは酷すぎ。荒しと変わらんぞ。

969 名前:デフォルトの名無しさん mailto:sage [2017/01/28(土) 13:59:47.36 ID:vlyo6wmu.net]
相手してる生ゴミがうざいって人は連鎖NGができるブラウザに変えるのはどうだろうか?
強制はできないけど…。

970 名前:デフォルトの名無しさん mailto:sage [2017/01/28(土) 14:06:49.21 ID:ya7J4hzr.net]
ワッチョイでNGが便利になるって言う人たちは、なぜかNGwordを工夫したり連鎖NGすることはできないという不思議現象



971 名前:デフォルトの名無しさん mailto:sage [2017/01/28(土) 14:07:29.61 ID:y9Lbrz1V.net]
自分でNGできないような奴がこの板にいる方がどうかしている
無能と自白しているようなもんだろ

972 名前:デフォルトの名無しさん mailto:sage [2017/01/28(土) 14:11:07.34 ID:XpAKmUmz.net]
ごちゃごちゃ言わず、ワッチョイありなし、2つ立てて盛り上がった方を採用すりゃいんだよ

973 名前:デフォルトの名無しさん mailto:sage [2017/01/28(土) 14:44:57.36 ID:k4gxsyFf.net]
スレも無料じゃないんだぞ
節約しないと

974 名前:デフォルトの名無しさん mailto:sage [2017/01/28(土) 14:48:10.28 ID:s1e/PAHl.net]
ほらスレ違いで荒れる
このまま埋めてくれればいいよw
>>961
採用っていうか使われなくなった方が消えたり過疎るだけ

975 名前:デフォルトの名無しさん mailto:sage [2017/01/28(土) 14:53:25.19 ID:GmC+rupt.net]
2chの基本だけど、スレが荒れる(このスレの現状はそこまで行ってないと思うが)と
ギャーギャー騒ぎだす連中の大半は本当はギャーギャー言いたいだけの寂しい奴ではある。

要するに、本当はスレッドの趣旨にそったレスが淡々と続く状況なんか内心望んでない奴、
もっと言えばまともなレスをする能力がない奴に限って文句言ってるのね。
本当はウンコが大好物なウンコ蠅がウンコの周りを周回しながらウンコが臭いって文句言ってる図式だねw

「スレッドの平和」を本当に望んでいる人(俺もその一人)は、逆説的だけど
神経質にスレ違いの話題を咎める連中に与しない方がいいと思うよ。
それは上記の「ウンコ以上にうっとうしいウンコ蠅」をのさばらせることにしかならないからね。

まあそうは言ってもあんまりスレ違いの議論が延々続くのもうっとうしいのも確かだから、
このスレに限らずスレ違いの議論が続いた時に誘導する「何でも議論スレ」みたいのが
あったらいいのかもしれないとも思う。

976 名前:デフォルトの名無しさん mailto:sage [2017/01/28(土) 15:11:26.13 ID:VlCpYCgG.net]
>>930
C#は永久に不滅とか信者とか、存在しない敵を叩くなよ
他の言語でも同等の処理があるLINQを特徴というのは、理解してないからか?

C#もJavaも互換性最優先なので、いつか時代遅れの限界が来て、保守以外では使わない言語になる気もする
死ぬならVB6みたいな長期サポートで亡霊にならないといいんだけど

977 名前:デフォルトの名無しさん mailto:sage [2017/01/28(土) 15:16:41.71 ID:VlCpYCgG.net]
そういえば、llilacはどうなったのかな
LLVM化は結構需要ある気がするんだが

978 名前:デフォルトの名無しさん [2017/01/28(土) 16:06:14.69 ID:VlGJ2K6H.net]
荒れすぎだろ
投票による自治機能があるanontownに来ないか?
登録制だけどメアド不要だから簡単
https://anontown.com/

979 名前:デフォルトの名無しさん mailto:sage [2017/01/28(土) 16:20:45.03 ID:BREm5bG1.net]
>>965
いつかはそうなるだろうけど、今のところはその兆候はないな

980 名前:デフォルトの名無しさん mailto:sage [2017/01/28(土) 16:41:32.14 ID:ktdFkm2m.net]
>>964
2ちゃんにおいて三行以上の長文はマナー違反だぞ



981 名前:デフォルトの名無しさん mailto:sage [2017/01/28(土) 16:44:14.69 ID:op86qfG/.net]
立てにいく

982 名前:デフォルトの名無しさん mailto:sage [2017/01/28(土) 16:48:51.77 ID:op86qfG/.net]
次スレ

C#, C♯, C#相談室 Part92
echo.2ch.net/test/read.cgi/tech/1485589613/

983 名前:デフォルトの名無しさん mailto:sage [2017/01/28(土) 17:45:23.05 ID:JQ2q8v+C.net]
>>965
数年前、高速なNVRAM的な物が安価で作れるようになって
コンピュータの構成が大きく変わるなんて話が一部で盛り上がってたけど、
その手のパラダイムシフトが起こらない限り、プログラミング言語の世界でも
そんなガラガラポンは起こらないだろう

984 名前:デフォルトの名無しさん [2017/01/28(土) 19:05:48.32 ID:oY/klkah.net]
一体みんな誰と戦っているんだ

985 名前:デフォルトの名無しさん mailto:sage [2017/01/28(土) 20:01:47.30 ID:XnHJw37P.net]
>>973
オラもそう思う

986 名前:デフォルトの名無しさん mailto:sage [2017/01/28(土) 20:12:25.54 ID:09upZDzm.net]
自分以外は敵というスタンスがトランプ流w

987 名前:デフォルトの名無しさん mailto:sage [2017/01/28(土) 21:15:25.00 ID:yCMaAzsY.net]
C#はマルチプラットフォーム化でサーバーサイドで需要がますます拡大するし
クライアントでもWPFが実用的になってくるんじゃないかな

988 名前:デフォルトの名無しさん mailto:sage [2017/01/28(土) 21:23:25.46 ID:buSCJS7G.net]
胡散臭いCMだな

989 名前:803 mailto:sage [2017/01/29(日) 12:03:54.50 ID:6CKnMYhm.net]
>>818
>>819
>>831
64bitでコンパイルする
2GB内に配列を分割する
などいろいろやりましたがメモリオーバーになってしまいどうしても実行できませんでした
結局、元のファイルを分割し、最後に結合する方式にしてやっと通りました
使用メモリ見ると10GB位食ってましたが一応全部実行できています
ご協力ありがとうございます

990 名前:デフォルトの名無しさん mailto:sage [2017/01/29(日) 12:28:52.14 ID:NqGwYzj0.net]
>>978
配列に入れて何がしたいのか最後まで聞けなかったけど、FileStreamで読み書きじゃ駄目だったの?



991 名前:デフォルトの名無しさん mailto:sage [2017/01/29(日) 12:34:03.49 ID:Be2uFNKC.net]
同意見
そんなもん全部メモリに読んだところで
どうせシーケンシャルに処理する以外にやれることがあるとは思えない

992 名前:803 mailto:sage [2017/01/29(日) 13:07:42.19 ID:6CKnMYhm.net]
>>979
BinaryWriterで挿入操作ができれば使っていたのですが
以下を見るとできないようなので使いませんでした
dobon.net/vb/bbs/log3-46/27592.html

993 名前:デフォルトの名無しさん mailto:sage [2017/01/29(日) 13:12:51.28 ID:WfZCQfEI.net]
一時ファイルに元のファイルの内容と挿入データを書き込む
→元のファイルを削除する
→作成した一時ファイルの名前を元のファイルの名前に書き換える
でできると思うけど自分の好きな方法でうまくいったのならいいんじゃね

994 名前:803 mailto:sage [2017/01/29(日) 13:29:04.76 ID:6CKnMYhm.net]
>>982
>一時ファイルに元のファイルの内容と挿入データを書き込む
確かにこのやり方がスマートでした
元のコード流用しようとしたので今のやり方になってしまいました
あらかじめわかっていたら・・・

995 名前:デフォルトの名無しさん mailto:sage [2017/01/29(日) 17:25:54.20 ID:UOF0Asn0.net]
うめ

996 名前:810 mailto:sage [2017/01/29(日) 22:35:39.11 ID:F8/CipCU.net]
>>810です。反応が遅れてすいません。現在は、
クラスのインスタンスの複数のプロパティの値を比較して等価かどうか判定しているのですが
データをリストに追加する際、2種類の等価比較法(IEqualityComparer)を用いています

つまり追加対象のデータのうち、
まず弱い比較(少なめのプロパティだけが一致するか比較)で
既存のリストにないデータの「候補」をざっくりピックアップして、
候補たちに少々時間のかかる処理をかけてから(一部プロパティが書き換えられる)、
次に強い比較(多めのプロパティを比較)で候補の中から真に「新しい」ものをリストに追加しています

PosgresやLocalDBといったデータベースでは、こういうことって簡単にできるんでしょうか
ネット検索してみたところ複数のプロパティを比較すること自体は
UNIQUE制約(?)というので出来そうに思ったんですが、
現在やっているような2段構えの比較法は実現可能なんでしょうか?

997 名前:デフォルトの名無しさん mailto:sage [2017/01/29(日) 22:51:26.56 ID:M0HgmB1M.net]
二段構えにする必要はない
比較に必要な全てのカラムセットにuniqueインデックス張りなさい

998 名前:デフォルトの名無しさん mailto:sage [2017/01/29(日) 22:55:35.08 ID:F8/CipCU.net]
>>986
それだと誤判定になりませんか?
追加前のデータと実際に追加するデータでは
一部プロパティ(弱比較ではチェックしないが、強比較ではチェックするプロパティ)の値が異なっているのですが…

999 名前:デフォルトの名無しさん mailto:sage [2017/01/29(日) 23:02:20.70 ID:faIlAfcC.net]
>>987
強比較の値がDB上

1000 名前:に固定できるなら、最初から強比較でやっても十分な速度が出ます
取り出してから変化する性質なら、弱比較でDBから取り出し値を生成してからメモリー上で強比較で良いんじゃないの?
[]
[ここ壊れてます]



1001 名前:デフォルトの名無しさん mailto:sage [2017/01/29(日) 23:27:53.21 ID:F8/CipCU.net]
>>988
すいません、「DBから取り出す」という表現が何を指しているのかよくわかりません…

いま思案しているのはデータの集計作業時ではなく登録作業時の話です
各データについて、一部のプロパティの値を確定させるには処理時間がかなり必要になっています

追加登録したいデータたちについて、このプロパティ値をあらかじめすべて確定するのは非常に時間がかかるので
まず弱比較でざっくりと追加可能な候補(プロパティ値を確定しなければならないデータたち)を絞っているのです

今はこんな風にしてます(実際のコードでは日本語変数じゃないです)

候補データリスト = 追加したいデータのリスト.Except(全リスト, new MyClass_WeakComparator()).ToList();

候補データリスト について全プロパティ確定作業; //←重い

全リスト = 全リスト.Union(候補データリスト).ToList();

1002 名前:デフォルトの名無しさん mailto:sage [2017/01/29(日) 23:33:19.34 ID:F8/CipCU.net]
>989補足
Union()のところで既定の等値比較子として強比較が使われています

1003 名前:デフォルトの名無しさん mailto:sage [2017/01/29(日) 23:37:15.13 ID:M0HgmB1M.net]
>>989
insert into 処理対象テーブル
select 追加後の値を得る計算式
from 処理対象テーブル
where 追加対象を得る条件式

これでいいんじゃないの?
弱比較とかよくわからん言葉遣いはやめた方がいい混乱するから

1004 名前:デフォルトの名無しさん mailto:sage [2017/01/29(日) 23:50:32.58 ID:M0HgmB1M.net]
なんか違うなこうか

insert into 全リスト
select 任意の計算式
from 追加データ
where not exists (
select *
from 全リスト
where 簡易な比較条件式)
and 完全な比較条件式

インデックスは簡易な比較に使うカラムだけでいいよ

1005 名前:デフォルトの名無しさん mailto:sage [2017/01/30(月) 00:02:56.22 ID:kb+lR8OL.net]
>>992
やはり、条件式を2種類地道に書くしかないんですか…長くてハゲそう

>インデックスは簡易な比較に使うカラムだけでいいよ

アドバイスありがとうございます

1006 名前:デフォルトの名無しさん mailto:sage [2017/01/30(月) 00:07:16.67 ID:YrqXkGEW.net]
>>989
それだと「弱比較」で一致してしまった物は全部捨ててしまっているがいいのか?
>>985の書き方だと、「弱比較」で一致しても「強比較」で一致しない物があり、
それは書き込むと読める。
まあこの辺はそちらがやればいい話だが。

1007 名前:デフォルトの名無しさん mailto:sage [2017/01/30(月) 00:14:31.63 ID:GO+RhKVN.net]
数千行のSQLとか当たり前だから!!!
そのためのDBMSでしょ!!!

1008 名前:デフォルトの名無しさん mailto:sage [2017/01/30(月) 00:23:01.74 ID:RAZ09caE.net]
1回のクエリで完結させようとせず
1次候補抽出クエリ → ローカルで1次候補のプロパティ書き換え → 最終候補抽出&インサートのクエリ
の3段構えにしてもいいんじゃないかと思うけど

1009 名前:デフォルトの名無しさん mailto:sage [2017/01/30(月) 00:33:18.83 ID:kb+lR8OL.net]
>>994
>「弱比較」で一致してしまった物は全部捨ててしまっているがいいのか?

詳しくは書けませんが、やりたい動作としてはその動作でOKです
985の説明はちょっと正確ではありませんでした

>>995
大規模なデータベースを触ろうとするのは初めてだったので…すいません

>>996
どっちみち長い比較条件を書かないといけないのは避けられそうにないので
その方法でもよさそうですね

1010 名前:デフォルトの名無しさん mailto:sage [2017/01/30(月) 01:03:13.10 ID:9w4b/GJp.net]
>>995
SQLが数千行もあって当たり前なの?異常じゃないの?SQLだよ?



1011 名前:デフォルトの名無しさん mailto:sage [2017/01/30(月) 02:19:40.86 ID:ty17mMxy.net]
SQL Serverは問合せ文と制御文を1つのストアドに混在できるので複雑な工夫が容易で、
腕が良ければ数千行の複雑な処理を書くことによって物凄く高速化できることがある

Oracleは混在できないため複雑な処理を書くには手間がかかり、プログラマーがあまり工夫しなくなり、
そのため腕が上がらず、結果としてSQL Serverより遅いシステムが多いらしい

現在のSQL ServerにはOracleと同じスナップショット分離(古い人は「行ロック」って言う)があるが、
2000の頃はなかった(今でもデフォルトでオフになってる)ため、高速な更新処理が必要だったことも腕に関係すると思われる
(スナップショット分離があれば、ダラダラ更新しても他ユーザーの閲覧に迷惑かけない)

1012 名前:デフォルトの名無しさん mailto:sage [2017/01/30(月) 02:31:32.87 ID:RISpHKLn.net]
次スレ

C#, C♯, C#相談室 Part92 [無断転載禁止]©2ch.net
echo.2ch.net/test/read.cgi/tech/1485589613/

1013 名前:過去ログ ★ [[過去ログ]]
■ このスレッドは過去ログ倉庫に格納されています






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<272KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef