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


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

ふらっと C#,C♯,C#(初心者用) Part125



1 名前:デフォルトの名無しさん(ワッチョイ f97b-lsIp) mailto:sage [2016/10/08(土) 21:33:26.22 ID:KfBpvv2w0.net]
「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。

他のスレッドでは書き込めないような低レベルな質問、
質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。

内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。

なお、テンプレが読めない回答者は邪魔なので後述のC#相談室に移動して下さい。
C#に関係の無い話題や荒らしの相手や罵倒レスはやめてください

>>980を踏んだ人は新スレを建てて下さい。
>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。

■前スレ
ふらっと C#,C♯,C#(初心者用) Part124
echo.2ch.net/test/read.cgi/tech/1471004887/

■関連スレ
C#, C♯, C#相談室 Part91
echo.2ch.net/test/read.cgi/tech/1467142749/

■コードを貼る場合は↓を使いましょう。
ideone.com/
https://dotnetfiddle.net/

■情報源
https://msdn.microsoft.com/en-us/library/gg145045.aspx
referencesource.microsoft.com/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured

701 名前:689 (ワッチョイ 5c03-Z4eY) mailto:sage [2016/12/01(木) 16:55:46.18 ID:0Um+ha3M0.net]
もしかしてATOKのせいでしょうか。

702 名前:デフォルトの名無しさん (ワッチョイ 6bc0-/mAi) mailto:sage [2016/12/01(木) 19:32:35.80 ID:Zf0m27Yo0.net]
TABキーで補完すればいいんじゃね

703 名前:デフォルトの名無しさん (ワッチョイ d1d6-NTgB) mailto:sage [2016/12/01(木) 23:26:48.62 ID:iYDC/6Ae0.net]
>>689
ATOK使ってるけど普通に使えてるな
VSのサービスパックでも当てたら直るんじゃね?

704 名前:689 (ワッチョイ 5c03-Z4eY) mailto:sage [2016/12/02(金) 08:57:18.65 ID:31Pwg6Qz0.net]
>>691 >>692
ありがとうございます。

TABにしても同じなんです。
SPためしてみます。

と、書いていましたが
たった今VS2013起動して試してみたところ
問題有りませんでした。

原因はわかりませんが再起動すれば良いようですね。
お騒がせしました。ありがとうございました。

705 名前:初心者 (ワッチョイ 50cf-yaSi) [2016/12/02(金) 14:04:42.72 ID:mPN6uvNG0.net]
C#の勉強したいんですけど
visualstudioのどれをダウンロードすればいいですか?一番左ですか?

706 名前:デフォルトの名無しさん (アウアウオー Sabe-k+pW) mailto:sage [2016/12/02(金) 14:22:34.32 ID:KR/8JQ+qa.net]
オッスオラ極右

707 名前:デフォルトの名無しさん (フォォーッ MM9b-NTgB) mailto:sage [2016/12/02(金) 14:24:44.13 ID:hCuw5ExfM.net]
>>694
download.microsoft.com/download/8/0/3/8036DBC2-135E-431D-86FE-C2C53562C9F1/vs_community_JPN.exe

708 名前:デフォルトの名無しさん (ワッチョイ 98d4-NTgB) mailto:sage [2016/12/02(金) 14:44:59.65 ID:ulrrSATP0.net]
いままでPro買ってたけどCommunityでいい気がしてきた

709 名前:デフォルトの名無しさん (オッペケ Sr8d-F2U0) mailto:sage [2016/12/02(金) 15:12:50.24 ID:B5+8wL6Vr.net]
コミュニティ使っててアプリ作って条件以上の売上出たらどうすればいいの?



710 名前:デフォルトの名無しさん (ワッチョイ 2a02-0Nhh) mailto:sage [2016/12/02(金) 15:32:17.74 ID:mFAqdh2w0.net]
買えばいいんじゃね、そんなんに売れたんなら

711 名前:デフォルトの名無しさん (ワッチョイ 9220-NTgB) mailto:sage [2016/12/02(金) 22:45:54.98 ID:5RQuVDtH0.net]
C#というわけではなく、初歩的なことかと思いますが
テスト要領書って、本来コーディング前に作っておくものでしょうか?

うちの会社じゃ
いつもコーディングの後半に作ってるんですが
一般的には

712 名前:どうなんだろうと思いまして []
[ここ壊れてます]

713 名前:デフォルトの名無しさん (ワッチョイ 4dcb-g21N) mailto:sage [2016/12/02(金) 22:56:52.05 ID:2vcaPjiT0.net]
マルチポストしてんじゃねえぞチンカス野郎

714 名前:デフォルトの名無しさん (ワッチョイ 115b-25R2) [2016/12/02(金) 23:15:26.91 ID:9K0+rqji0.net]
データベース使ったサンプルアプリ作ってみたいのですが、データベースは何を使ったらいいですか?

