ふらっと C#,C♯,C#(初心者用) Part130 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。
他のスレッドでは書き込めないような低レベルな質問、
質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。
内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。
なお、テンプレが読めない回答者は邪魔なので後述のC#相談室に移動して下さい。
C#に関係の無い話題や荒らしの相手や罵倒レスはやめてください
>>980を踏んだ人は新スレを建てて下さい。
>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。
■前スレ
ふらっと C#,C♯,C#(初心者用) Part129
http://mevius.2ch.net/test/read.cgi/tech/1497000961/
■関連スレ
C#, C♯, C#相談室 Part94 [無断転載禁止]©2ch.net
http://echo.2ch.net/test/read.cgi/tech/1492843013/
■コードを貼る場合は↓を使いましょう。
http://ideone.com/
https://dotnetfiddle.net/
■情報源
https://msdn.microsoft.com/en-us/library/gg145045.aspx
http://referencesource.microsoft.com/
VIPQ2_EXTDAT: default:vvvvv:1000:512:----: EXT was configured 腰据えて勉強なんかしなくても使うだけなら全然問題ない 30桁の英数字混在パスワード
って総当たりで解析無理だよね? >>657
別に使わなくても同じ事書けるし。
ただ行が短くなるだけ ユニットテスト必須の土壌じゃないとLINQとか他人に薦める気にならんわな
メソッドがクソ長くても単体テスト通れば良いんだろで終わっちゃうし うまく動かないときに
ループのときみたいに
ハイじゃあどうして第一要素にゼロが入ってるんでしょうか?
的な追い方ができない
いっせーのせ!
で動かして途中経過が皆無なのは辛い >>661
メソッドがクソ長いのは別問題
そんなんまともにUnitTestできんだろ >>662
しょっぼw
どういうレベルでプログラムを書いてるのか余裕で知れるな お前らマウンティングしないと死んじゃう病か何かなの 独立な処理に途中経過もクソもないわな
処理の詳細を無視して入出力のルールにフォーカスする考え方ができてないとそりゃ難しいだろうな ラムダ式の部分にブレークポイント置けばそこだけ追えない? メモリに常駐しているプロセスって簡単に取得できますか? DOSの時代じゃないので常駐って概念に意味があるとは思えない気が
今でも慣用句的に常駐とか言うけどね もしかしたらすれ違いかも知れませんが気にせず質問させていただきます
先日パソコンが壊れました
電源をつけると5秒後に再起動を繰り返してしまいます
原因がわからないのですが
どなたか対応方法などご存知の方いたら教えてください >>676
OSは? 機種は古いの? 型番とかわかる?
5秒で再起動する直前の画面はどうなってる? このスレはLINQ大嫌いおじさんがいるからしゃーない
もう新しいこと覚えられないんだよ Linqが新しいってタイムスリップでもしたのか
とっくに枯れてるだろ >>684
そこは立ち位置的に枯れてるって云えよw 普及するわけがないと誰かが言ってたがその通りになった。
ネラーはなかなか先見の目がある。 LINQ普及してないってどこの世界の話?
よっぽどレベル低い職場なのかな >>687
おk、LINQは超流行ってる
でも初心者向けじゃないから別スレでやってな お仕事でC#使っている人の何割がC#4.0以降の表記使っているか気になるわ >>688
むしろ初心者向けじゃね?
パフォーマンス気にしだすと、StackOverflowの中の人みたく、全ての.csファイルからusing System.Linqを消し去ったりするw http://libro.tuyano.com/index3?id=1247003
このページにある
MyObject obj = new MyObject();
obj.name = "つやの";
obj.age = 123;
obj.printData();
MyObjectクラスを使うこの部分はなんといいますか?
また、obj を変えて複数の上記のような構成を作るとそれに伴いちゃんと表示は増えますが、
objに当たる部分を必要に応じて動的に増やすということは可能のなのでしょうか?
インスタンスを動的に増やす で検索しても見当違いなものがヒットしますので、自分の中で言葉が間違ってるとは思いますが
よろしくお願いします よくパフォーマンス云々言う奴が居るけど
C#使う用途でLINQ程度のオーバーヘッドが気になるのってどんな場合だよ
書きやすさ捨てても速度ほしいならC++でも使ったほうがいいんじゃないの >>691
そのレベルならまずは入門書を一通り読もう
時間の無駄だ そのレベルの回答ならまずは入門書を一通り読もう
時間の無駄だ >>692
StackOverflowの例が出てるやないか .netnativeは早いぞ
アレがFormsとかWPFに降りてくることはなさそうだが
UWPで作れる範囲は移行するべきだと思うわ >>695
ググっても出てこなかったんだけどソースある? LINQスレがあったぞ。そっちで聞いてはどうか。
10年で1スレ消費できないぐらい過疎ってるが。 いやStackOverFlowの開発者がLINQ全消ししたって情報出した本人がすぐ上にいるのに
なんでそっちで聞かなきゃいけないの 大規模のプログラムを解読する場合にはどういう方法でアプローチしますか? >>697
>.netnativeは早いぞ
>アレがFormsとかWPFに降りてくることはなさそうだが
なぜ降りて来ないんだろうなあ
普及させれば良いのに WinFormsとWPFはMSに捨てられたから仕方ないね >大規模のプログラムを解読する場合にはどういう方法でアプローチしますか?
これだけど、本質的を手短に説明できるちょっとレベルの高いひといる? >>701
リファクタリング
コミットはしなくていいぞ >708
バインドって意味不明なんだが、
TEXT = データ
って書くのと
TEXT ={ バインド データコンテキスト}
って書くのでどんなメリットがあるの? というか1000万個のデータある時に1000万個にバインド
できんでしょ。バインドできるのはその中の一個だから、データを選択しないといけないよな。
でボタンを押されたら、データを選択して、データコンテキストにほりこむんだろ。代り映えがないような
きがする。 >>701
そう、その言葉をまっていました。そのリファクタリングを掻い摘んで説明してください。 >>710
実際、大したメリットはない
最近の流れとしては、Web分野でも一時期バインドが流行っていたけど結局はユーザー操作時の代入に回帰しつつある
所詮は「手作業で代入すんのめんどくせえ」ってだけの問題であって、バインディングはそれだけのために過剰な複雑さを持ち込みすぎている リファクタリングで
★継承を委譲に置き換える
継承では基底クラスのすべてのメンバを、サブクラスに許さなければならない。
基底クラスの一部だけの機能を利用する場合は、継承の代わりに委譲を使う。
これはどういう意味? >>710
セキュリティチェックが簡単だからでしょ
代替方法あるなら拘る必要ない >>716
それはプログラムを読むための手法でなく最適化するための段取りってのはわかっている?
あとはオブジェクト指向とかのキーワードでググってみるほうが速い >>714
デザイン(View)はアーティストの俺が書いて、「土方ロジックは知らん。お前等に任した」っていう時にはいいかもしれない。
しかしその場合にもボタンと同期してデータを切り替えないといけないよね。その仕組みってどうなってるの?
ボリュームを回すから、データはそれに合わせてかえてよねっていうようなこと。 >>718
VB6をC#に変更するんだが、VBソフトを解読する場合にはどこから手をつける?
画面数が70程度、クラスが10個、標準モジュールが30個位ある。
とりあえずクロスリファレンスを作ってみようとおもってるんだが、何か方法論とかないかなーとおもっている。
そこでリファクタリングをするというのは一つの手ではある。 VB6ってのは知らないかもしれないが、VBAと同じで標準モジュールというのは
グローバル変数で、これが大量にあるので難儀している。 >>716
お前の会社の経営が厳しくなり、無能なお前をリストラしてお前の業務を外部委託することになったとする
そのとき、外部の人間を社内に常駐させるか?、それとも社外に丸投げするか? ということ
社内とのやりとりが多い業務であれば前者の方がスムーズだろうけど、
そうでもないなら後者の方が安上がりだし委託先を後で変えることも容易で好ましいだろ >>720
VBなんか知らんし
仕様書があれば仕様書見て作り直し必要な部分だけ元のソース参照する
仕様書が無いのなら動作確認して自分で仕様書書くところから >>719
デザインセンター持ってる会社なら、ホントに分業出来るから楽だと思うよ。
ボタンと同期して中身変える、ってのは、ダミーデータ返す関数と、メソッドのスタブ最初に用意して、それを渡す。なかったら「くれ」って言ってくるし。
どちらも無意味な不幸の無いプロジェクトになる。 >>722
分かり安い説明だが、愛がない。そこもかなり重要だと思う。ところでWPFって
やったことないのだが、やってみたい。
最初はVB6のフォームのコントロールのリストと位置を拾いだせば画面は自動的に変換できそうなので
そうしようかと思ったのだが、XMALでやるってのは難しいだろうか? >>724
そうだね。アーティストの俺には土方仕事を丸投げできるからかなり有利かも。 >>720
解読するって言うのはまず間違いじゃないかな
顧客から要望聞いてSEが再設計して仕様書作るのが正しい >>仕様書が無いのなら動作確認して自分で仕様書書くところから
ソースを解読してその仕様書を書く手順を考えている。うまくコンパイルして動かすこともできたん
でソースを解読しつつ整理して、最終的に変換をする。
具体的には
整理
1.クロスリファレンスをだしてグローバル変数を整理
2.画面がやたら多いので手書きで書き直すのはとっても大変だ。
しかし殆どはパラメータの設定のような単純な画面なので、画面の書き換えはプログラムで変換できそうだ。
しかし内部のイベントロジックをどうするかだな。画面はC#でもVBでも好きなように変換できるが、ロジック
はC#に変更するのは正気の沙汰ではないな。
やはりVB.netに置き換えるべき。となるとやはりVB.NET Winform以外の選択肢はないのか? >顧客から要望聞いてSEが再設計して仕様書作るのが正しい
もともと正しくないところから出発しているので、正しい方法は取れない。唯一できるのは
自由に作れるということだけ。しかも動きさえすればいいというレベルの客。ただし.netで
作るというのが条件でソースも提出することになっている。C#でもVBでもWPFでも問題ない。
大半をDLLにして、上っ面だけNETでもいい。 ソース提出って下手な仕様書出すより厳しいと思うんだが >>729
レスを読んで思ったけど本人は真面目なのかもしれないが
やってることは素人の趣味の延長レベル
それで給料がもらえるって非常にありがたいことだね >プロに頼んだほうがいいよ
頼んだのだけどやる人がいない。 >>720
VS2008まではVB6⇒VB2008へのコンバーターがついてたので、
VS2008かVB2008 Expressをなんとか手に入れて、とりあえずVB2008に変換して
みたらどうかなと。
まあ変換精度は高くないので手直ししないとまず正常に動かないし、
返還後のコードはMicrosoft.VisualBasic名前空間とかVBランタイム関数とか
使いまくりなので、それをさらにC#で書き直すのはかなり大変だと思うけど >>720
それは調べてやってみたが、1時間かかっても変換できなかったよ。
一時間たってキャンセルしたら1kのLogファイルが残ってた。
多分簡単なものなら変換できるだろうと淡い期待はもっている。リファクタリングして疎結合にすれば
3つに分解できそう。
IOコントロール
DBアクセス
画面
IOが厄介だなーとは思う。多分この部分がよくわからないのでプロは逃げ出す。 >使いまくりなので、それをさらにC#で書き直すのはかなり大変だと思うけど
混在してつかえるし、VBのクラスはそのまま呼び出せるので不都合のある部分だけラッパーすればいいだけでは?
それならVBで書けよって話になるかもしれないが、追加部分だけでもC#にしたい。 VB6置き換えは元が酷いスパゲティだしCOMコンポーネントの代替ライブラリが見つかんないと詰むしロクなことにならない
要件定義からリビルドしたほうがマシだぜ htmlの文章をC#で書くメリットは有りますか?
無ければテンプレ落として来て挿入するだけなんですけど。 >>740
一般論的に言ってリプレースは最後の手段だ
少なくとも数ヶ月はリファクタリング、リアーキティングなど試せることは試した上で
それでも手に負えないと判断してからリプレースに着手する
いきなりリプレースはリスクがデカすぎる
しかしながら経験上VB6の移植は結局リプレースになることが多いんだわ >>738
確かにそういうばあいもある。モジュールが多いのが問題だけれどもクラスを使っているから、そんなに下手なプログラムではないね。
VB6でクラスを使っているとまあまともだね。 >>742
UI class : other class : static class = 7 : 1 : 3
かなりバランス悪いと思うぞ
綺麗なソースになってるとは期待できない >>726
工業デザインの人に、アーティストと言うと鉄拳飛んできたイメージだが、今のデザイナーはアーティストはなのかな。
俺もデザイン系の単位も資格も持ってるけど、アートと思った事は無いなぁ。 VB6のコードを解読しないといけないアーティストw
システムの内側からじゃなく外側から整理して
ユースケース単位や機能単位でコードリーディングしていくのが効率的 プログラム本体やシステム全体の仕様が分かってるならゼロから書き直した方が
結局早いと思うけどね。
そもそも今更C#でに移行するのは、将来手を入れる可能性があるからじゃないの?
だとしたら長期的なメリットデメリットを考えてもそうした方がいいよね。
「動いてるプログラムを触ってはいけない」ってのは個人的にはダメな人の台詞だと思うね。
それ、自分のコードを理解する能力が不十分だって語るに落ちてないか? COMとドトネトの相性が良くないのは意外だったなあ >>747
理論上触らなければバグらない以上
用も無いのに触る一手はないな >>749
だから、「用がある」から今更C#で書き直すんでしょw
間違った前提から間違った結論を導いてもしょうがないよww 既存のクラスを触りたくないといって
間違った場所にコードを追加していったやつがおってな
気がつくと見事なスパゲティの塊が出来上がっていたんだとさ >>747
詳細仕様が分かってないからコードを読もうとしてるんじゃ? >>750
それは現状が正解じゃない状態になったのかい? 技術的アプローチに対してアーティスト的アプローチもある。そもそも専門家が遣らないという
のは技術的に興味がない。もしくは打算的技術者なら経済的に見てもメリットがないということだ。
つまり儲からない。そういう結論がでている。
しかしアーティストの見解は違う。アーティストにとっては技術とか打算とかの優先順位は
かなり低い。すべての仕事はどう料理するかがアーティストのアーティストたる能力の発揮し
どころだから、技術屋から見るとかなりリスキーであっても敢てやってみる。 >>752
表面的な仕様というかパラメータの設定とか動作などの取り扱い方法は客先で大体はわかる。
しかしメカの細かい動作なんかの部分は一切分からない。動作検証は客先でやってくれる。
結果が正しいかどうかは客先でわかる。 ■ このスレッドは過去ログ倉庫に格納されています