715 名前:デフォルトの名無しさん (ワッチョイ f4cb-yaSi) mailto:sage [2016/12/02(金) 23:44:10.13 ID:UcIXa3VL0.net]
>>702
モノによって癖があるよ
インストール方法からして上手くいかないポイントが違う

業務でWindowsアプリ作るならSQLServerExpressがオススメ
絶対使うしね
趣味でレンタルサーバー使うならmysqlが多いかも

716 名前:デフォルトの名無しさん (ワッチョイ d1d6-NTgB) mailto:sage [2016/12/02(金) 23:48:17.42 ID:kbaBWwKx0.net]
ファイルコピーだけで簡単に動かしたいのならSQLiteもいいぞ

717 名前:デフォルトの名無しさん (ワッチョイ f4ce-BRVC) mailto:sage [2016/12/02(金) 23:58:41.69 ID:P1j76Eyi0.net]
Windows標準で入ってるJet DBが何も入れる必要ない点でオススメ

718 名前:デフォルトの名無しさん (ワッチョイ 2aaf-MLbx) mailto:sage [2016/12/03(土) 00:46:33.44 ID:6QJpBGmN0.net]
SQLiteは便利で面白い
Firefoxのクッキーの管理なんかにも使われてる

719 名前:デフォルトの名無しさん (ワッチョイ 115b-25R2) [2016/12/03(土) 09:19:05.56 ID:/EDU3A450.net]
>>703-706
ありがとうございます!
さっそく調べてみます!



720 名前:デフォルトの名無しさん (ワッチョイ 92e5-/mAi) mailto:sage [2016/12/03(土) 10:35:13.28 ID:OhSejOMk0.net]
普段threadを生成してやっていた非同期処理を
バージョンアップに合わせてasync await使って実装してみようと思います。

非同期を意識しない場合の元ソースは以下のコード

private void btn_click(省略)
{
    var list = getList("なんたら");
}

private List<string> getList(string target)
{
   var list =  hogehoge関数
   return list ;
}

この中で呼び出し元の btn_click から getList関数を非同期で呼び出すことは可能でしょうか?
可能であればいずれ同期的に使う可能性も含めて getList関数には手を入れたくはないのですが、入れられないのであれば手を加えても問題ありません。

有識者の皆様、何かしらヒントでもご教示いただけれb幸いです。

721 名前:デフォルトの名無しさん (ワッチョイ 92e5-/mAi) mailto:sage [2016/12/03(土) 10:42:36.75 ID:OhSejOMk0.net]
連投失礼
記述ミス修正

getList関数には手を入れたくはないのですが、入れられないのであれば手を加えても問題ありません。

この中で呼び出し元の btn_click から getList関数を非同期で呼び出すことは可能でしょうか?
可能であればいずれ同期的に使う可能性も含めて getList関数には手を入れたくはないのですが、入れなければいけないのであれば手を加えても問題ありません。

Task<List<string>>にしないといけないんだろうなぁ…とは思いますが…。

722 名前:デフォルトの名無しさん (ワッチョイ 2a02-0Nhh) mailto:sage [2016/12/03(土) 10:56:58.35 ID:rfPwjFy00.net]
普通は同期版と非同期版と二つ定義するんじゃないのか
getListは同期関数にしたいの?非同期関数にしたいの?

723 名前:デフォルトの名無しさん (ワッチョイ 39dc-Cf2b) mailto:sage [2016/12/03(土) 11:00:28.76 ID:x7z2pgeG0.net]
なんか勘違いしてそう
async使うなら最終的にIOやユーザー操作でブロックされるところまで全部非同期で繋がないと意味ないよ?

724 名前:デフォルトの名無しさん (ワッチョイ 839d-5gNI) mailto:sage [2016/12/03(土) 11:03:34.95 ID:n86jitUO0.net]
var list = await Task.Run(() => getList("..."));
こういうことじゃないの?

725 名前:デフォルトの名無しさん (ワッチョイ 39dc-yaSi) mailto:sage [2016/12/03(土) 13:23:04.99 ID:x7z2pgeG0.net]
ところで、asyncを全面的に使ってるとストリームにたかが数バイトを書き込むだけみたいな
時間的粒度の小さいメソッドでもいちいちawaitせざるを得ないことがよくあると思うんだけど、非効率だからまとめて処理できないもんかな
個人的には、全ての書き込みがバッファリングされることが保証されてるAsyncStreamみたいなクラスがあって
後でにまとめてawait FlushAsyncするという考え方の方がWriteAsyncより使いやすいと思うんだけど

726 名前:デフォルトの名無しさん (ワッチョイ 92e5-/mAi) mailto:sage [2016/12/03(土) 13:33:41.53 ID:OhSejOMk0.net]
>>710-712
イメージ的には

getList←同期
getListAsync←非同期(内部でgetListを呼ぶ)
のようになるのかなと。

もとのgetList自体は同期処理で動くようにしておきたかっただけという簡単なものでした。
>>712さんの言うところで出来てしまいました…。

あっさり過ぎて…ありがとうございました。
これでUIが固まらない為だけの面倒な非同期を書かなくて済みそうです。

727 名前:デフォルトの名無しさん (スッップ Sda8-wK09) mailto:sage [2016/12/03(土) 17:28:43.65 ID:6dOdOU6od.net]
商用で使えるフリーの開発環境ってありますか?

728 名前:デフォルトの名無しさん (ワッチョイ 39dc-yaSi) mailto:sage [2016/12/03(土) 17:42:27.55 ID:x7z2pgeG0.net]
>>715
小規模な企業までならVS Communityが商用利用可
Communityが使えない規模ならVS Express

729 名前:デフォルトの名無しさん (ワッチョイ 8d4a-JWTN) mailto:sage [2016/12/03(土) 21:57:51.27 ID:NEbgZC1U0.net]
>List<T>も2次元にはできないが、そもそも2次元にする必要がない
list<list<T>>で二次元じゃあないの?



730 名前:デフォルトの名無しさん (ワッチョイ 839d-5gNI) mailto:sage [2016/12/03(土) 22:06:20.99 ID:n86jitUO0.net]
広義の二次元だけど狭義の二次元ではない、かな
多次元配列とジャグ配列で呼び分けるから

731 名前:デフォルトの名無しさん (ワッチョイ 1ee1-yaSi) mailto:sage [2016/12/03(土) 22:51:22.62 ID:1XG4MZmv0.net]
>>713
その程度なら自分で実装すればよくね?

732 名前:デフォルトの名無しさん (ワッチョイ 6b0d-BRVC) [2016/12/03(土) 23:02:24.03 ID:nNmCZ+K50.net]
TreeViewでファイルエクスプローラーを作りましたが
ファイルやフォルダの数が多すぎると必ずフリーズします
例えば肥大化した"C:\Windows\WinSxS"を表示するにはどうしたらいいですか?(私の環境ではサブフォルダ数が1万数千あります)

733 名前:デフォルトの名無しさん (ワッチョイ f4ce-BRVC) mailto:sage [2016/12/03(土) 23:27:08.60 ID:55Oi6B7P0.net]
>>720
そもそも1万件とか画面に一度に表示できる数じゃないんだから
一部だけ出すとか表示方法を工夫する以外にないよ
既存のファイラーとかを参考にしてみたらどうかね

734 名前:デフォルトの名無しさん (ワッチョイ f4cb-yaSi) mailto:sage [2016/12/04(日) 00:29:04.69 ID:tP3D55j/0.net]
>>720
開いたフォルダのみ中身を表示してはどうだろうか?

735 名前:デフォルトの名無しさん (ワッチョイ 5c7b-BMT5) [2016/12/04(日) 20:20:27.84 ID:HFDVK7VF0.net]
Rxをテストしようとおもうのだが、

using System.Reactive.Linq;

これを追加しても
エラー CS0234 型または名前空間の名前 'Reactive' が名前空間 'System' に存在しません (アセンブリ参照があることを確認してください)。

となる。参照を探してもmscore.libしかないがこれをチェックすると
「すでにビルドに組み込まれているのでエラー」になる。

どうしたらいいの?

736 名前:デフォルトの名無しさん (アウアウカー Sa05-F2U0) mailto:sage [2016/12/04(日) 20:35:11.66 ID:iX2mGjzba.net]
Rxはインストールしたの?
標準ではないよ

737 名前:デフォルトの名無しさん (ワッチョイ 5c7b-BMT5) [2016/12/05(月) 06:04:42.72 ID:kVcVuvgX0.net]
VS Community 2015で
Nuget パッケージマネージャー画面でSystem.Reactiveをインストールしようと
する
設定は参照にして、パッケージソースは「すべて」
 Nuget.org
 packagesource
 Microsoft and .NET
 Microsoft Visual Studio Offline Package
にしている。

'.NETFramework,Version=v4.5.2' を対象とするプロジェクト 'WpfApp1' に関して、
パッケージ 'System.Reactive.3.1.1' の依存関係情報の収集を試行しています
Unable to load the service index for source packagesource.
この要求の送信中にエラーが発生しました。
リモート名を解決できませんでした。: 'packagesource'
========== 終了 ==========

インストールできない。
packagesource. このエラーが出るのはパッケージマネージャの設定に
間違いがあるんだろうか?

738 名前:デフォルトの名無しさん (ワッチョイ 5c7b-BMT5) [2016/12/05(月) 07:19:43.60 ID:kVcVuvgX0.net]
PM> Install-Package System.Reactive
Install-Package : ソース '' 内でパッケージ 'System.Reactive' が見つかりません。

つまりパスが違っている。DefaultPathはどこに設定するのだろうか?

739 名前:デフォルトの名無しさん (ワッチョイ 5c7b-BMT5) [2016/12/05(月) 07:22:18.16 ID:kVcVuvgX0.net]
あれっ、頭にきてボタンを押しまくっていたらインストールできた。
なぜだ? わからんが、とにかくインストールできた。手当たり次第に
出たらめにやるのがいいみたいだ。



740 名前:デフォルトの名無しさん (アウアウオー Sabe-wK09) mailto:sage [2016/12/05(月) 21:52:16.25 ID:7n2NXvP5a.net]
「n = n + 1」「n++」「n += 1」

の中で速度が速い、またはメモリの消費が少ない手段はどれですか?
今回の使用目的はループ内でのカウンタです

また、それぞれの使い分けがわからないので適切な使用箇所があれば教えてください

741 名前:デフォルトの名無しさん (ワッチョイ 9213-ggLi) mailto:sage [2016/12/05(月) 21:55:01.48 ID:+86vS9TV0.net]
>>728
差はないから好きにすればいい

742 名前:デフォルトの名無しさん (ワッチョイ 467d-NTgB) mailto:sage [2016/12/05(月) 22:28:32.97 ID:k7XpTrID0.net]
++はコピーが入る

743 名前:デフォルトの名無しさん (ワッチョイ 4d7b-1jzX) mailto:sage [2016/12/05(月) 22:44:22.01 ID:VOjnBi1e0.net]
出たな、半可通

744 名前:デフォルトの名無しさん (オッペケ Sr8d-E9Xg) mailto:sage [2016/12/06(火) 02:55:06.76 ID:4zSpj2YCr.net]
>>727
VSのnugetのインストーラが古いので更新する必要がある場合がある。

745 名前:デフォルトの名無しさん (アウアウカー Sa67-OnqS) mailto:sage [2016/12/09(金) 10:45:19.60 ID:0JyYFlmma.net]
>>728
cpy add 1 mov
inc
add 1

746 名前:デフォルトの名無しさん (JP 0H5f-l58V) mailto:sage [2016/12/09(金) 10:50:44.15 ID:u4ONmpntH.net]
それだけで文にするならどうせ最適化されるでしょ

部分式として使ってるならしらんけど

747 名前:デフォルトの名無しさん (ワッチョイ 07ce-3ple) mailto:sage [2016/12/10(土) 21:08:20.94 ID:9pHrXFRT0.net]
カウンタならどうでもいいけど
インデックスとして使うならunsafe付けてポインタ扱った方がいい

748 名前:デフォルトの名無しさん (ワッチョイ d349-mlnL) mailto:sage [2016/12/10(土) 21:20:26.17 ID:THyFY8cN0.net]
そんなのが必要になる場合は限られる。
初心者スレでunsafeを気軽に進めない方が良い。

749 名前:デフォルトの名無しさん (ワッチョイ ebdc-Ts63) mailto:sage [2016/12/10(土) 21:36:24.82 ID:MAlDTlrl0.net]
fixedはpinのオーバーヘッドがあるから頻繁に使うとかえって遅くなるよ



750 名前:デフォルトの名無しさん (ワッチョイ 277b-gb6D) [2016/12/11(日) 06:33:33.19 ID:caNoEqSZ0.net]
>TreeViewでファイルエクスプローラーを作りましたが
>ファイルやフォルダの数が多すぎると必ずフリーズします
>例えば肥大化した"C:\Windows\WinSxS"を表示するにはどうしたらいいですか?
>(私の環>境ではサブフォルダ数が1万数千あります)

自分もこれで悩んでる。1分ごとに測定したデータが1ファイルごとに1年分ある。
 60x20x360=43万ファイル
これをGetFilesでファイル名を取り出して集計処理しようとするとファイル読み出しで
ハングする。

やり方がよくわからないので先輩に聞いたら

「Application.EentDoを入れたらキーが効くのでハングしないよ」

というアドバイスをもらってやってみたが、ダメだった。

で自分で少し調べてみたんだが、
 UIの同一スレッドでこれをやると原理的にだめ。処理が重すぎてかならずハングする。
 スレッドを分ける方法として、タスクプールを使う方法とスレッド生成がある。
 タスクプールを使うのがよい。Async/Await
というところまでは分かったんだが、どうやって実現したらいいのかまだよくわからん。

751 名前:デフォルトの名無しさん (ワッチョイ 07d4-QGPA) [2016/12/11(日) 06:47:31.93 ID:fUQnV1N+0.net]
非スタティックなメソッドを呼び出したい場合に、
new クラス名.メソッド名();
とするのはなにか問題があるのでしょうか?

752 名前:デフォルトの名無しさん (ワッチョイ 277b-gb6D) [2016/12/11(日) 08:40:31.81 ID:caNoEqSZ0.net]
>739
 それはコンパイルエラーになるから問題ないと思うが、、、

753 名前:デフォルトの名無しさん (ワッチョイ ebdc-6LJV) mailto:sage [2016/12/11(日) 09:12:08.77 ID:xUW3RgdE0.net]
>>739
new クラス名().メソッド名();
の間違いと仮定した上での回答だが、
毎回必ずそのパターンで使用されるのであれば実質staticメソッドと変わらないからstaticメソッドにすることも検討すべき
パラメータが複雑な場合にBuilderパターンとFluentなスタイルを組み合わせて、
new Request().WithEncoding(UTF8).with…().Send();
みたいにするのは丁寧に作られてるライブラリだとよくあるけど

754 名前:デフォルトの名無しさん (ワッチョイ 07cb-1E9w) mailto:sage [2016/12/11(日) 09:24:54.90 ID:G916gL+V0.net]
>>738
仕様が決まってない問題をAPIの問題にすり替えてる
超たくさんファイルがあるとき結局どうしたいの?
全部表示したいの?一部表示したいの?
ユーザに指定させて表示したいの?

755 名前:デフォルトの名無しさん (ワッチョイ 277b-gb6D) [2016/12/11(日) 09:42:50.42 ID:caNoEqSZ0.net]
仕様は明白だとおもうが、、、
 TreeView表示と同じだが、ファイルを読みだしてグラフ表示しながら同時にファイル
読み出しとその集計処理もやる必要がある。
 100ポイントづつを読みだして処理して表示する。
 続きを100ポイント読みだして処理して表示する。
このようにシングルスレッドのなかで実現できれば、それが最も良い。

しかし、処理を分割するのはGetFilesのようなライブラリを
使う場合は中断して途中から再開は不可能だ。

そこで、GetFilesは別タスクで動かして非同期処理をするパイプを作ればいい。
task1 thread
data = getfiles();
FIFO.add(data);

UI thread
tree.add( FIFO.read());
というのが検討中の内容だ。

756 名前:デフォルトの名無しさん (ワッチョイ ebdc-Ts63) mailto:sage [2016/12/11(日) 09:42:54.26 ID:xUW3RgdE0.net]
>>738の場合は小手先のコーディングでどうするという問題じゃなくて
SparkとかHiveとか使えばいいんじゃないか

757 名前:デフォルトの名無しさん (ワッチョイ 277b-gb6D) [2016/12/11(日) 09:51:31.24 ID:caNoEqSZ0.net]
それちょっと調べてみるが、C#にキューってのがあるが、それじゃだめなの?

758 名前:デフォルトの名無しさん (ワッチョイ ebdc-Ts63) mailto:sage [2016/12/11(日) 09:54:31.80 ID:xUW3RgdE0.net]
>>745
抽象度が全然違う
ちゃんとしたビッグデータ処理基盤を使えば、
データを全部HDFSに放り込んでおきさえすれば簡単にデータセット全体にクエリがかけられる
いちいち要件に応じて作り込まなくていい

759 名前:デフォルトの名無しさん (ワッチョイ 277b-gb6D) [2016/12/11(日) 09:55:28.07 ID:caNoEqSZ0.net]
>744
そんな商用ツールは見掛け倒しと思って間違いない。第一広まらないy。



760 名前:デフォルトの名無しさん (ワッチョイ ebdc-Ts63) mailto:sage [2016/12/11(日) 09:58:51.14 ID:xUW3RgdE0.net]
>>747
オープンソースだしデータ処理の世界じゃクソ有名だよ?
脊髄反射で拒否する前にちょっとは新しいことに興味持ってみてもいいんじゃないかな、
余計なお世話かもしれないけど

761 名前:デフォルトの名無しさん (ワッチョイ 277b-gb6D) [2016/12/11(日) 10:05:36.19 ID:caNoEqSZ0.net]
えっ、オープンソースなのか。俄然興味がわいてきた。w

762 名前:デフォルトの名無しさん (ワッチョイ 277b-gb6D) [2016/12/11(日) 10:07:25.47 ID:caNoEqSZ0.net]
普通のDBに比べてSpark、Hiveは何がいいの?

763 名前:デフォルトの名無しさん (ワッチョイ 277b-gb6D) [2016/12/11(日) 10:12:32.86 ID:caNoEqSZ0.net]
グラフ表示するような案件だとSpark SQLがいいみたいだね。 速い。

764 名前:デフォルトの名無しさん (ワッチョイ ebdc-Ts63) mailto:sage [2016/12/11(日) 10:16:20.28 ID:xUW3RgdE0.net]
>>750
ざっくりいえば大量データのバッチ処理が速い
レイテンシが大きいのでリクエストをリアルタイムに処理して結果を返すようなものには向いていない

765 名前:デフォルトの名無しさん (ワッチョイ 277b-gb6D) [2016/12/11(日) 10:33:30.52 ID:caNoEqSZ0.net]
C#を最近勉強をはじめたばかりだが、これはすごい言語だな。まさにアルゴリズムの最高哲学
という印象を受けた。これは面白い。
しかし目移りしてどこから取り掛かったらいいのか困る。VBをチョロっとしか経験がないので
C#には新しい概念がありすぎてミクロ的にもマクロ的にはほんとに目移りする。
 LINQ、WPF、RX、ざっとみたところだ。

いままだ右も左もわからないので取り合えず。適当にReactive Extention からマスターして
みようと思っているが、、、、

766 名前:デフォルトの名無しさん (ワッチョイ 0b7b-ymeu) mailto:sage [2016/12/11(日) 11:12:34.07 ID:n3GfLzAe0.net]
>>739
newより.の方から優先順位が高いので
その例ではクラス名.メソッド名 のスタティックメソッドを呼び出して、その戻り値をnewする事になる

なので、newをカッコでくくる
(new Date).toISOString();

767 名前:デフォルトの名無しさん (ワッチョイ 0b7b-ymeu) mailto:sage [2016/12/11(日) 11:13:40.49 ID:n3GfLzAe0.net]
ああ、すまん、Javascriptスレと間違えてたわ

768 名前:デフォルトの名無しさん (ワッチョイ ebdc-Ts63) mailto:sage [2016/12/11(日) 11:16:14.04 ID:xUW3RgdE0.net]
Rxはマイナーな技術だしasync/awaitがわかってれば十分カバーできるからスルーでOK
WPFも終わった技術だから今更要らない
専業コーダーじゃないんなら小手先の技術に拘るのはほどほどにして
マイクロサービス的な連携だとかクラウド活用だとかもっとマクロな領域へシフトしていった方がいいと思うよ

769 名前:デフォルトの名無しさん (ワッチョイ 277b-gb6D) [2016/12/11(日) 13:36:37.71 ID:caNoEqSZ0.net]
>756
 言わんとするところはよくわかる。考え方の本質は同じだとおもう。
できれば楽にプログラムをしたい。

 WPFは終わったのだろうか? たしかに流行ってないよね。w
でもMVVMの考え方は間違っていないと思う。
Rxはマイナーな技術なんだろうか? 応用できる範囲がどの程度あるのか
はよくわからない。
 LINQには少なからず衝撃を受けたので、Push型のRXはなにかとてつもない発見
がありそうな予感がする。
もっともLINQというよりはIEnubableとかデザインパターンの考え方に衝撃を受けた。

マクロ的な技術を使う上でもミクロをある程度は理解していないと、無駄な使い方
をしてしまう可能性があるように思う。その意味では細部まで100%理解しよう
なんて思わないが、60%くらいは理解しておきたい。



770 名前:デフォルトの名無しさん (ブーイモ MM07-caEn) mailto:sage [2016/12/11(日) 13:48:02.76 ID:Z923MDQCM.net]
ネタや実験以外でRxなんて使ってる現場存在するのか

771 名前:デフォルトの名無しさん (ワッチョイ 5b79-pq3j) mailto:sage [2016/12/11(日) 14:07:20.29 ID:bG1axWcs0.net]
フロントならangularについてくるから使うけどC#では使ったことない

772 名前:デフォルトの名無しさん (ワッチョイ 5b79-pq3j) mailto:sage [2016/12/11(日) 14:12:00.35 ID:bG1axWcs0.net]
angularでもRxはtoPromiseしか使わないから使ってないような物か

773 名前:デフォルトの名無しさん (ワッチョイ d349-mlnL) mailto:sage [2016/12/11(日) 14:12:51.19 ID:31wztqOV0.net]
>>743
GetFiles()って、Directory.GetFiles()のこと?
それだったら、代わりにDirectory.EnumerateFiles()を使えば逐次処理出来るよ。

774 名前:デフォルトの名無しさん (ワッチョイ d349-mlnL) mailto:sage [2016/12/11(日) 14:29:28.43 ID:31wztqOV0.net]
>>739
恐らく、やりたいのは
(new クラス名).メソッド名();
ってことだと思うけど、何度も使う場合は毎回newすることになるので非効率。
また、IDisposeなクラスの場合はDispose()を呼べない。
上記2つに問題ないなら使っても構わない。staticメソッドにすべきだけどね。

775 名前:デフォルトの名無しさん (ワッチョイ 277b-gb6D) [2016/12/11(日) 14:49:28.21 ID:caNoEqSZ0.net]
>それだったら、代わりにDirectory.EnumerateFiles()を使えば逐次処理出来るよ。

それなかったな。 会社がVs2008なのでw
Vs2008で.net Framework4.5とかつかえるんだろうか?

776 名前:デフォルトの名無しさん (ブーイモ MM07-caEn) mailto:sage [2016/12/11(日) 14:58:46.78 ID:Z923MDQCM.net]
なきゃ実装すればいい

777 名前:デフォルトの名無しさん (ワッチョイ cb5b-w4ID) [2016/12/11(日) 14:59:38.20 ID:PxfwJXGz0.net]
こんな感じで構造体配列の中身をIntPtrにコピーしたいんですが
どういう方法がありますか?
struct A{ int x=0,y=1,z=2; }
A a = new A();
IntPtr ptr;
Marshal.StructureToPtr(a, ptr, false);

778 名前:765 (ワッチョイ cb5b-w4ID) mailto:sage [2016/12/11(日) 15:00:53.89 ID:PxfwJXGz0.net]
>>765 すいません。領域確保(AllocCoTaskMem)のところは省略してます。

779 名前:デフォルトの名無しさん (オッペケ Sr27-w4ID) [2016/12/11(日) 15:40:06.69 ID:pNKp5sE/r.net]
List<string> list = new List<string>() {"hage", "namahage"};
List<string> list = new List<string> {"hage", "namahage"};

どっちもいけるんだけどどう違うの?



780 名前:デフォルトの名無しさん (ワッチョイ 07cb-1E9w) mailto:sage [2016/12/11(日) 15:41:48.31 ID:G916gL+V0.net]
>>743
でも現実には処理が間に合わないわけじゃん
それでも一気に表示する仕様は変えないのか?
エクスプローラーではできてるのか?とか
Windowsのコピーって動作だって早く終われば進捗ウィンドウなんて出さないけど
長くかかれば進捗ウィンドウが出てくるわけよ

781 名前:デフォルトの名無しさん (ワッチョイ d349-mlnL) mailto:sage [2016/12/11(日) 15:48:11.13 ID:31wztqOV0.net]
>>763
肝心な条件を後だしとか酷いな。

Directory.EnumerateFiles()は.Net 4からだけど、VS2008は.Net3.5までだな。
.Net3.5じゃ、Async/AwaitどころかTaskも使えないぞ。
>>739で用語が混じってるけど、スレッド/スレッドプール/タスクね。

782 名前:デフォルトの名無しさん (ワッチョイ d349-mlnL) mailto:sage [2016/12/11(日) 15:55:26.64 ID:31wztqOV0.net]
Directory.GetFiles()は全てのファイルを取得するまで処理が戻ってこないから、バックグラウンド処理にした所で結局待たされる。
逐次処理がしたいなら、Win32API使ってDirectory.EnumerateFiles()のようなものを独自実装するしかないな。

783 名前:765 (ワッチョイ cb5b-w4ID) [2016/12/11(日) 17:07:16.26 ID:PxfwJXGz0.net]
こんな風に構造体の配列の要素ひとつずつをIntPtrで確保した領域にコピーしようと
したのですが、こういう方向性では無理ですか?
IntPtr ptr = Marshal.AllocCoTaskMem(Marshal.SizeOf(typeof(A))*a.Length);
for(int i = 0; i < a.Length; ++i){
Marshal.StructureToPtr(a[i], ptr+i*size, false);
}

784 名前:765 (ワッチョイ cb5b-w4ID) mailto:sage [2016/12/11(日) 17:20:36.88 ID:PxfwJXGz0.net]
>>771 あーこれで問題なくいけてましたwお騒がせしました。

785 名前:デフォルトの名無しさん (ワッチョイ 277b-gb6D) [2016/12/11(日) 17:56:21.30 ID:caNoEqSZ0.net]
>770
そういうことか。 それでDoEventが聞かなかったんだね。

>769
Net4をダウンロードして、参照すればいいだけかとおもっていたが
むりか? 

786 名前:デフォルトの名無しさん (ワッチョイ 277b-gb6D) [2016/12/11(日) 18:00:11.20 ID:caNoEqSZ0.net]
>770
System.IO.DirectoryInfo di = new System.IO.DirectoryInfo(@"C:\test");
System.IO.FileInfo[] files =
di.GetFiles("*.txt", System.IO.SearchOption.AllDirectories);

//ListBox1に結果を表示する
foreach (System.IO.FileInfo f in files)
{
ListBox1.Items.Add(f.FullName); ここでキューにいれればいいやん。

}

787 名前:デフォルトの名無しさん (ワッチョイ 277b-gb6D) [2016/12/11(日) 18:06:46.94 ID:caNoEqSZ0.net]
>でも現実には処理が間に合わないわけじゃん
>それでも一気に表示する仕様は変えないのか?

キューから取り出して表示するんなら、UIがわで順次表示できるよ。
問題はUIで超重たい処理がはいるのでハング状態になるということだけ
でしょ。
UIが動けば、ブレーク中断したり任意にできる。

788 名前:デフォルトの名無しさん (ワッチョイ 277b-gb6D) [2016/12/11(日) 20:18:29.55 ID:caNoEqSZ0.net]
SparkはC#サポートしてないよ。C#からどうやってつかうの? 

789 名前:デフォルトの名無しさん (ワッチョイ ebdc-6LJV) mailto:sage [2016/12/11(日) 22:29:10.18 ID:xUW3RgdE0.net]
そんなもん別プロセスでやりゃいいでしょ
パラメータや結果の受け渡しはRPC(IPC)使ってもいいけど、今回の要件ならファイルベースでもオーバーヘッドは全く無視できる



790 名前:デフォルトの名無しさん (ワッチョイ 07cb-1E9w) mailto:sage [2016/12/11(日) 22:30:49.68 ID:G916gL+V0.net]
一個一個入れて描画されてるから遅かったりして?

791 名前:デフォルトの名無しさん (ワッチョイ d723-xm+r) mailto:sage [2016/12/12(月) 01:48:31.95 ID:jfe+O/Es0.net]
>>771
.NET 4.0以降ならこういうのもあるよ、Marshal.AlignedSizeOf<T>()でアライメントされるが
https://msdn.microsoft.com/ja-jp/library/system.runtime.interopservices.safebuffer
派生クラスでhandleに確保済みポインタを設定し、Initialize<T>()等でポインタ領域も指定

StructureToPtrはジェネリックメソッドでさえも非ジェネリックのラッパーっぽいので
パフォーマンスは期待できない、unsafeで良ければ構造体ポインタ使った方が良いかもね

792 名前:デフォルトの名無しさん (ワッチョイ cb5b-w4ID) mailto:sage [2016/12/12(月) 02:20:55.85 ID:JnfesTFd0.net]
>>779
おぉ〜情報ありがとうございます!
なるほどそういうのもあるんですね。
教えて頂いた事を参考にさせて頂いてどうやるかもうちょっと考えてみます。

793 名前:デフォルトの名無しさん (ワッチョイ ebdc-6LJV) mailto:sage [2016/12/12(月) 06:39:25.29 ID:w8oqDcFY0.net]
bittableな構造体ならマネージ配列にGCHandleを割り当ててAddrOfPinnedObjectという手もあるよ
unsafeならfixedステートメントがだいたい等価
いちいちアンマネージなバッファを割り当てたり更新内容をマネージコードに書き戻したりしなくていいから楽

794 名前:デフォルトの名無しさん (ワッチョイ 277b-gb6D) [2016/12/12(月) 08:05:25.67 ID:Jwz8x4f60.net]
>そんなもん別プロセスでやりゃいいでしょ
>パラメータや結果の受け渡しはRPC(IPC)使ってもいいけど、今回の要件なら
>ファイルベースでもオーバーヘッドは全く無視できる

全然意味がわからない。C#でCSVを作ったとして
1.C#からScalarにクエリを送信して、
2.Sparkの処理終了を待つ
3.結果を受信する。

これをC#でプログラムして、Scalarでもプログラムするってこと?
言うのは簡単だが、、、、例でもなきゃ調べてプログラムするのに1週間はかかりそう。w
本質的な情報が欠落しているとおもうよ。こんなのは初心者には全然意味がわからない。

795 名前:デフォルトの名無しさん (ワッチョイ 277b-gb6D) [2016/12/12(月) 08:06:12.67 ID:Jwz8x4f60.net]
>777
こういうのを使えってことだろうか?
 Mobius: C# API for Spark

796 名前:デフォルトの名無しさん (ワッチョイ 277b-gb6D) [2016/12/12(月) 08:10:10.92 ID:Jwz8x4f60.net]
var lines = sparkContext.TextFile(@"hdfs://path/to/input.txt");
var words = lines.FlatMap(s => s.Split(' '));
var wordCounts = words.Map(w => new KeyValuePair<string, int>(w.Trim(), 1))
.ReduceByKey((x, y) => x + y);
var wordCountCollection = wordCounts.Collect();
wordCounts.SaveAsTextFile(@"hdfs://path/to/wordcount.txt");

こんな感じでC#からSparkをコントロールしたいのだが、もっとも一般的で初心者向け
な簡単な方法はなにでしょうか?

797 名前:デフォルトの名無しさん (ブーイモ MM2f-6LJV) mailto:sage [2016/12/12(月) 08:30:36.13 ID:FdLiOBdBM.net]
>>784
それを普通にScalaかPythonかJavaで書いてC#からProcess.Startで呼べばいい
なんでもC#でやる必要ない

798 名前:デフォルトの名無しさん (オッペケ Sr27-l58V) mailto:sage [2016/12/12(月) 11:23:30.02 ID:FEnMQE8Ar.net]
誰も>>767に答えられないの?

799 名前:デフォルトの名無しさん (ブーイモ MM2f-6LJV) mailto:sage [2016/12/12(月) 11:31:59.68 ID:FdLiOBdBM.net]
>>786
違いはない



800 名前:デフォルトの名無しさん (アウアウオー Sa3f-ff1P) mailto:sage [2016/12/12(月) 11:55:48.82 ID:DdSBjDaJa.net]
どうでもいいけどここにちゃんとした説明があるな
https://msdn.microsoft.com/ja-jp/library/bb308966.aspx#topic12






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](;´∀`)<313KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef