ふらっとC#,C♯,C#(初心者用) Part51
最近スレ消費早過ぎですお 書き込む前にちょっと落ち着こうね
スタックやヒープは普通に使うだろ
C#のスタックとアセンブラレベルのスタックは同じ?
少なくともVisual Studioでは、マネージドスタックとアンマネージドスタックは明確に区別されている。 一般的にマネージド空間とアンマネージ空間をあまり頻繁に行き来させるとCPUリソースを浪費するといわれているので、 やはり違うと思っておいた方がいいだろう。 より確かな情報を得るには一次情報にあたってくれ。
C#で作ったクラスライブラリとそのライブラリを利用するexeを生成したとして、 Windowsdirか同ディレクトリにそのDLLが無いと例外でexeは終了してしまいますよね その時に発生するexceptionはどこで呼ばれるんですか?
普通にクラスローダーじゃねぇの
クラスローダー・・・?調べてみます DLLが存在しない場合、という検証方法が分からなかったのですが、 DebugディレクトリからDLLを削除すれば検証出来るのですね。 InitializeComponent()内で吐いてるようなので、とりあえずIO.NotFileExceptionで取るようにしました
C++とC#はどちらが利用者多いですか><;;;
まだまだ C++ だろうなぁ。
>>10 DLLが無くても処理を続けると言うのであれば
DLL中のクラスをSystem.Reflection.Assemblyから利用するのでは駄目なんだろうか。
>>13 あー、今回はユーザーコントロールなのでそれは考えていませんが、
確かに無くてもいいのならそれでも大丈夫そうですね。考えてみます。
前スレ
>>998 > 構造体を有効活用するには必要
> その辺の知識が無いなら常にクラスを使うべき
でもフィールドしかないクラスとか間抜けじゃね?
マヌケとかそういう問題ではないだろ 合理性があるかないかであって
スクリーンキーボードのような動きをするウインドウを作り そこにキーボードではなくいわゆるマクロ割り当てが可能な ボタンを表示させキーコード単独ではなくキーコードの組み合わせを 流し込みたいのですがどの辺から調べていけばよいでしょうか?
いいかげんゲームから卒業しろや
20 :
18 :2009/12/19(土) 13:50:12
>>19 私ですか?
ゲーム用のものではないです。
DirectXなどは考慮に入れず一般的なwindowsアプリに流し込めればいいんです
キーボードが苦手な方用によく使うアプリのショートカットをボタン化して
使いやすくしようと思ったのですが・・
>>18 お前そればっかり言ってて全く進歩ねぇな
パソコン辞めて畑でも耕してろ田吾作が
ひでえw。
マイクロソフトのインテリマウス用ユーティリティーに今こっそり
>>18 がいうような機能が
入ってるんだよね確か。
ドライバ入れるとMicrosoftマウスってプログラムに追加されるし 割り当ての一覧にマクロって書いてあるから、こっそりでもなんでもないけどな
28 :
デフォルトの名無しさん :2009/12/19(土) 14:15:03
>>24 >>25 ありがとうございます
キー送信部分とキーを送り先となるウインドウのアクティブ化はわかりました。
問題は自分のウインドウがクリックされると前のウインドウは
アクティブではなくなると思うのですがこの辺の制御はどうすれば
いいんでしょうか?
>>26 >>23 確かに作らないで製品付属のソフトでやってしまうのも手ですが
どうしても製品依存になってしまいますのでできれば低機能で
あっても一度元になるコードは持っておきたいなあと思いまして
29 :
デフォルトの名無しさん :2009/12/19(土) 14:23:21
>>27 ありがとうございます。
ウインドウの制御にも触れててサンプルも公開されてるので
すぐにでも作れそうです。
>>28 英語のサイトを "screen keyboard" C# とかでググればちらほら出てくるけど、
どれも割と面倒だった記憶が。
ウィンドウのアクティブとかを制御するより マウスのグローバルフックでやったら簡単じゃね?
グローバルフックってやっぱWinAPI利用しないとだめだよね?
APIっていってもフック関係の3つだけじゃね 大した手間ではないと思う
オ・ライリーのC#本より優れたC#本はありますか? C#の勉強で買う本を迷ったら、まずはオ・ライリーの本を買っておけば間違い無いでしょうか?
レベルによる 君が他のオブジェクト指向経験者ならオライリーでいいが プログラミング自体初心者なら間違いなく挫折する
オライリーは基本的に無駄なコントロール排除してコンソールが前提だから GUIしか触ったことがない初心者はなにやってんのかわからんだろうし 面白くないので高確率で挫折する
37 :
デフォルトの名無しさん :2009/12/19(土) 14:54:50
>>35 > プログラミング自体初心者なら間違いなく挫折する
>>36 > 面白くないので高確率で挫折する
orz・・・
み、みなさんは一体どんな本でC#を勉強されましたか?
39 :
デフォルトの名無しさん :2009/12/19(土) 14:58:39
>>38 ネットです
C#(特にVC#)ならネットでも十分な気がしますけど
@ITの記事はわりと良いよね。
VB使ってる友人が居るんですが VC#とVBを比べたとき、 VC#の利点は何がありますか?
43 :
デフォルトの名無しさん :2009/12/19(土) 15:33:15
VC#はGUI周りはVB並なので余裕だしなあ 予備知識なしのネット情報だけでMarshallクラスも使えたし なんとかなるだろ
>>38 けたけた笑いながらとりあえず、Ctrl+Spaceで補完されるクラス全部呼び出して
全部関数試したりしまくった
C#のexpresseditionってwin7未対応? インストールしても最後までできないんだ・・・ どうしてもC#したいのにこまtってしまって。だれかおしえてください。
>>38 Javaからだからほとんど何もやってない
だけどゲームとか画像加工とかそういう目標決めてそれに必要なことだけ勉強すれば
いつの間にかうまくなってる気がする
VS2010のultimateをただで配ってるからせっかくならそれ使うとか
49 :
デフォルトの名無しさん :2009/12/19(土) 15:56:48
>>48 何が変わってるの?
やっぱ2005->2008のようにさらにもっさり?
あとアドレスは?w
51 :
デフォルトの名無しさん :2009/12/19(土) 15:57:36
>>51 一応何回か入れるの試してるんですがインストールが中断されるんですよね。
ダウンロードファイルに不備があるのかと思ってIEとchrome両方から落としてみたのをインスコしてみましたがだめでした・・・
53 :
デフォルトの名無しさん :2009/12/19(土) 16:00:49
アカウントの権限の問題かインストーラーが古いか?
>>53 インストーラーが古いと自動でエラーはくだろ
>>53 一度管理者からでやってみます。
うーんはやくC#したい・・・
56 :
デフォルトの名無しさん :2009/12/19(土) 16:12:43
>>56 もしプログラムの削除とかを見てVC#が入ってたら
アンインストールしてみるといいかも
58 :
デフォルトの名無しさん :2009/12/19(土) 16:25:49
どんな感じでインストーラーがとまるんだ?
>>59 インストールに問題が発生しましたというような感じで問題を解決していますのダイアログがポップします。
インストールオプションでC#以外になんか選択している?(SQL Server Expressとか) そのエラーが出るタイミングはどのモジュールをインストールしているときに出るの?
>>61 オプションは一つしか出なくて恐らくSQLseverだったとおもいます。
それにはチェックはずしてインストールで一つ目からこけますね・・・
いつものお前らは「初心者バーカ!」「できねーならあきらめろ無能!」 で済ますのに今日のお前らは優しいな
>>63 そんなことしたことねーよ!
ばーか!脳内妄想乙!
かわいそうな奴を助けてやるのは当たり前だろ!
すこし考えればわかることだろう!お前ちょっとへそ曲がりすぎ!
>>62 面倒だからOS自体をインストールしなおしてですね・・・
>>64 すいません情報後出しになってしまって・
OSはwin7 32bitですね
インストーラーはC#だけのものです。
もう一度エラーはくときのSSとってうpするので少々お待ちください・・・
>>65 えっとこのPCサブノート用として昨日買ったばかりでして・・・
買ったばかりでもソフトウェアがデフォルト以外はいってるみたいだから 何が影響してるのか分からないときはOS入れなおした方が手っとり早いんだけどね 仕事だったら原因追究しなきゃいけないからやらないけど
VSインストールできないって スレチじゃないの?
69 :
sage :2009/12/19(土) 17:11:14
>>69 SQLSever2005の小パッケージがはいってるのにSQL2008ってインストール出来るの?
VisualStudioのスレ行きなはれ。
sageミスりました
>>70 どうなんでしょうか・・・いまいち自分では対処方法がわからなくてですね
>>70 できる。
SQL Server CompactはDLLさえあれば使えるものだから。
>>71 了解いたしました。
スレ汚しすみません。
C#て.netとかいうDLL(?)がないとダメなんでしょ?
うん。だめ .Net Framework ランタイムライブラリね。
77 :
デフォルトの名無しさん :2009/12/19(土) 17:25:13
>>75 ですね
.net framework入れろと出ます
でもwindowsアプリだと多かれ少なかれ何かしらの共有ライブラリ要求するんだけどな
Vistaは.NET 3.0、7は.NET 3.5が最初から入っている。 OS標準の実行環境なわけで、現在ではそれが最初から入ってない XPや2000の方がむしろイレギュラーなわけだ。 今後のことを考えれば、そういう認識でも問題ないと思うよ。 .NET Framework再頒布パッケージの入手方法をしっかり周知しておけばいい。
オーバーライドって何がどうすごいんだろう クラスAのメソッドと継承しているクラスBのメソッドが同じ名前のとき そのメソッドを呼び出すと、違う動作をするってだけでしょ。 同じ名前であることがそんなに重要なのかあ?
違う名前を考えるのが面倒臭いんだよ…
全然重要じゃないからオーバ−ライドなんかやめちゃいな
82 :
デフォルトの名無しさん :2009/12/19(土) 17:55:49
>>79 クラスの基本スタイルは同じなんだけど
ごくわずかなやつはオーバーライドで違うことやらせたいとか・・・
ゲームとか作るといいたいことわかると思う
オーバーライドないとアップキャストして使えないじゃん ひいてはポリモフィズムが実現できない
C#では言語仕様上できないけど、CLR的にはオーバーライドは別に同じ名前じゃなくてもいい 実際VBではインターフェイスメンバの別名実装ができるな
85 :
デフォルトの名無しさん :2009/12/19(土) 18:01:24
オーバーライドて早い話関数ポインタで使う関数切り替えるような物でしょ?
全然違うと思うが
というかその辺のオブジェクト指向の解説サイトでも読んだ方がはえーような
オブジェクト指向ってわかるやつが使ったらただのC言語より使いやすいけど 俺みたいなバカが使っても汚いコードになるだけなんだろ? バカでもチョンでも作れるプログラム方法を教えろよ
89 :
デフォルトの名無しさん :2009/12/19(土) 18:12:33
>>88 そうなるとインタプリタのpythonとかになるんじゃないの?
それにスマートにかける言語ってたぶんないよ
作ってる本人でさえ自分が過去に書いたソースみると
なんでこんな書き方したんだろとか余裕だし
結果こそ正義。いい時代になったものだ
92 :
デフォルトの名無しさん :2009/12/19(土) 18:53:25
内部的にも違うと思うぞ
お前らC#と関係ない話すんなら他行けよ。
95 :
デフォルトの名無しさん :2009/12/19(土) 19:01:25
>>93 そうじゃないのかね?
クラスを作るって言ったって最近のCPUのプロテクション機能を考えると
クラスとしてnewした段階で確保されるのはメンバ関数を指し示すポインタ
を含んだ構造体のような物が確保されてるだけだろうし
オーバーライドを書く場合はオーバーライド用の関数もどこかに持ってて
オーバーライドするところでメンバ関数のを指し示すポインタの中身を
入れ替えれば実現できる
どう考えてもコスト的やらないね。
内部的にはvtable方式だからそうだな。 ILレベルでは見えないからCLRの実装依存なのだろうけど。
仮想マシン上で動いてる物を最近のCPUっていうのはどうかと思うZE
どっちだよw
いちいち入れ替えしてたら同時に使うときの負荷が増えそうだなあ。
どうでもいいだろ
102 :
デフォルトの名無しさん :2009/12/19(土) 19:07:48
>>98 実行コード付でnewしてたらメモリ食いまくるしCPUプロテクション機能の
ある環境化だと、newで動的に確保されたコードの方は動けないんじゃないかな?
そう考えるとnewで確保するのは変数と関数ポインタだけにして
実行ロジックは共通で持ってる方がスマートになる
興味本位の質問くらい認めてくれよ。
CPUプロテクションマニアか何かか?
書き込む前にちょっと落ち着こうねって9時間前に言ったばかりなのにこれだよ…。
106 :
デフォルトの名無しさん :2009/12/19(土) 19:12:08
>>105 君に対しては既に「自分を棚上げするな」と言ってあったはずだが、
それはもう忘れたのか。
自分を棚上げするな(キリッ
茶々が入って話が流れてるのは事実だわな 茶々入れてるのは107を含む極一部のように見えるが
それはもう忘れたのか(失笑)
>>109-113 この、たまに一気に湧いて一人にレスつける奴は何なんだろうな。
●なんだろうけど楽しいのかな。
言うに事欠いて「●だー」って (苦笑)
116 :
デフォルトの名無しさん :2009/12/19(土) 19:24:48
>>114 おじちゃん、なんでム板のC#スレのスレ違いな内容で顔真っ赤なん?
お前らいい加減にしないと俺が35だってことばらすぞ。
お試し●はタダだし、持っててもおかしくはないけどな。
さすがに
>>107 のレベルで得意気な奴は痛々しいな
普段どういう生活してるんだか
余程潤いがないのかな
>持っててもおかしくはない 中毒が何か言ってますwww。
122 :
デフォルトの名無しさん :2009/12/19(土) 19:34:49
●だとIP丸見えなんだっけ?
すみません DataGridViewにデータソースバインドするのと 直接Array入れるのでは何が違うんですか?
そんなことよりサメの話しようぜ
>>123 グリッドから書き換えたらデータ側も書き換わるのがデータバインド。
Array入れたならArrayの中が変わるだけ。
>>102 クラス方式のオブジェクト指向言語で、
実行コードを共通じゃなくインスタンスごとに作成する処理系など見たことがない。
最近のCPUとか云々じゃなくて昔から当たり前のやり方。
うん
129 :
デフォルトの名無しさん :2009/12/19(土) 20:28:07
>>127 なるほど
今調べてました
オーバーライドしない場合はメンバ関数のポインタがそのまま
入ってて、仮想関数の場合は仮想関数テーブルを参照して
アクセスするようなのが多いみたいですね。
で、この仮想関数テーブルの中のメンバ関数のうち該当する
ところをオーバーライドで書き換えるという感じで
>>129 ――という仮想メソッドテーブルがクラスごとに生成されるのが
静的型付言語でよく行われる実装。
したがってインスタンスごとにメソッドテーブルを持ったりはしない。
逆に言うとRubyやPythonなどの動的言語では
インスタンスごとにテーブルを持っているのであとから変更できる。
アクセシビリティに一貫性がありません。フィールドの型 'Application.Class' のアクセシビリティはフィールド 'Application.Form1.Class' よりも低く設定されています。 エラーの直し方教えて下さい
Form1.Class なんてのを使うのをやめる。
Application.Classをpublicにする(public class Class) またはForm1.Classをinternalにする
ありがとう
135 :
デフォルトの名無しさん :2009/12/19(土) 23:15:26
はじめまして。データグリッドビューを使用していますが、 (1) 現在選択されている行が、画面上見えている行の中で何番目かを知る方法はありますでしょうか。 (2) 現在選択されている行のN行下(またはN行上)の行を、視覚的に必ず見えるように、一覧を表示させることは可能でしょうか ※ TreeViewのEnsureVisibleのような機能です。 MSDNに見当たりませんでしたが私のスキル不足により、見落としているだけかもしれないとも思っています。 お手数ですが、よろしくお願いいたします。
136 :
デフォルトの名無しさん :2009/12/19(土) 23:17:42
連投で申し訳ないのですが、 行がオーバーしてエラーになってしまったので連投でご質問させていただきます。 現在、顧客管理システムを作成しています。 (1) メインフォーム右半分に顧客ごとの情報を入力してもらう情報入力パネルを配置します。 メインフォーム左半分に過去データ検索パネルを並べ、その中に検索用データグリッドビューを置いています。 (2) 過去のデータを修正したいときは、 過去データ検索パネル内の「データ検索」ボタンを押してもらいます。 検索用データグリッドビューに過去データの全件を表示します。 (3) 検索用データグリッドビューで修正したい行をクリックすると、その詳細を右半分の情報入力パネルに表示します。 そして内容を訂正してもらいます。 という流れのシステムを作成したいのですが、 (2)で検索パネルを全件表示させたときに、自動で先頭行がセレクトされた状態になるため、 情報入力パネル内に先頭行の詳細が自動で表示されてしまいます。 できれば、意識的にクリックするまでは、情報入力パネル側の表示は初期値の空白のままにしておきたいと思っています。 データグリッドビューに具体的な実データを表示させたときに、 先頭行を自動選択してしまうことを防ぐ方法はありますでしょうか。 度重なる質問で申し訳ありませんが、よろしくお願いいたします。
>>135 FirstDisplayed以下略
>>136 > (2)で検索パネルを全件表示させたときに、自動で先頭行がセレクトされた状態になるため、
> 情報入力パネル内に先頭行の詳細が自動で表示されてしまいます。
これの実装次第な気がするけど、取り敢えず見た目上選択していない状態にするのは
CurrentCell = null
DataGridView.ClearSelection() でいいんじゃね?
ガーベジコレクションに任せず手動でクラスを破棄する方法ってある?
collect
仕様を詳細に書き込むのはよくないねぇ
別に詳細に書いたって問題ねえよ 他人がどういう言うことじゃない
つっても仕様の相談がしたいならともかく
>>136 は最後の3行で足りる話だろ
守秘義務違反にならないようにたのむ。
動画の途中で別のページに飛ばされるので閉じた
"LC.exe" はコード -1 を伴って終了しました これはなんなの・・・
ロスカットだな。
sage
C# FrameWork2.0 WindowsFormのTableLayoutPanelでCellBorderStyleをSingleにすると 枠線が表示できますが、この線の色を黒にする方法がありませんか?
中身見てみると内部でべたにSystem.Colors.Windowを指定して枠線描画しているみたい。 やるなら、カスタムコントロール化しOnPaintBackgroundをオーバーライドするしかないかと思われる。
>>153 他にGroupBoxの枠色とかも変えられないよね。Vistaだとめっちゃ見にくいんだけど。
ああいう変なところでハードコーディングされているのは勘弁して欲しいものだ。
Webbrowserクラスの境界線について質問です。
htmlソースを渡して表示すると画像のように境界線(くぼんだ3D?)が表示されてしまいます。
ttp://aryarya.net/up/img/3862.jpg この境界線を消してしまいたいのですが、どなたかいい方法をご存じないでしょうか?
私はWebbrowsクラスを継承して、BorderStyleやBorder3DStyleをNoneにするくらいしか思いつきませんでした、
「そんな定義ねぇよ」と怒られて終わりましたが・・・
何をどうやって表示してるのかもわからずじまいでした・・・
イベントって=nullができないけど これってどうやってnullにすんの? 関数をイベントに+=しちゃったらガベージコレクションの対象外になってメモリリークを引き起こす。
event.Clear();
自分で登録したデリゲートだけ自分で始末するのが基本 =使わせないためにeventキーワードあるんだしな それに関数登録しようが関数の所属するクラスがGCの対象になったとき破棄されるよ
Form1からForm2を開いた時、 Form2.が閉じられたことをForm1で確認するにはどうすればいいでしょう?
FormClosedイベント
Form2のFormClosed()で通知しろよ
Form2のFormClosingイベントをForm1で拾えばいいんじゃね?
FormClosedイベントの中に処理かけばよくね?
.NETのGCは循環参照の検出はしますか?
するよ
>>156 イベントの発行元よりイベントの受取先のライフサイクルが短いケースというのはあまりないが、
WPFではそういうケースもあって弱参照イベントパターンをサポートしている。
WeakEventManagerがそれ。
>>166 も何を言いたいのかよく分からんが、普通に適切なタイミングで-=するだけの
話ではないの?
>>156 がそこまで考えてるかどうかは別にして、
弱参照リストでググレば分かるはず。
>普通に適切なタイミングで
をデストラクタでやろうとしてるなら永遠に実行されない。
(プロセスが終了時には動くかもしれないが)
えー何で?
イベントがメソッドの参照持ってるからだろう
171 :
デフォルトの名無しさん :2009/12/20(日) 21:10:48
>>164 しない
ルート参照から辿って到達できなかったものを死んだとみなすので必要ない
>>170 でもそれならイベントを持ってるインスタンスがGC対象になった時に一緒にGCされね?
少なくとも永遠に呼ばれねえとか意味不明なことにはならんだろ。
System.Windows.Forms.Application.Idle を想定してたので永遠と書いてしまった。
クラス* 変数=new クラス; 変数=null; C++だと これでヒープ領域が無駄に使われてたけどC#だと安全ってわけか
適切なところでdeleteさえすればGCもRAIIもいらない(キリッ
>>176 new クラスっておかしくね
new クラス();じゃないとコンストラクタというかインスタンスというか・・・
179 :
152 :2009/12/20(日) 21:34:13
亀レスですが・・・ うぉぉ・・・ 内部でそんなアホなハードコードしないでほしい・・・ おとなしくそのまま使用してだめならあきらめてオーバーライドでやります。
全てのオブジェクトを静的フィールドのコレクションに格納しておくことにすれば自分でメモリ管理できるよ! 適切なところでそのコレクションから削除すればおk
VisualBasic.InputBoxで、空欄でOK押した場合とキャンセルボタンを押したときの 処理を分けたいのですがどうすればいいでしょうか? MSDNでは、長さ0の文字列が返されると書いてあり、空欄の時と同じで、 返される変数を使うことは不可能かと思われます。 どのように判断すればよろしいでしょうか?
182 :
デフォルトの名無しさん :2009/12/20(日) 21:39:08
VB関数なんか使わなくてもそれくらい10分あれば自作できるだろ
InputBoxてw そもそもそんな時代錯誤の遺物を使わなきゃいいのに
185 :
デフォルトの名無しさん :2009/12/20(日) 21:41:31
今ぐぐってでてきたので学校の教材じゃないの?
実際InputBox(相当のもの)って使わないよな そんな単純な入力で済むアプリならコンソールで作った方が融通利くし
まあ…ねえ…
189 :
デフォルトの名無しさん :2009/12/20(日) 21:49:41
>>186 学校の教師にプログラミング能力求めちゃだめだよ
数学の授業でいまだにBASIC残ってるんだっけ?
おい左下w
191 :
デフォルトの名無しさん :2009/12/20(日) 21:51:19
>>188 左下なんかワロタ
あんまり使ったこと無いんだがマニュフェスト?だっけ?
スクロールバーとかの見た目を変えるやつ
あの辺は関係ないのかな?
2008EE+Vista+Aeroだと付かないね
193 :
デフォルトの名無しさん :2009/12/20(日) 22:06:04
WebbrowserってコアはIEと共通なんだっけ? FireFox使ってるんだけどIEに切り替えて実行してみたが特に変化なかったな IEは8ね
VS2008ってサービスパックの有無は?
環境書くやつは、せめてIEのバージョンくらい出してくれよ
197 :
デフォルトの名無しさん :2009/12/20(日) 22:51:18
WebbrowserはIEエンジンだから、 インストールしてるIEのバージョンによって表示が変わるのですね。 完全に見落としてました。 私はIEを使わないので、Ver6.0のままです。 それで差異が出たのでしょう。 どげんかして境界を無効にしないと・・・。 IE6エンジンの人はまだ結構いそうですし・・・。
そんな境界線、気にすんなよ。
201 :
デフォルトの名無しさん :2009/12/20(日) 23:16:35
202 :
デフォルトの名無しさん :2009/12/20(日) 23:39:05
203 :
デフォルトの名無しさん :2009/12/20(日) 23:54:01
じゃあ仕様でいいじゃん
いじれそうな感じもするけどめんどくさそう なんでプロパティが公開されてないんだろうなw
いじるのはそんなに難しくないけどな(SetWindowLong呼ぶだけ) でもIEのバージョンによって変わる部分なら、そこはアプリのレベルでいじるべき部分じゃないと思うよ。
画面のスクリーンショット取るのをタイマーでやっているのですが、 このアプリとは別のアプリで他の処理をしていたら、うまく機能しません。 このような場合どのようにすればいいのでしょうか。
プログラムがおかしいから見直す。
210 :
208 :2009/12/21(月) 08:25:28
別アプリの件は、直ったんですが、最小化したらやはり機能しません
>うまく機能しません。 で他人に状況が分かると思うか?
最小化してタイマが止まっているのか それともタイマ内の関数がうまく動かないのか・・・ 後者なんだろうけど・・・ もうすこしkwsk
213 :
208 :2009/12/21(月) 13:58:56
>>212 当アプリがアクティブウィンドウであった場合、
別アプリのウィンドウはキャプチャーリングの対象になるようですが、
当アプリが非アクティブウィンドウだと対象外になるようです。
方法としてウィンドウハンドルを取得して、
ウィンドウの左上隅の原点を取得し、
g.CopyFromScreen(new Point(x,y), new Point(0, 0), bmp.Size);
を使ってキャプチャーしています。
ちゃんとやろうと思ったらAPIのがいいんじゃないかと思うんだが… プリントスクリーンを押したことにするという手もなくはないけど・・・
>>213 行っていることがさっぱりわからんのだが。
ウィンドウハンドル取得しているコードはどう書いてるんだ?
intとかforとかifとかは「予約語」っていうけど valueとかyieldみたいな予約語ではないが特殊な意味をもった用語をなんつーんだっけ?
コンテキスト キーワード
関数に配列を渡したいんですが、配列の途中の要素から渡す場合はどのように記述すればよいのでしょうか? 例えば11番目から渡したければ func( A[10] ) とやると怒られてしまいます。
配列限定ならコピー作るしかないね LINQならSkipとWhileとToArrayで多少は楽 標準ライブラリでは配列を渡すメソッドにはindexとcountを渡すオーバーロードがあることが多い
渡す用の新しい配列変数をつくってそこに必要なデータだけを入れて その変数を渡したんではいけないの?
コピーしないとだめですか。 Cだと func( &A[10] ) で行けたので、なにか記述方法があるかと思って聞いてみたんですが
222 :
デフォルトの名無しさん :2009/12/21(月) 17:46:33
>>221 そういう言語仕様だといろいろ問題があったからのC#なのにw
>>221 ポインタ使いたけりゃunsafe使え。
ユニセフですか?調べてみます
なんという・・・・これは突っ込んでいいのか釣りなのかwwwwww
おい待て、ユニセフと日本ユニセフは別物だぞ
いつから児ポルアグネススレになったんだ
言われて見ればC#って配列のスライシングとかないな 最近の高級言語はだいたいあるのに
日本ユニセフのクレカのデザインはかっこいい
C#でバイトスワップはどうやってやるのでしょうか? Macから呼んできたデータなんかをインテル系に読ませると、8バイト毎にひっくり返って入っているのを戻したいのですが?
Array.Reverse?
バイトじゃなかった、8ビットごとですね。 上位8ビットと下位8ビットをそのまま入れ替えるって事なんですが
234 :
デフォルトの名無しさん :2009/12/21(月) 18:58:14
そう、リトルエンディアンとビッグエンディアンです
ushort n = 0xFF01; n = (ushort)(n << 8) | (n >> 8);
調子乗ってるところ悪いが括弧足りてないよ。
ビットシフトが使えるんですね。やってみます。
嫌味な言い方だなぁ
ふきんき(なぜか・・)的にはBitConverterを使って自分で作れってことだろうか。 IsLittleEndianなんてメンバーもあるし。
241 :
デフォルトの名無しさん :2009/12/21(月) 19:09:30
>>240 機能がわからなければ普通に割り算とか使えばいいだけでしょ?
>8バイト毎にひっくり返って入っているのを longならシフト演算で対応できるが、doubleなんじゃないかなぁ。 そうなるとIEEEなんちゃらの互換はどうだとか言う話にもなるのかな。
243 :
デフォルトの名無しさん :2009/12/21(月) 19:13:33
>242 まあどういうデータを受け取ってるのかがわからんので 本当に入れ替えしていいのかも怪しいけどね
俺としてはそもそも >>Macから呼んできたデータなんかをインテル系に読ませると、8バイト毎にひっくり返って入っているのを戻したいのですが? の時点で何も分かってないので放置でいいと思うんだが
分かってねぇよw 言っても分からないのだろうけど。
247 :
デフォルトの名無しさん :2009/12/21(月) 19:37:15
断片的な情報しかよこさないんだし無難な回答しておけばいいだけだろ うまくいかなければまた言って来るだろうし
昔のMacのことだろう。 モトローラ系の時のMacはビックエンディアンだし、インテルはリトルだ。 MRIの仕事した時、画像データを表示させたら、変な表示になってビックリしたことがあったよ。 エンディアン嘘つかないね( ・ω・)y─┛〜〜
in from where select うるせぇ”!
どうした?
エンディアンだろ
エンディアン嘘つかない
>>229 C# は配列でいろいろやるよりも、IEnumerable 経由でいろいろやるの推奨な言語だからなぁ。
エンディアン変換だな。 リトルが、インテルとか昔のDECのアルファチップとかだろ。 ビッグが、モトローラ系とかMIPSとかだな。 本来はバイナリデータをオープンする時に、そんなスイッチがあれば済むことなんだけどな。 MATLABとかはあるんだから。 インド人、嘘つかないよ
推奨はしてないでしょ。 他ではあんなに面倒だったことが簡単に出来ますよ、というだけのこと。
C#って基本的な文法を覚えたらあとは クラスの使い方をひたすら暗記するだけ?
258 :
デフォルトの名無しさん :2009/12/22(火) 00:59:30
まあ特殊なことしなければそんな感じ
ほかの言語もそうだろw
うんさふぇの時のstackallocは 多次元配列はできないの?
何を言ってるの?
まあ真面目に答えるとただのメモリブロックに多次元も何もない。
シリアル通信のデータロガー作ってみたいんですが初心者でも楽にチャートが作成出来るClassってありませんか?
できません
>>263 とりあえずコードプロジェクトでも行って探してみるというのもあり
>>263 身近なとこでは、CrystalReport、Excel。あと、SourceForge.netにいろいろある。
どこかのスイーツでも買えば。10万ぐらいするけどね( ・ω・)y─┛〜〜
XpOSで7segFontを使いたいんですがどこで何をインストールすればいいんでしょうか? VISTAだとデフォルトで使用可能だったんですがXp上で化けちゃいました。
フォント入れたらええだけちゃうのん?
270 :
268 :2009/12/22(火) 10:10:50
>>270 自分の所にあるなら探せばあるだろう・・・
それを配布していいかどうかは別だけど
272 :
デフォルトの名無しさん :2009/12/22(火) 10:14:59
機種や特定OSに依存するフォントを基準にするのはどうかと フリーフォントであっても勝手に自分のソフトにつけて配布は でいないし 7segFontがどういうものかしらないけど
別に再配布出来るフォントがあってもおかしくはないんじゃないの?
274 :
デフォルトの名無しさん :2009/12/22(火) 10:37:06
そんな細かい話はここと関係ないだろ フォントのライセンス調べてそれに従えばいいだけだろ
情報が小出し過ぎてなぁ。 できるか分からん物にできるって言ったら無責任だし 結果としてできなかったら嘘吐きだし。
276 :
デフォルトの名無しさん :2009/12/22(火) 10:41:33
使えるフォントなんて言語に一切関係ない windowsならfontが入ってるフォルダに入れておけば アプリから使える
>VISTAだとデフォルトで使用可能 そんなのあったっけ? 俺が無知なだけか・・・?
7セグのフォント、ググったら添付可能なやつ出てきたんだけど
279 :
デフォルトの名無しさん :2009/12/22(火) 19:04:34
だから言語かんけーねーだろって フォントのライセンスに従えって スレチだよ
>>207 のSetWindowLong試して、いろいろと属性を削除してみましたが
見事に境界線を消すことが出来ませんでした
私にWin32APIはまだ早すぎたようです
IE8入れて境界線を見なかったことにしました
教えてくれた人、ありがとう
趣味ならフォントなんて使わずに自前で描画してみるのも面白そうだけどね
は?
.Net3.5のEnumerable.Distinct()の実装はどうなっていますか?
なるようになってる
バカは黙ってて下さい
foreach (var item in source) if (バッファに含まれているか) { yield return item } else { バッファにitemを追加 } } こんな感じ
foreach (var item in source) if (itemがバッファに含まれていない) { バッファにitemを追加; yield return item; } } すまんこうだな
yieldとか糞キーワード使うな
Enumerableは中でyield使いまくり LINQ to XMLも中でyield使いまくり
>>288 .Containsを使うと線形時間掛かりますが、
バッファに含まれているかの判定は具体的にどのように行っているのですか?
ハッシュ Containsで線形時間かかるのは当たり前 少なくとも初回はまっすぐ列挙する以外にどうしようもないんだから
タイマー関数よりも軽い並列処理ができるループ処理ないですか?
タイマー関数よりも軽い・・・? 何を言ってるのかわからない
>>294 根本を理解していなくてすみません。
つまりFormのタイマーを利用するより軽くて済む、
関数等ありますかという質問です。
複数タイマーを設置すると重くなりますので、
改良したいと思って質問させていただきました。
つthread つbegininbooooooook つthreadpooooooooool
旧式のファイル名を取得する方法ってある? test.txt test2.txt ってあったら test~1.txt test~2.txt みたいになるようなの
GetShortPathName
>>296 やはりスレッドを利用するしかないですか。
一度失敗したので諦めたのですが、再度挑戦してみます。
質問ですが、
スレッドとタイマーどのぐらい処理速度が変わりますか?
何を言ってるのか分からない
タイマーは並列処理の仕組みじゃねえ
重いと速いを取り違えるなよ。
いや、タイマーが出てくるってことは 処理を1000個くらいに分割してタイマーイベント呼ばれるごとに1個1個処理してるんだと思うよ そりゃ遅いわな
赤いスポーツカーと青いスポーツカーはどっちが速いですか?と同じような質問だなw
断然赤だと答える
306 :
デフォルトの名無しさん :2009/12/23(水) 09:14:41
>>305 3倍早いんですね
青は追い込まれると早くなるんですね
>>263 Excelのグラフオブジェクト使っとけ
C#はなんで中間言語なんだよ C++みたいにWindows専用とかLinux専用とかでいいよ。
309 :
デフォルトの名無しさん :2009/12/23(水) 11:27:43
中間言語ってもC#てWindows以外ので使われてんの? 実質Windows用だろ?なら中間にしないでよくね
ネイティブコードも吐けるようになればもうC++要らないんだけどな
32bitや64bitのCPUにあわせて最初の実行時に中間から最適なターゲットに変換されるし LinuxやMACなどでも完全とは言いがたいが動くし 中間が嫌なら他の言語を使えばいいし 何が問題なのかね
とはいっても中間言語とネイティブコードじゃ明らかに速度差はあるだろ C#は現状のGUI開発のRADとしてはC++やJavaに比べて かなり開発工数は少なくて済むし、他の言語を使うという選択より C#がネイティブに対応してくれるほうが生産的だろう
Java のせいか中間言語の利点をプラットフォームとか CPU 非依存な 点だけだと思っているやつが多すぎ。
315 :
デフォルトの名無しさん :2009/12/23(水) 11:49:26
昔のBASICだって中間コード管理だったんだけどな
>>310 > 中間言語ってもC#てWindows以外ので使われてんの?
iPhoneアプリですでに使われている。
>>311 > ネイティブコードも吐けるようになればもうC++要らないんだけどな
Mono は、ILをネイティブコードに変換できる。iPhoneアプリはその機能を使っている。
そのほか、セキュリティの面からもアドバンテージがある。
速度差なんてほとんどないけどな。
C#はネイティブになってもフォームとかは遅いだろうから あまり意味ないね
>>314 ライバル会社のOS上には露骨に性能悪いVMを提供できるとかな
>>314 上級者様ならいろいろ知識があるんだろうが
初心者用スレなんだからそれくらいしか知らないやつも多いだろ。
どんなメリットあるんだよ
ボーランドあたりがネイティブのC#出してくれないかなぁ
323 :
デフォルトの名無しさん :2009/12/23(水) 11:55:27
.netってJIT機能なかったっけ?
中間言語+フレームワークが実行の利点 1. CPU 依存の最適化が効く 2. GC が優秀で、使い方によってはネイティブよりメモリ回り高速 3. いろんな言語でライブラリが共用できる 1と2があるんで、下手したらネイティブよりも速いときもある。 JIT にかかる時間分のマイナスがあるんで、トータルで見るとやっぱ遅いけども、微々たるもんだぞ。 だいたい C++ の8〜9割以上のパフォーマンス出るし、 ましてスクリプト言語と比べたらけた違いに速い。
>>323 pre-JIT?
あるよ。
標準ライブラリなんかはインストール時に JIT されてネイティブな状態でキャッシュされてるはず。
なので、大概速い。
>>324 9割の速度がでればみんなが満足するとでも思ってるの?
327 :
デフォルトの名無しさん :2009/12/23(水) 11:58:23
もうほんとネイティブ信仰やめて欲しい。 同じ Windows ですら、32ビットから64ビットに移行するのでどれだけの人が苦労してるか。 C++ は移植性高いとかまったくもって嘘、というか、カタログスペックの都市伝説だから。
数値計算系の応用をやってる身としては、 ネイティブの計算速度がきちんと出てくれないと困る 結局、開発工数を多く費やしてでもC++を使うハメになるのは悲しいな
330 :
デフォルトの名無しさん :2009/12/23(水) 11:59:46
>>326 そこまで時間気にするならC/C++で組めって話
開発時間と1割程度の実行速度のトレードオフだよ
マシンが早くなってる時代にそこまでやる必要があるのかってこと
>>326 GC付きネイティブ言語のGoがCの9割を目指してるな。
>>328 実際ネイティブと中間言語のパフォーマンスを比較してみろ
明らかに有意差があるだろ
満足しない人は使わなきゃいいのに、どうしてこれにこだわるの?
>>326 9割のスピードのものが10分の1の手間で書けるならそっちの方が絶対いいし。
だいたい、ボトルネックなところだけ最適化かけりゃいいんだよ。
C# でも、GC 避けるようなコード書けば、生産性は落ちるけど速度上がるぞ。
>>327 それは IL の利点というか、C# が優秀なだけでは。
ネイティブな言語でも GC 持ってるだけで生産性上がるし。
20%〜10%くらい遅くなるけど開発が楽だからC#つかお! なんてやつは日曜プログラマならいいけど仕事でやってるなら即効クビだわ・・・
336 :
デフォルトの名無しさん :2009/12/23(水) 12:02:06
>>331 GoってGoogleが開発してるやつ?
なんかスクリプト言語くさくてカッコ悪くなかったっけ?
だいぶ昔に見たから今はわからんけど
>>331 実際のところ、今は Java より遅いらしいけどな、Go。
>>332 数値計算みたいなことしてみ。
計算にかける時間が大きいと、JIT の時間が相対的に減るから
ほんとネイティブとスピード変わらないよ。
>>333 工数が少なくて済むからって何度も書いてるのに君は文盲?
実際、ネイティブのスピードが必要な場面では使えないし使ってないから
340 :
デフォルトの名無しさん :2009/12/23(水) 12:03:08
>>335 アホか
金出さないユーザーのためにそこまでがんばる必要ないだろ
予算に見合ったことをすればいい
そこまでして自分を消耗させてどうする
>>324 最近のプログラムって起動が遅い@PenIII のはJITのせいか。
童貞のやつにかぎって処女にこだわるようなものか
>>335 仕事でやってるならなおのこと生産性だよ。
人件費よりも高いもんないんだから。
要件にない範囲で、たった1割の高速化のために10倍の作業してたらクビになるぞ。
344 :
デフォルトの名無しさん :2009/12/23(水) 12:04:04
>>341 .netを要求するアプリじゃなければ関係ないよ
えっ?
>>339 使ってないなら問題ないよね?
なんでからんでんの?
>>338 何年も数値計算やってるがC#の速度じゃやってられないよ
君がどういう応用やってるのか知らんけど、
分野によっちゃCPUリソースがマジで命だから
2割遅くなることの重要さが分からない奴は事務アプリしか作ったこと無いんだろうな
遅くなるとこじゃつかわないんでしょ?
>>346 ネイティブになったら使えるのにもったいね、
って話してんのにお前大丈夫か・・・?
問題が無いのに、問題だと言う。 頭がおかしい。
C#と似たよう(?) C++/CLIってのはどうなの? あれも中間言語なの?
まぁ実際の所、ネイティブコードが吐けるようになったら 今の何倍も普及するだろうな 早く書けて、ある程度読みやすい、保守もしやすい ってことにかけてはC#は神だから
354 :
デフォルトの名無しさん :2009/12/23(水) 12:07:56
>>348 速度を求められるようなアプリの場合そもそもC#なんて
使わないだろ
なんでこんなところで組み込みのやつらがまざって話してるんだよ
適材適所で使い分けられるのに、道具を選ばない御馬鹿なんでしょう
適材適所 C#の生産性があって、C++の実行速度があるのが一番いい ↓ 実行速度がほしいならC++使え 生産性がほしいならC#つかえ ????????????
>>347 それ、絶対書き方が悪い。
昔、C# で速度でねぇって言ってるやついたから、自分が手直ししたらC++版とほぼ同じ速度になったぞ。
359 :
デフォルトの名無しさん :2009/12/23(水) 12:10:57
静的にネイティブ履くようじゃあ意味ないだろ 動的にネイティブに変換するんだし
>>355 アホか?
じゃあC#並に早く作れてC++並に速い言語もってこいよ
なんでこんな必死に中間言語を擁護してる奴が多いんだ?w
どうせMSの回し者か自演なんだろうけどwww
>>348 2割遅くなることが、そんなに重大になる分野を知りたい。
科学計算では、天気予報ぐらいだ。
>>358 エスパー乙
こっちは専門だし、お前よりは高速化のノウハウ持ってると思うよ
>>360 そういうスレなんだから当たり前だろw
お前こそむなしいネガキャンやめろよw
VC++のフォームが早いのはダイアログリソースだからで .netのフォームはウィンドウをラップしてるからでしょ? 違うの? だからネイティブになってもフォームは遅いでしょ? 違うの?
C++/CLIってのが C#の生産性とC++の速度を持ってるものじゃないの?
>>357 両方満たしていればさらに素晴らしいのに
グダグダできない理由を言い訳してる奴らってみっともないよなw
>>364 今そういう低レベルなこと考えてるの君だけだよ?
>>365 計算だけネイティブになっても速くならないことを証明してるよね
コンセプトが違って両方満たしてないものに、両方満たせという こいつは街乗り車でもF1の速度が必要なんだろうか
>>370 いつからC#が街乗り車になったんだ?
詭弁乙
クラスの生成・消去は 速い スタック上のクラス(C++) GC+ファイナライザなしクラス(C#) new/deleteクラス (C++) GC+ファイナライザありクラス(C#) 遅い なのでnew/deleteを多用した場合のC++よりC#が速くなることがあるな。 普通はスタック上に作ることが多いからC++が速いけど。
あ、痛いとこつかれちゃったのか
C#はマジで神! C++だとプロパティ作るのにいちいちgetter,setter書かなきゃいけない。 C#だと public int A{get;set;};で終わるとか デリゲートやラムダ式とかも関数ポインタよりずっと使いやすいし。 初心者がC#を一番最初に始めちゃったら同じようなことするのにあまりにも面倒な作業多すぎてC++できなくなるんじゃないかと思う。
>>374 実際そうだと思うよ
高級言語としてはC#はかなり優秀
だからネイティブ化さえあれば本当にC++無くなっても困らないんだけどな
>>376 それはもうあるが、実行速度は速くならない。
>>376 型システムやGCをそのままにしてネイティブにしても速度はあまり変わらんよ。
>>347 5年くらい前まで数値計算やってたが
C++そんなに速いか?
今は速くなったのかな
Fortran>>C>>>(越えられない壁)>>>C++
だったが
>>374 C++でsetter,getter多様するようなら、書き方を考え直したほうがいいけどな。
ネイティブでないから遅い信仰ってなかなか解けないな。
FORTRANでやるような計算を速くやりたいなら、 コレクションは使わず配列にすることだな。 それに尽きる。
うんさふぇでstackallocな配列にすれば早くなるんだっけ
>>379 越えられない壁は、 FORTRAN と C の間にあると思う。
>>384 まあ確かにw
C++な流れだったからそうしてみたけど
でもC++との間にもある感じだけどな
いいぞいいぞもっと言い合え!
初心者スレで、初心者に向かって お前は間違ってる!なんつってむなしくならんのかね。 上級者様は初心者がバカなこと言ってもいちいちつっかからないで黙ってみとけばいいんだよ。
>>387 初心者がしったかでいい加減なことを言わないようにすべきだろ。JK
>>382 お前の世界の中ではデータ構造は配列だけで完結しちゃうんだなw
良いか悪いかは別にしてFortranなんて無理矢理配列で完結させるもんだろ
395 :
デフォルトの名無しさん :2009/12/23(水) 12:54:09
初心者を装った常駐回答者の釣りに入れ食いなのはここですか?
で、結論をまとめよ C#は生産性が高いが速度が遅い。 でいいのか?
397 :
デフォルトの名無しさん :2009/12/23(水) 12:55:27
>>396 若干遅い
が正解じゃね?
まあプログラムの動きで変わるんだろうけどね
C#で生産性が大きく上がるような用途でC#そのものの速度が問題になることは稀 FORTRANwでやるようなことをC#でやったってそんなに楽にはならん
今でも数値計算系はFortranしか使ってないと思ってるオッサンが多いなw
つ F#の生産性について・・・
ネイティブになったらネイティブになったらー!って言ってるんだったら ネイティブはけるコンパイラでも作ればいいんじゃないの? 言語に不満があるなら言語ごと最適化して作っちまうのがプログラマだろ? そんなに速度がほしいならアセンブラでプログラム組んでろよ・・・ 速度が遅いからC#なんて使えない!ってC#のスレでいう意味がわからない プログラマとか社会人とか仕事で使えない以前に人間性がおかしい。
MONOのaopでネイティブにできなかったっけ。 ただしできるものはngenで生成してるものと同じなので、 GCも型システムもそのまま、System系のライブラリもそのままなので、 速度はまったく変わらんけど。
加減乗除しか使えないくせにエンジニア気取りのITドカタが多すぎだなここwwwww
>>401 思考停止してるお前の方がよっぽど人間的に終わってるわw
自己紹介お疲れ様です
>>399 もう5年も前の話だからw
スマンカッタw
最後の年くらいでやっとメニーコアの並列計算が
実用的で速くなっててそれはコンパイラの出来とかの
面でCの方が優位だったな
今のGPUコンピューティングとかがどうなってるのかは
わからんw
MPIとかCの方が環境揃ってるしな
>>399 速度命の時は、今でもFORTRANだろ。
>>404 1,TPOに応じて必要な言語を選択する。
2,選択になければイッソ作る。
3,ネイティブはけないネイティブはけないってネガキャンする。
さぁ、思考停止してるのはどれかね?
C#をネィティブにしても速くはならない。 遅い原因はネィティブじゃないからじゃないから。 もっとも本気でチューニングすればそれなりの速度にはなる。 安全性や.NETの範疇の機能を犠牲にすりゃ本来のネィティブ並みに出来るだろうけど、 まあ無理があるなどう考えても。 やる価値もない。
>>408 Fortranの利点は膨大なライブラリであるわけで、
最新の研究ではもはやC++を使ってるところの方が多い
ネイティブになったほうが利点が多いのは事実なのだから、 エンジニアとしてはネイティブ化のオプションを希望するけどな ネイティブが嫌な奴はオフにすりゃいいだけじゃん
>>411 現状ここまでを見ると
>>ネイティブはけないから使えない
>>ネイティブじゃないから遅い
どう見てもネガキャンだろ?
同じ処理を行うコード書いて実行速度を比べて評価を下すならわかるけどそれもない
ただ単にC#はネイティブじゃないからとか言ってるだけなんだからネガキャンだろ?
ネガキャンって物、人、組織を攻撃することだろう。物理的ではなく評価とかそういう意味で。
で、ネガキャンってどういう意味なの?
C#のスピードで足らないって、日本のPG60万人のうち、数パーセントくらいだろ。
あと.NETのチューニングにはネィティブの常識や直感は当てにならない。 静的変数へのアクセスがインスタンス変数へのアクセスより圧倒的に遅くなったり、 静的変数がルートになる変数、特に参照値の書き込みが遅くなったり、 配列ループでLengthをローカル変数でキャッシュしたら遅くなったり、 実はforeachが一番速かったり、 2次元配列より配列の配列の方が速かったり 色々色々
>>415 お前やっぱり雰囲気だけでネガキャンって言葉使ってるな
最近覚えて使いたかったんですよねわかります
>>417 それは最適化がうまく効いてないだけだと思うがww
>>419 それが人にものを尋ねる態度か?
上から目線乙
知らないことは自分でggrks
それぞれの特徴 C言語 古い。オブジェクト指向が文法的にサポートされず作りづらい。ちゃんとつくれば速度早すぎ。 C++ 新しい。オブジェクト指向が中途半端に文法に組み込まれている。 C# 生産性が高い。ネイティブじゃないからC++の80%〜90%の速度しかでない。 Java C++とC#の良い部分を消去して悪い部分を集めたような言語。 C++/CLI C++をC#風にしようとしたら失敗しちゃった言語 VisualBasic.net 冗長でわかりづらくなったC# Go まだ未熟でいろんな点で悪い。これからの改良に期待。
>>421 説明できないんだろ?
そうやって噛みついて説明してとか言われると
ググレとかって逃げるのってネガキャンやる人の特徴だよね
F# 趣味の園芸
>>424 情弱乙
必死に煽れば答えが降ってくると思ったら大間違い
一般にライバルの印象を良くすることが目的じゃなけりゃ
ネガキャンとは言わないわけだが
>>415 はスレチだから消えろ
>>426 いや、普通に煽って着てるのは君の方だと思うんだけど・・・説明できないんだろ?
>>428 顔真っ赤でキーボード連打して誤字ってるよ?
数値計算なんかそれこそPythonとかで十分な場合も多い
>>427 ライバルだけとは限らないけどなぁ
>>429 変換ミスの原因はキーボードの連打じゃないよね
しかも、キーボード入力使ってないからそれはあり得ないし。
どうでもいいけど ちゃんと証拠も出さず遅いとか早いとか言われても初心者の俺にはわからん。 いくつか実例を出してくれないかな。 DateTime d=DateTime.Now; Console.WriteLine(d); //ここに処理 DateTime d=DateTime.Now; Console.WriteLine(d); これとC++で比較したようなのがあれば良い。
ngen使えばネイティブなのに何が不満なんだ
>>437 ngenって2.0では使い物にならなかったけど改良されたの?
だからネィティブじゃないから遅いんじゃないんだよ。
C#とVB.netの速度ってどれぐらい差ある?
いまこのスレ何人いるの?
このふいんきじゃ質問しにくいんですが、 よく「例外で終了しました」って出てくるのを出なくする方法はないですか? 全文をtry-catchで括ってもみ消せばいいんですが、 単に無視してコード実行してほしいのですが・・・
まあお前らカスどもが何話しても無駄だから 早いプログラム書きたいときは俺を呼んでくれればいいよ。
+ + \\ 祭りだ!祭りだ!ワッショイ!ワッショイ!/+ + . + /■\ /■\ /■\ + ( ´∀`∩(´∀`∩) ( ´∀`) + (( (つ ノ(つ 丿 (つ つ )) + ヽ ( ノ ( ヽノ ) ) ) (_)し' し(_) (_)_)
ITドカタが何人集まってもまともな話できないことは証明されたなwwwww
>>443 try {
Application.Run(new Form1());
}
catch (Exception) { }
>>443 とりあえず問題を再現できるコードを書こう。
それじゃ回答不能な質問に近い
>>447 それだと結局アプリは終了しちゃう気がするのですが・・・
エラーを無視して次の文を実行してほしいのです
on error resume next
>>447 それだけじゃダメだし。
まあどっちにしても
>>443 は無理。
それができないように例外があるといってもいい。
>>443 ようは、Visual Basicの on error resume nextがほしいんだな。
それなら、一文ごとtry - catch で囲むしかない。
無視するという考え方が悪い 例外はそもそも異常なんだからちゃんと処理しないとその後の処理は保証されないだろ
>>453 そうなんですか・・・
例外とか無くしてくれればいいのに・・・
よくねーよアホが
>>455 強制終了するとクレームがくるので、
とりあえず形だけでもちゃんと走ってるように見えればいいそうです
だったらきちんと例外処理しろ。 無視して継続したら取り返しがつかなくなる可能性があるだろ。
C#のパーサ書いてtry-catch自動生成でおk
>>456 なくなってもそこでプログラム強制終了するだけだぞw
dynamic x; //なんかxの処理がここにいろいろ書いてる x.aaaaaaaa(); こんなのは場合によってはコードが通るが普通エラーが出てくる。 そしてここをふっとばして書いたらさらにその下の行にもエラーがでてくる。 エラーの無視がさらなるエラーを呼んでとんでもないことになる。
そんで今度はデータが消えたとか壊れたとか復旧不能になってからクレームが来るんだぜ。
変に進むより例外出てくれたほうが嬉しいだろJK
いいですか?
>>464 メモリ関係のささいなエラーばっかりなんですよ
相手先が長時間起動しっぱなしのせいで起きるエラーなんで、
たまに再起動してれれば無視しても問題ないエラーなんです
なのにいちいち強制終了しちゃうからクレームがついて困るそうです
それでも、すべてのサブルーチンの最初に on error resume next が書かれているものはある。
つまりタスクマネージャのメモリ使用量が90%とかになり続けても容赦なくプログラムを続けろと!?
>>467 問題おきるところが特定されてるなら、そこだけtry catchで括ればいいんじゃね?
>>467 例外起きたら終了して再起動するようにすればいいじゃない
でもプログラマやめた方が(周りも)幸せだと思う
UTF-8の文字列をShiftJISに直そうと下記のようなコードを書いたのですが str_jisの中身を確認すると文字化けしています。 こういった流れでは文字コードの変換はできないのでしょうか? StreamReader sr = new StreamReader(",/test.txt",Encoding.UTF8); Byte[] bufByte = Encoding.UTF8.GetBytes(sr.ReadLine()); String str_jis = Encoding.GetEncoding("Shift-JIS").GetString(bufByte);
>>470 さんざん色んな箇所をtry-chatchしたんですが、きりがなくて・・・
>>471 再起動というのはOSの話です
とりあえず強制終了問題が解決しないと
渉外担当が営業に入れないらしくて、
ちゃんとエラー対策するのはお金をもらってからでいいそうです
>>467 本当に長時間起動のせいだけなのか?w
まあVB6.0引っ張り出してきてon error resume next
で作り直せば?行けるところまで動かし続けてくれるよ
それで今より致命的な状況になっても貴方や
その会社の自己責任
>>472 です。
ふと思いなおして以下のコードを
Byte[] bufByte = Encoding.GetEncoding("Shift-JIS").GetBytes(sr.ReadLine());
にしたら無事に変換されました。
ありがとうございました
ない。 あきらめろ。 だいたい何の例外なんだ? メモリ不足とかなら無視したって無駄だぜ?
on errorは プログラムを暴走させてでもとりあえず続けろ っていう文法だしなぁ。 C#にはそんな危険な機能なんて必要ない。
480 :
デフォルトの名無しさん :2009/12/23(水) 13:53:03
グーグルのやってるエラー忘却型コンピューティングなんて 検索結果という多少間違ってようがおおむねあたってればいいような 物でないと無理だぜ ほとんどの処理はまじめにエラー対策しないと
481 :
デフォルトの名無しさん :2009/12/23(水) 13:54:13
VBerってwin止めるプログラム作るの好きだよね
VBで(VBでなくても今時そうだと思うけど)OSごとコケるようかコードが そう簡単に書けるとも思えんが・・・
483 :
デフォルトの名無しさん :2009/12/23(水) 13:56:48
>>481 俺API駆使してコード書いてるスゲー
なのがこけるコード書いてるだけじゃないの?
OS再起動が必要ってのが謎だな。 もしほんとにアプリ外の問題でリソース不足になるとかなら、 客へのアプローチが端から間違ってる。 アプリ側ではまとめてキャッチしておとなしく終わるしかないんだから。 無理に動かすことはリスクが高すぎてそもそも出来ないんだから。
あほなネイティブ呼び出しが入っててやっぱりアプリが悪いってのはありそうだが、 にしてもOS再起動ってどういうことだよ。
Application.ThreadException AppDomain.UnhandledException あたりで対応取れない?
487 :
デフォルトの名無しさん :2009/12/23(水) 14:03:29
windowsの構造上しかたない アプリやドライバーが悪いのにOSの責任にされて懲りたから ドライバーモデルも変えて、UAC入れたんじゃん XPまでで自由にさせすぎて、UACに関しては嫌われまくってるけどね
アプリが終わるからダメなんだとよ、笑わせる。
>>484 まぁ分かるんですが、僕は下っ端なので・・・
他のアプリは終了しないだろ? そういうことだよ
はぁ
だから答えは無理。 下っぱなんだからさっさと回答上げて上で解決してもらえ。
なんとかしたいです・・・
>>492 渉外担当のSIがショボイのが最大の原因なんですけどね
とりあえずなんとかしろと上司の命令で・・・
やっぱり高速なプログラムを作るには ガベージコレクタの動作を理解する必要があるかな? C#の文法説明をやってるページは多いけど GCの説明が書いてるページはない。。。
お前は文盲か? 簡単な方法ではどうにもならないつってんだよ。
497 :
デフォルトの名無しさん :2009/12/23(水) 14:09:48
小手先で回避してもなんとかなってない いまどきそんなSIer居るのかよw
500 :
デフォルトの名無しさん :2009/12/23(水) 14:11:00
C#でメモリリーク起こすようなプログラム組めたっけ? 古いDLLとか呼び出してるのかな?
>>495 とりあえず全部structにしてみるとか
>>495 とりあえず全部structにしてみるとか
>>498 あらゆるところでキャッチして無視するんだよ。
さらに被害拡大、それでも動かなくなる可能性も高いけどな。
それが無理なら、原因究明して環境かアプリか悪い方を直すしかない。
504 :
デフォルトの名無しさん :2009/12/23(水) 14:13:27
大事なので2回言ってみました
>>500 用もないのにコレクションに参照をぶち込み続ければリークするな
ひたすらIDisposableを「正しい形で」実装したら 延命するんじゃないかと無責任に言ってみる
>>495 ファイナライザのないクラスのGCは高速だから気にするな。
ファイナライザがあるクラスのGCはコストが高い。
必要もないのにファイナライザは使わないことかなぁ。
念のため言っておくが
>>503 のやり方は基地外沙汰だからな。
ほんとにやるなよ。
たとえばゲームとかで 毎フレームごとになんか変数作るとかだったら structのほうがいいのかな? newだったらガンガンヒープを消費しちゃうよね・・・
つまらん配信だな どんな雑魚でもアスカやれば売名になるってのが分かるわ
たかだか60/s * 数十個くらいだろ そんなもん全く問題ない
514 :
デフォルトの名無しさん :2009/12/23(水) 15:06:45
>>485 ちりも積もれば山となるで長時間放置でパッツンパッツン。
客「動いてねぇ。くっそ、OSも立ちあがらねぇ。強制終了ポチッとな」
>>511 そして彼はstructをどんどんboxingしてヒープを消費する
public abstractなプロパティやメソッドしかない中小クラスって インターフェースの劣化?
MSは特に理由がなければ抽象クラスを使うのを推奨してる インターフェイスは後でメンバを追加できないから
Ienumerableって 一番目の要素、二番目の要素・・・ と数えられるような(配列のような)クラスってことでいいの?
順番に意味があるかどうかは分からない ただ要素をひとつづつ返すだけ
文字列がC#の予約語やコンテキストキーワードかどうか調べる関数ってある? string s="int"; string s2="int2"; 調べる(s)がtrueになって調べる(s2)がfalseになるような。
CreateValidIdentifier は、識別子が予約済みのキーワードまたは言語のキーワードと競合するかどうかを調べます。 ってのがあるな・・・。
"c# isReservedWord"で検索すると普通に泥臭いコードが引っかかるから、 多分ないんでしょう。
>>520 たかが、100ぐらいなんだから、自分で List かなんかに登録したら?
その前にそんなことをする理由がわからん
>>527 リフレクションでどうこうしたい人は必要になることがあるかもしれない。
よく知らんけど。
予約語とクラスメンバーの区別が付いてないような
>>521 の方法で予約語は分かるが、コンテキストキーワードは無理だった。
var words = "select";
var codep = new Microsoft.CSharp.CSharpCodeProvider();
var conv = codep.CreateValidIdentifier(words);
return words != conv
何でこんな伸びてんだ
C++厨が暴れたから
ふーん。 自己満足にしかならないのに、ようやるわ。
大満足だお^ω^
536 :
デフォルトの名無しさん :2009/12/23(水) 19:54:21
まだまだイクぞ
539 :
デフォルトの名無しさん :2009/12/23(水) 19:55:46
ここの住人は沸点低いな
うん
マジレスすると、ちょっとC#を使えるようになった 脱初心者クラスが優越感に浸るために真初心者に威張ってるスレだからね まともな住人に相手にして欲しければそれなりのコアなスレに行かないと
>脱初心者クラスが優越感に浸るために真初心者に威張ってるスレ ここすうスレそんなヤツがいるようになったよな。 多分だけど一人でずっとそういうレスしてるっぽい。 前は高度なレスが付いてたから、自分に関係なくてもログ保存してたのになぁ。
545 :
デフォルトの名無しさん :2009/12/23(水) 20:19:53
へー
へー そう すごいね 帰っていいよ
「昔は良かった」って爺さんみたいだな。 こういう人のことを「若年寄」って言うんだけどさ 事実はというと、確かに数年前に比べるとスキルが高い人が明らかに減っているとは思うが、 アホみたいな煽りの量なんかはそんなに変っちゃいない。
またそういう議論すんの?
107 名前:デフォルトの名無しさん[sage] 投稿日:2009/12/19(土) 19:16:14
>>105 君に対しては既に「自分を棚上げするな」と言ってあったはずだが、
それはもう忘れたのか。
コピペ君って馬鹿だな、まで読んだ。
チンパンジーのアイちゃんとコピペ君って馬鹿だなって、 書き込んでる人って、この板に常駐してるのだろうか。 すごい頻繁にみる。
初心者スレだろ int x=10; string s=x.ToString();はコンパイルできるのに string s="10"; int x=s.ToInt();がコンパイルできません。どうしたらいいですか!? みたいな初心者が来るスレでいいのさ。
C#のうんさふぇ時の配列は CやC++と違って array[10]と10[array]は同じじゃないんだな。 求む!完全移植!
質問よいでしょうか? 自分のPCの環境では問題なくビルドもでき、アプリケーションの 起動も問題ないのに、人のPCではエラーして起動しないことが ありました。数人に試してもらいましたが、起動できるPCとできない PCがありました。 こういうケースでデバッグするには、普通はどうするものなのでしょうか? エラー署名のメッセージを見るしかないのでしょうか?
あと、各 PC のフレームワークのバージョンの確認とか。
int i=5; string s=x.ToString();はコンパイルできるのに string s="5"; int i=s.ToInt(); がコンパイルできません。どうしたらいいですか!?
558 :
デフォルトの名無しさん :2009/12/23(水) 22:03:45
LeaveとValidatedの用途の違いは何ですか? コントロールを抜けたときにイベントを起こしたいですが、2つのどちらを使うべきか分かりません。
フレームワークのバージョンがあってなければバージョンアップ要求 しなかったっけ?
>>554 そもそもダメなPCには.NET Frameworkが入っていないという可能性はないか?
561 :
554 :2009/12/23(水) 22:08:33
はい、DebugではなくReleaseのものを渡しました。 ビルドはFramework2.0でして、相手のPCにも2.0がインストール されていることも確認しました。 起動して砂時計で音沙汰なしの場合と、エラーが出て エラー署名にSystem.nullpointerexceptionが見えてる 場合があります。
ぬるぽ・・・だと
え、「エラー署名」wwwwww Microsoft用語においつけるなら司法試験うかるんじゃないかって思ってる
流れに吹いたw このスレ回答する気さらさらねえだろw
いやわかるわけないw とりあえず参照してるDLLを全部晒してみようか
566 :
デフォルトの名無しさん :2009/12/23(水) 22:28:47
これをずばり言えたらエスパーです それか形態形成場にアクセスできます
本当にできる奴は「こんな糞スレに質問投下するくらいなら・・・」って自己解決しちゃうよ
例外が出るならスタックトレースを見ればどこで発生してるかはわかる ダメならTrace.WriteLine入れまくる
569 :
554 :2009/12/23(水) 22:34:05
みなさんありがとうございます。 調べてもわからなかったので・・・ 初心者なので仕方ないです。 参照設定が関係するんですか。 PDFLibNetを参照設定してます。 Acrobatに依存しないPDF表示しようと思いまして。
いいかも〜わるいかも〜
572 :
デフォルトの名無しさん :2009/12/23(水) 22:46:27
結局のところ外部DLL使ってて実は環境によっては入ってない 代物なのに自分の環境にあるから無い場合についてのエラー チェックもしないでしかもエラーが起きても回避しちゃうような ロジックで突き進んだためにヌルポなんですね
573 :
554 :2009/12/23(水) 22:47:32
原因、それっぽいです。 PDFLibNet.dll単独で使ってました。 依存関係のdllを参照設定して確認してみます。 ありがとうございました。 ドキュメントも適当に読んでるとダメですね。 今後気をつけて読むようにします。
調べてみたけどPDFLibNET.dllはXpdfっていうC++のライブラリをC++/CLIでラップしてるのかな それだとやっぱりCRTが入ってない可能性が高い
575 :
デフォルトの名無しさん :2009/12/23(水) 22:55:57
PGM.EXE 100 / 200 + 3 /B の場合に "100 / 200 + 3 /B" という文字が欲しいのですが何か方法はありませんか。 次のようにすればできるのは分かってますが、" "なしでできる方法を探しています。 PGM.EXE "100 / 200 + 3 /B"
自分で読んでみて理解できるのかい
string.Join(" ", args) ただし連続したスペースは一つになる
>>577 例が悪いのですが、連続したスペースに意味があるのです。
>>575 Environment.CommandLineを少し加工する
(これは先頭の実行ファイル名の部分も含むのでそこを取り除く)のが素直なやり方だと思う。
それをコマンドラインでやるなよという感じがするんだけど。
動的型も使えるなんてC#始まったな。
事実上ほとんどすべての演算子をオーバーロードできるようになりました
>>579 ありがとうございました。それで何とかなりそうです。
string cmdline = Environment.CommandLine;
int cmdlen = cmdline.IndexOf(' ');
if (cmdlen < 0) cmdlen = cmdline.Length;
string argstr = cmdline.Substring(cmdlen).Trim();
リフレクおもしろ string何のいんたーふぇいすを敬称してるか調べられるのな。 でも調べるだけよりもっといろいろ面白い使い方ないかな
文字列が表す名前のメソッドを呼んだりできる もっと頑張れば動的にIL生成したりできる
586 :
デフォルトの名無しさん :2009/12/24(木) 00:09:21
>>558 なんですが、どなたか教えていただけないでしょうか?
>>586 フォーカスが外れる時に発生するイベントは、発生する順番で書くと
LostFocus
↓
Leave
↓
Validating
↓
Validated
の4つ
単にコントロールから抜けるときのイベントであれば文字通りLostFocusイベントまたはLeaveイベントを使えばいい。
ValidatingやValidatedは検証する前および後に発生するイベント。
Validatingイベントは他のイベントと違い、イベント引数がCancelEventArgsとなっており、
CancelEventArgsのCancelをtrueにすると、それ以降のイベントをキャンセル、つまりフォーカス移動をキャンセルすることができる。
入力内容をチェックしてエラーの場合フォーカス移動をさせないといった場合に使用する。
589 :
デフォルトの名無しさん :2009/12/24(木) 01:07:10
LeaveイベントをまちがえてValidatedイベントとして書いたときは、どんな不具合が生じる可能性があるの?
ない。 ただ、ValidatingイベントでCancel = trueにしちゃった場合は発生しない。 それだけ。 あとは、コードの見やすさ。 他人がコード見たとき検証処理書いていないのにValidatedイベント使っているのをみると???と思われる。
>>589 ・ValidatingでイベントをキャンセルするとValidated
が発生しない
・CausesValidation プロパティが falseの場合、Validated
が発生しない
・データバインディングを行っている場合、Leaveがデータ反
映前、Validatedがデータ反映後
スレッドによるタイマーを用いて組んでいます。 ひとつは1秒毎に起動するスレッド、 もうひとつは3秒毎に起動するスレッドです。 これにより、競合を起こし、3秒毎に起動するスレッドが機能しないのですが、 どのようにすればいいのでしょうか。
意味が分からない。 どういうコード書いてんだ?
機能しますよ
int i=0; while(true) { Thread.Sleep(1000); if(i%3=0)th1.Start(); th2.Start(); } とかだったらそれはそれで
競合が起きないようにすれば
>>597 一つ一つ確認してから行動するよう何度も言ってるだろw
しかしまぁ・・・ なぜ競合が起きているという結論になったんだろうな・・・?
293がスレッド使おうとして再び挫折してワケワカメなコード書いてるんじゃないか
>>600 なんか納得www
つうか正確に3秒でスレッドが動かないとか そういうのでおかしいとか言ってんのかな?
UIスレッドで動いてたりして
BackgroundWorkerとか使えばいいのに
それはそれでおかしいだろどう考えても
605 :
デフォルトの名無しさん :2009/12/24(木) 12:28:43
彼が言うスレッドと言うのが、マルチスレッドじゃなくてThred.sleep() そのものの事じゃないのかな?
606 :
デフォルトの名無しさん :2009/12/24(木) 12:50:19
そんなことよりクリスマスの話題にしようぜ
考えないようにしてたのに
ガチで人間嫌いの俺にとってはクリスマスで一人なのがむしろ歓喜w 去年は飲み会とかで疲れただけだった
夜中にGCさんがやってきて独り者をさらっていきます
告白前にトランザクションかけておきたいんですが・・・・
タイムマシンないと無理。
Christmas.Dispose();
今日と明日で年賀状書ききるわ クリスマスは家族とちょっと贅沢なもん食うのが恒例になってるから楽しみだぜ。
>>614 全然関係ないじゃねえかw
アクセス乞食か?
別のスレッドタイマーを一時停止する方法を教えてください。
おいw
ま・た・お・ま・え・かwwwwwww もう難しいことせずに 適当にスレッドセーフなstop start とかつけて自分で管理しちゃえよ
クラスライブラリって、dllファイルが出力されるじゃないっすか。 あれって出力するファイルの拡張子を変更する事できないのでしょうか… あと、アイコンの設定も… アイコンは設定してもdllファイルが出力されるからダメみたい… 教えて童貞サンタさん
dllに何を求めているのかまったくわからない
DLLなんてリネームしておいても動くと思うぞ?
簡単に言うと、プラグインの様なものを作成したいと思っております それを独自の拡張子にしたいという事です
少し試せば分かることをw
628 :
デフォルトの名無しさん :2009/12/24(木) 21:59:22
コンボボックスに次のような値を設定します。 セレクティッドインデックス:0 セレクティッドバリュー:001 名前:うどん セレクティッドインデックス:1 セレクティッドバリュー:002 名前:そば セレクティッドインデックス:2 セレクティッドバリュー:003 名前:きしめん このとき、ある条件を満たしているため、このコンボボックスのきしめんをセレクトしたいとします。 このとき、きしめんを選ぶには、セレクティッドインデックス=2を指定する以外に、 きしめんのインデックスを選ぶようにする方法はありますか? 将来、そばと、きしめんの間にマカロニが入る可能性がありセレクティッドインデックスがずれる可能性があるためセレクティッドインデックスを直接指定したくないんです。 よろしくお願いします。
言ってる意味がわからない プログラム的にって意味なのか? インデックスを選ぶようにって意味がわからん
SelectedValue='0003'じゃいかんの?
DLLの名前を変えたら(拡張子でも同じ)、コードベースを指定しないと自動的には読み込めないよ。
632 :
デフォルトの名無しさん :2009/12/24(木) 23:09:39
>>630 セレクティッドバリューはプロパティじゃないの?
セレクティッドバリューを指定することができるん?
つか正しく表記してくれ メンバなのか全然関係ないことなのかようわからん
634 :
デフォルトの名無しさん :2009/12/24(木) 23:40:51
>>633 セレクティッドバリューは、選択するものではなく、参照するプロパティと思っていました
(T_T)。
なので、
セレクティッドバリュー=2
としてコンボボックスのインデックスを指定することはできないと思っていました。
わざとですよね?
いいえ、なかなかの天然物です
クビ切り落としてクソ流し込みたくなる奴だな
うほ?
半角カナは見辛い
というか半角カナは文字化けするから使わないのがネチケットだろうが
釣り乙
642 :
デフォルトの名無しさん :2009/12/25(金) 00:20:18
643 :
デフォルトの名無しさん :2009/12/25(金) 00:22:01
644 :
デフォルトの名無しさん :2009/12/25(金) 00:22:17
>>642 アスキーコードであっても半角カナのフォントを実装してるとは限らん
からじゃないの?
645 :
デフォルトの名無しさん :2009/12/25(金) 00:33:59
確か半角の基本形はアスキーコードで昔は7bitの範囲までだったんだよね つまり0x00〜0x7Fまでは使ってた ところが日本でMSXや一部のコンピューターが独自に半角カナをあいてる 0x80〜0xFFの間に入れて使うようになった?その名残が今も残ってるだけで 海外にすれば半角カナなんて無くていいんだよね・・・実際は・・・ あとエンコードの方法でも引っかかるんじゃなかったっけ?
>>642 電子メールなど文字コードにISO-2022-JP(いわゆるJISコード)を使う環境。
そもそも半角カタカナが収録されていない。
ウェブ上で問題になるのは、Shift_JISとEUC-JPとの動判別。
同じバイト並びがShift_JISでもEUC-JPでも正しい文字列として解釈できてしまう場合があるのだが、
半角カタカナを含むとそれに該当しやすくなる。そのため、自動判別に失敗しやすくなる。
意味がわかんねーから言ってんだろダアホ!
648 :
デフォルトの名無しさん :2009/12/25(金) 00:42:13
>>647 ガラパゴスな環境でネットにつながないスタンドアローンなら好きに使え
そうじゃないなら使うな
それだけ
649 :
デフォルトの名無しさん :2009/12/25(金) 00:49:30
つーか半角カナなんて実装やめりゃーいいのにな ポケコンとかの時代じゃねーつーの そうじゃなくても半角カナなんて使いにくいのに
まあ実際は10年前だってそんな問題にお目にかかることはまずありえなかったんだけどねw このネタは実用上の問題っていうより、「寂しい奴に話題をふるきっかけを与えるツール」 という要素の方が大きいねw
半角カナをコードに書く奴は問答無用で首刎ねてるよ
652 :
デフォルトの名無しさん :2009/12/25(金) 00:53:40
>>650 10年前くらいならパソ通からインターネットに漸く切り替わった時代じゃなかったっけ?
まだまだ日本は日本、他所は他所みたいな空気で居られた時代だからってのもあるでしょ
ネットもここまでじゃなかったのでエンコードで困るようなこともなかったろうし
半角カナを使って良い環境で使うなって絶叫されてもな。
654 :
デフォルトの名無しさん :2009/12/25(金) 00:59:09
まあそんな状態だからいつまでたっても文字コードの統一が行われない・・・ さっさとやってくれ・・・
読みにくいなw
なんで半角カナの話になってんだよダアホ!
何で半角カナの話になってんだボケ!とは思うが、
>>628 は読み辛いと思う。
半角カナ使うなとかいつの時代だよ 使えるもんは使えよ PGだってそうだろうが
言いだしっぺの633は別に文字コードの話をしているわけではないんだろうけどね
661 :
620 :2009/12/25(金) 09:34:21
半角カナの流れぶった切ってすんません。。。 やりたい事は、VS2005(C#)使って作成した 自作アプリから自作プラグインを読み込んで使用するだけなんですけど、 その自作プラグインの拡張子・アイコンを変更したいのです ファイル名をリネームすれば拡張子変えれるんですけど、 アイコンが変わらないのです… プロジェクトの設定で一発でいけるようにできないでしょうか アプリの方はプロパティのリソース(アイコン)変えるだけでいけるんですけど。。。
アイコンを表示するのはShellの仕事。 exeとicoはリソースからアイコンを抽出してくれるが、 他はエクスプローラのツールのフォルダオプションのファイルの種類で 拡張子に設定したものが表示されるだけ。 その変更する予定の拡張子を登録してアイコンを指定すれば変わる。
663 :
620 :2009/12/25(金) 09:53:54
そうだよなぁ… てか、今更ながらexeのアイコンてそういう仕組みだったのねw .csprojに <ApplicationIcon>SamplePlugin.ico</ApplicationIcon> って追加してもダメなのね…
リソースにはしっかり埋まってるから hoge.dll を hoge.exe にリネームするだけでアイコンが表示されるはず。
あ、ホントだ! なるほど、すごく基礎的な事かもしれないけど勉強なった! インストーラ作るか…
int[] x = new int[10]; これのxは何型?int[]型?それともint[10]型?
int[]型
>>620 なぜそこまでしないといけないのかちょっと気になったんだが
よかったら後学のために教えてくれないか?
>>668 >>623 結局のところ独自のファイル形式(中身はただのDLLだけど)として
レジストリに登録、その際にアイコンも、って感じになるんだろうと思う。
実際そういうことしてるソフトってたまに見るよ。
672 :
620 :2009/12/25(金) 11:09:03
>>669 結構拘ってるというか、凝ってるところもあるんだな
勉強になったよ サンクス
674 :
620 :2009/12/25(金) 11:17:58
>>673 一応、商用のソフトなんで…w
みんなありがとうございました!
半角カナのせいでネット環境の整備は3年は遅れたよな
225名無しさん:2006/08/28(月) 01:12:52 ID:kkOh0dpH0 つ━━━一 ポッキーでも喰え 226名無しさん:2006/08/28(月) 01:13:10 ID:/HPxyTcf0 ポッキーの半分のやつどうするの? 227名無しさん:2006/08/28(月) 01:15:14 ID:kkOh0dpH0 ? 228名無しさん:2006/08/28(月) 01:18:17 ID:/HPxyTcf0 ポッキーを半分にするの教えて 229名無しさん:2006/08/28(月) 01:20:25 ID:kkOh0dpH0 ━一 230名無しさん:2006/08/28(月) 01:21:00 ID:/HPxyTcf0 ふざけないで 231名無しさん:2006/08/28(月) 01:23:20 ID:kkOh0dpH0 お前がふざけんな 232名無しさん:2006/08/28(月) 01:30:36 ID:rzxw0X6c0 ぽっきーでF8で変換 233名無しさん:2006/08/28(月) 01:38:52 ID:/HPxyTcf0 ポッキー できた!ありがとう!
いまだに日本のメールはISOなんちゃらだからなあ メールに関して言えば.NETのクラスじゃ正直役に立たん
MIME64とかじゃないっけ?メールは全然知らんけど
MIME64とな!
なんか便乗質問だけど、 UnicodeとUTF-8の違いを誰か教えて Encodingとか使うときにいつも意味が分からなくて困る
普通Windowsで単にUnicodeというとUTF-16のこと
683 :
デフォルトの名無しさん :2009/12/25(金) 14:23:38
Unicodeという大きなくくりの中にUTF-8やUTF-16やUTF-32が含まれる感じ
UTFとかUCSとかこまかいこと言い出すときりが無いな。
で、そのUTF-8の中にはBOMあり、BOMなしがあったり・・・
686 :
デフォルトの名無しさん :2009/12/25(金) 14:27:56
日本はNECのマシンなどがあったのでS-JISの系統が未だに残ってるしな
Unicode体系を初心者でも分かりやすく理解出来るサイトとかないかな?
688 :
デフォルトの名無しさん :2009/12/25(金) 14:29:59
Encodingのプロパティに限って言えばUnicode=UTF-16 Windowsや.NET Frameworkの標準ということで特別扱い
>>688 難しいなw
しょうがくせいにもわかるゆにこーど
って感じのはさすがにないかww
Unicodeは場当たり的に拡張してグダグダになっちゃったからね 新しい統一コードきてくれ!
692 :
デフォルトの名無しさん :2009/12/25(金) 14:38:02
693 :
デフォルトの名無しさん :2009/12/25(金) 14:39:18
>>691 だよね
マシンの性能がまだまだなときに拡張してるから今からみると
なんでこんなダサい拡張したんだよwとか思うわw
サロゲートペアなんてなくて全世界の言語に対応出来るようになるには64ビット位でできるかなぁ? 世界の言語(の文字)がどんだけあるんかわからんが。
695 :
デフォルトの名無しさん :2009/12/25(金) 14:48:31
>>694 S-JIS見てる限りじゃあアスキーの互換保ちながらアスキーの空きコード
を利用して全角を2バイトで表現してるけどかなり空いてるからなあ
UTF-32にすれば宇宙文字とかなければ余裕で足りそう
696 :
デフォルトの名無しさん :2009/12/25(金) 14:51:11
>>686 S−JISの旧名称がMSーKANJIだっけ?
次変えるならいっそのこと64か128でやるべきだろ
64ビットて 32ビットで十分だろ
32ビットだと40億文字ぐらい登録できるけど、 足りるのか足りないのか微妙な値で困るなw 間を取って48ビットにしよう
将来の事を考えすぎてもいいくらいでは? でも48は中途半端だろwwww
今のところ24bitで納まってるんだっけ
MACアドレスみたいに48ってそこそこ現実的な感じじゃね?w
703 :
デフォルトの名無しさん :2009/12/25(金) 15:20:47
>>700 仮に文字種が大量に必要になるとしたら、ファーストコンタクト以外ありえねーぞ
MACアドレスで思い出したけど、IPV6って全然普及しないねw
もう世界中すべて1と0だけの世界でいいじゃないか
706 :
デフォルトの名無しさん :2009/12/25(金) 15:26:30
日本はこれまたガラパゴスやっててNGNなんてやってるからね・・・ あれって既存のインターネット技術の関連のIPv6とIPが衝突するとか問題になってなかったっけ?
2000年問題とか2038年問題とかギリギリで苦労してる例はあるんだし まさかねーだろwwwって思っても大きめにとっとくにこしたことはないような。 多バイト系に拡張可能なように予約領域とっとくとかさ。
C#関係ねーし
年問題っていっぱいあっておもしろいなwww 1999年問題 1999年8月21日問題 2000年問題 2001年9月9日問題 2025年問題 ←次ここ 2030年問題 2036年問題 2038年問題 2040年問題 2048年問題 2050年問題 2053年問題 2070年問題 2079年問題 2088年問題 2100年問題 2107年問題 10000年問題 60056年問題
712 :
デフォルトの名無しさん :2009/12/25(金) 17:20:02
>>711 その辺は文字コードと一緒で古いシステムが問題になるケースだな
任天堂はなんかすごく意味不明な社長談話でスルーしてたねw
2025年問題ってなの?
ちょっとまって
>>711 読んだらSHA-1て脆弱なのかよ・・・
今は何使えばいいんだ・・・
>>713 昭和100年にあたるから
2000年問題みたいなもん
>>710 RFC2550が全てを解決してくれる。
SHA-1024
721 :
デフォルトの名無しさん :2009/12/25(金) 17:52:32
>>718 まあ攻撃者などに目つけられるようなところじゃなければ問題ないでしょ
うんちく語るならよそ行けよ。 お前のオナニースレじゃねえんだよ。
>>718 MD5ってずいぶん昔にだめだった気がするのは俺だけか
>>723 未だに色々なところで使われてるような気がするけどなぁ。
MD5は改ざん防止というよりビット化け検出用に使われてるな
うききっ
脆弱性のあるハッシュ関数だからって、すぐ使われなくなるわけじゃないだろ。 セキュリティを重視する分野でないなら問題ない。
基本的にハッシュ関数の性能ってどこが違うの?
ディスプレイ上の任意の場所の色を取得したり設定したりはどうやる? formやpictureboxならgetpixelだのsetpixelだので設定できるけど・・・
>>729 衝突ってh(x)=h(y)になるってこと?
733 :
デフォルトの名無しさん :2009/12/25(金) 18:52:11
2chが使ってるIDもMD5で作ってるんだっけ?
SHA1が時代遅れとかまじか 俺が勉強した頃は絶対無敵って言われてたのに
2000年問題で大騒ぎしたのって、もう10年も前のことなんだよな… 10年後の自分がまさかこんなことになるとは想像もつかなかったよ
60056年問題が顕在化するころ、人類は生存してるのかな?
( ´・ω・)ハ(・ω・` ) ←キモッw
743 :
デフォルトの名無しさん :2009/12/25(金) 20:30:04
2009年問題
任意のdictionary<T,T>クラスで要素をランダムに選ぶメソッドってどうやって作るかな var d = new Dictionary<string, string>(); d["Japan"] = "日本"; d["America"] = "アメリカ"; d["China"] = "中国"; string s = randchoice(d); sには"日本"になったり、"アメリカ"になったりする
>>742 そんな標準でついてるっぽい関数で大丈夫なの?
>>745 標準で付いてるからだめってのはどうかとおもうけど
ぐぐったら暗号化の種類選べるようになってるみたいね。
>>744 どうやるもなにも、valueの配列とってランダムな位置のを返すだけじゃね?
>>746 rand()みたいにカスなのがデフォだったからね
>>746 むしろ、暗号化に関しては多くの人に使われてバグが洗い出されていない物じゃないと
怖くて使えません
バグが洗い出されてない方がいいの?
マチガエタ バグがアライダサレテイルモノジャナイトダッタヨ 乱数列準備するならRNGCryptoServiceProviderっていうのがC#だと使ったな
フォッフォッフォッフォッフォッフォッ
メルセンヌツイスタ以上の乱数ジェネレータってまだ出てない? SHA1が時代遅れって聞いて不安になってきたわw
>>755 確か内部で配列使ってるからO(1)じゃね?
今から新規に作るものなら、 ハッシュならSHA-256、共通鍵暗号ならAES-128 程度以上のものを使っとけ。
わざわざList作らなくても、ElementAtで十分じゃん
AESは128ビットで十分なのか この辺の感覚はわからんもんだなぁ
757と760、どっちが正しいんだよ
どこまで安全性を見込むかだけど、 まあ普通の用途では、現在は128ビット安全性があれば十二分だ。 ほとんどの場合、128ビット安全性よりも、他のところの方が危ないから。 つまり共通鍵暗号なら128ビットキー、ハッシュなら256ビットハッシュで十分。 もちろんアルゴリズムに脆弱性がなければね、
>>764 128ビットもあうあうだったきがする・・・。
最低でも今は256ビット以上のものを使わないとだめだったと思う
>>754 メルセンヌツイスタは暗号に使うなと作者も言っているだろう。
ToListはIEnumerable<T>の拡張メソッド。 どう見てもO(n)。
何があうあうなの? 128ビット安全性がどの程度のものか分かって言ってる?
var dlist = new List<string>(d.Values); string s = dlist[rnd.Next(dlist.Count)];
List<string>ってのは string[] の動的配列バージョン?
770と772、どっちが正しいんだよ
どちらでしょうね
まあIEnumerable<T>を受け取るからって列挙アクセスするとは限らなかったな。 とはいえ、それをもとにListを構築するんだから結局O(n)だけど。
128ビットがダメで256ビット以上必要なんてなると ハッシュは512ビットが最低ラインてことか? えらい世界だなw
>最低でも今は256ビット以上のものを使わないとだめだったと思う 256ビットってのは一般にそこまでやっても何の意味もないくらいの安全度だぜ? 最低でってどういうことだよ。
List<string>っていちいちadd,addしなきゃいけないの? var s = new List<string>(); s.add("ab"); s.add("cd"); ・ ・ ・ じゃなく s = {"ab","cd","ef","gh"} みたいに一気に書く方法ない?
3.5なら書けるよ。
SortedDictinaryかSortedListを使えばListに詰め替える必要は無いな。
new List<string>(new string[] {"ab", "cd", "ef"});
C#3.0ならs = new List<string> {"ab", "cd", "ef"};
どうせすぐ何bitでも意味がない時代がくるから気にせんでいいよ。
コンピュータがジョブチェンジして漁師になるんですね><
量子コンピュータは空想だったんだ、へえ
今風太
ハッシュ関数128ビットを256ビットにするとどれぐらいコスト掛かるんだ? 大したことないなら256にしたほうがいい気もする
俺らが生きてるうちには実用にならんだろうな
もういないとは思うがSHA1やMD5を使ってるとこはエンジニアとしての常識を疑う
別に外部とのやり取りに実用的じゃないだけでローカルなら別にいいのだわ CRCは廃れたかよ?用途限定して生き残ってるだろ
SSLですねw
DSAですねw
AmazonECもSHA-1なんだけど
偉そうだな
>>793
CRC-256とはいったいなんだったのかw
量子コンピュータはすぐにできるのかよ。 っていうか量子コンピュータは何でもできると思ってる馬鹿?
え?尼のAPIはこの前(今年8月)HMAC-SHA256になった気がするぞ
量子コンピュータなんてNP-Completeの問題を多項式時間で解けるってだけじゃないの? それでも相当凄いけど
どうでもいいよ
いまのとこ量子コンピュータで解読できそうなのはRSAくらいか?
離散対数暗号ってまだ実用化してない? この流れだととっくに使われてるって言われそうだ
つまり8月までは馬鹿だったんだなw
>>792 もう因数分解はもう実際にできてるので、技術的ブレークスルーがあったらいきなり実用化されちゃうかもしれないよ。
8月まではSHA-1が最先端だったからな。 今使ってたら馬鹿って言ってんだよ
>技術的ブレークスルーがあったら 簡単に言うなw
NISTとCIAが潰すんじゃね
量子コンピュータが仮に実用化したとして、 俺らが使えるような価格になるのは何年後だよw
あー、選択平文攻撃だかの存在を揉み消したとか言うのあったな。
俺ら、って一緒にするなよ 量子コンピューターも買えない貧乏人が
みんな何歳か知らないけど、生きてるうちを50年以内としたら、実用化されてる気がする。
あと数年でってなら脅威かも知れんけど 数十年あるなら別に
パスワードハッシュなんかでは SHA1→SHA256なんてそれほどは意味なくて PBKDF2なんかで繰り返し数を増やす方がよっぽど効果的
つまり単にアルゴリズムがどうではなくて何の目的で使ってるかだ。
C#関係ねえww
量子コンピュータって汎用的な計算はできるの? 例えば、2chに書き込むとか
なんで.NETのPBKDF2はハッシュ関数を選べんのだ(泣)
SHA-1とSHA-256は中身同じだしな…
量子コンピュータってアルゴリズム別にハードがいるイメージがある。 ENIACみたいなハードプログラミングみたいな。 っていうかそれどころか特定アルゴリズム専用ハードイメージだけど。
同じじゃないだろ、似た内容だが。
>>825 とすると、庶民にはあんま役に立たないんじゃ・・・
女子中学生が量子コンピュータで計算しなきゃならない応用とかある?w
NPCの問題が量子コンピュータで解けたら苦労しねえよ屑共が
今から10年前→今と同じくらいメモリやCPUの性能がUPしたら 2020年はメモリが100GBくらいになってそうだ。 20万とかのパソコンで今のスーパーコンピューターよりはやーい計算ができるzp
それで何?
SHA-1の強衝突耐性に脆弱性が見つかってきた時、 パスワードハッシュをSHA-256とかにしないととか大騒ぎしてたやつが大勢いたな。 用途的に安全性はそれほどは変わらんことを理解してないんだろうが。
みんなスレチすぎワロタ
量子コンピュータ実用化されたらどのみち色々概念かわっちゃうだろうから 今から出てからのこと心配しても無駄だわな。 計算量という名の暴力
>>828 NP完全の問題は量子コンピュータでも指数時間かかっちゃうかもしれないんだっけ?
>>827 カリカリにチューンされた携帯電話とかで仮想現実のすんごいのとか出来るようになるんじゃないの?
電脳コイルみたいな世界になるわけっしょ。
SHA-2は衝突したことないから長さ変えるだけでも有効 今更SHA-0or1,MD5,DESを使う奴はおかしい
NP完全まわりの話は眉に唾付けてかからないといかんよな。 トンデモ説が沢山流布してる。
そもそも、一般のNPの問題でも、量子コンピュータで 多項式時間で解けるってだけで、現実的かどうかは良く分からないんだよな
NP完全やNP困難の問題を多項式時間で解けるアーキテクチャって考えられてないの?
一度多項式時間で解けるようになったら あとはもう加速度的に実用的になるような気がするけどなあ。
いまだにNP完全とNP困難の違いが良く分からんw
>>839 入力のサイズに対して指数個のプロセッサを仮定すれば十分
>>836 世間に向かって「お前らおかしいよ」って叫んで楽しいか?
wikipedia見てもよくわからん。 誰か産業で・・・
近未来に実用化されちゃうかもしれない量子因数分解器や、見つかっていない脆弱性などに対応する必要があるか、いま普通に安全とされているレベルでいいかで対応が変わる。 変な暗号化を選ぶのは、メンテのことを考えるといまいちだと思う。
そしてディスプレイの右肩に貼ってあるパスワードからクラッキング成立おめでとう。
ヒューマンエラーはどうしようもない
NP困難でもナップサック問題とかはわりと簡単に解けるじゃん? あれってどういうことなんだ?
今実用化を目指してるプロトコルなら2010年問題とかにも気使ってるのだろうけど 既存のものが置き換わるのにどれだけかかるのやら 文字コードも10年来駆逐されてないし想像付かん
解けることと時間が掛かることは別だぞ
>>850 オラクルでもオラクル自身の停止性問題は解けないんだよね
そう考えるとコンピュータってなんか空しいね(´・ω・`)
>>853 ナップサック問題なんかはNが10万とかでも時間掛けずにサクサク解けちゃう気がする
数学とか情報工学の限界だもんな
まあすぐにSHA-3が出てくるけどな
現在公募中じゃないすか
>>855 結局のところ計算速度が死ぬ程速ければNP困難でもたかがしれてるってことだよ
同じNP困難でもピンキリだし NP困難はNPの中で一番難しい問題以上に難しいだから
>>861 NP困難な問題って他のNP困難な問題に多項式時間帰着できるんじゃなかったっけ?
P=NPだったとしてもNP困難な問題を 多項式時間で解けるわけではないよな?
>>864 俺の記憶が正しければまだ100万ドルは支払われてなかったはず…
オラオラクルクル
>>865 P=NPだったら全ての問題に多項式時間で解ける解法が存在することになる。
>>868 NP困難はNPに含まれてなくてもいいのに多項式時間で解けるの?
全てじゃなくてクラスNPまでだろ
NP困難とNP完全の違いがわからない
P=NPなら、NP完全は多項式時間で解けるけど、 NP困難はそうとは限らないってことか そう考えると、P=NPだったとしてもやっぱりなんか空しいな(´・ω・`)
仮にP=NPだったとして、NP完全の問題を多項式時間で解けるアルゴリズムがすぐに設計できるもんなの?
出来るんじゃね?皆出来るって言ってるし。
いや無理だろ
P=NP証明されたら優秀な情報工学屋が競ってアルゴリズム設計しだすだろなあ
まあ俺くらいになるとNP困難問題のsolverをC#で書くわけだが
そりゃNP困難問題のsolver実装しろって言われたらこのスレ的にはC#で書くわな。 乗り換えアプリとか作ったりするかもしれんしね。
>>876 wikipediaをwikiって略すおとこのひとって・・・
P=NPでも希望の光が見えるとかその程度だな 今だってアルゴリズムは探してるんだし
よく知らないんだけど、証明されるとしたらP!=NPの可能性が高いんじゃないの?
まあね
しかしスゲー脱線してるな。 割合楽しいが。
伝聞を鵜呑みにするとか土方PGだなあ
このスレって何で脱線した話題で加速するんだろ
P=NPが証明された方がなんか楽しいけどな。 P!=NPが証明されてもやっぱりねぇ、で終るだけなんでしょ?
夢を諦めることができるよ!
半角カナの話からなんでNP困難の話になるのか そしてスレの1/4ぐらい脱線が続いているのはどういうことか
半角→ハッシュ関数について→量子コンピュータについて→P≠NP問題について
角の三等分問題でも解こうぜ
>半角→ハッシュ関数について まずここがおかしいだろ
Let's assume we have a ruler.
半角→古い技術の問題について→2000年問題とかについて→暗号の2010年問題について→ハッシュ関数について
結論からいってこのスレで半角カナを使うとろくなことにならんから
>>628 は反省しろよ
暗号の安全性について→量子コンピュータについて
普段は初心者バーカつったりC#の質問にはまともに答えないのに C#と無関係な話になると急に盛り上がるC#スレ
あらためて見てみると
>>628 はなんでマカロニだけ全角なんだろう・・・
マニアックな会話に餓えてんだよ
結果おもしろかったから許す。
>>899 wwwwwwwwwwwwwwwwwwwwwwwww
>>898 あと初心者バーカって言った回答者を叩く時も妙に加速するな。
おまえらどこにひそんでたの?みたいな。
うわべだけしか理解してないようなレスの方が多いけどな
>>887 P!=NPってことはみんなもうだいたい予想がついてるのか
>>905 みんながんばってるのにいっこうに結果がでないからP!=NPだと思われてるそうな。
C#が簡単でVSが優秀なおかげで裾野が広がってるってことだよな。
>>906 ひょっとして、頑張ってるだけでみんなバカなだけだったりして・・・
そうだといいなあ。いやほんと。
たまにP=NP証明できた!!11!って論文みるけど結局間違いなのか ああいうのって誰がチェックしてるんだろ
P=NPってN=1なら真だし、N≠1なら魏なんじゃね?
レフェリーに決まってんだろ
掲載された雑誌に反論の論文でも提出するんじゃね? 底辺PGの俺にはもう関係のない世界だ
論文って間違ってても掲載できちゃうのか 俺も適当に書いて出そうかな
>>912 そうなるとN=1問題という新しい問題に帰着されただけだなww
誰かがNP完全問題をLPに還元してP=NPと主張した時は、 反論が連発されその度に制約が増えて最終的に入力に対して多項式時間じゃなくなったそうな。教授から聞いただけだが
大問題だと証明の検証だけで年単位の時間がかかるそうなんで、凡人には理解不能。
証明されてから100年ぐらいたったら 高校生の演習問題になっちゃうぐらい簡単になるんだろうけどなw
そもそもが雑誌の審査員の先生方の御眼鏡にかなわないとリジェクトされると思うけどなあ。 前にP=NPを証明した!!!って本を自費出版して2chで叩かれてた山口人生さんを思いだした。
山口人生さんってどっかの教授になったんだっけ
山口先生は自分の日記で >なにせ、久々に人類待望の神の出現ですよ。 >史上、モーゼ、釈迦、キリスト、マホメットに続く5番目。 とか書いちゃう人だから。 次元が違う。 そしてC#とはたぶんまったく関係ない。
>>920 そりゃない。1900年ぐらいにでてきた数学上の成果なんか、
問題はなんとかわかっても証明はわけわからん。
C++とC#は名前が似てるがもはや別の言語である。
はじめから別言語、Javaに似てるが実はDephiの腹違いの兄弟。
ForEach<T>(Array,Action())メソッドで配列の全部の要素を++したい場合どうやんの int[] x={1,2,3,4}; Array.ForEach<int>(x, (y) => y++); これじゃダメなのはrefついてないからいいんだが、どうやる?
foreachじゃミリ
ForEachメソッドは配列の内容を出すことはできても配列の内容を書き換えることはできないのか。 for文のほうが多少長くなるけどできることは多いんだな。
>>925 じゃあ300年ぐらい経てば流石に可能か
>>931 問題が再定義されて今より扱いやすくなるのは事実だろうね
現代の高校数学の教科書から類推するとそんなもんだけど、 進歩のスピードも跳ね上がってるからなぁ。 19世紀の100年間と20世紀の100年間だと後者の方が密度高い気がする。
今だと、高校ではニュートン、ライプニッツまでなので300年ぐらいか。
ネテモイイデスカ?
高校で線形代数とかやればいいのにな あと数学だけじゃなくて、物理と掛け合わせて身近なものに感じさせるとか
ネテモイイデスカ?
ハンカク カナ ヲ ツカウ ト タタカレル スレ ハ ココ デス カ ? PC-8001のアドベンチャーゲームを思い出した
寝てもいいですか?
2chノ ハンカクカナ ハ コウセイニ ツタヘテイクベキ ブンカデス
>>936 二体問題は高校でやるんじゃなかったっけ?
スヤスヤ
休日リストを作り、DateTime.Nowと比較するにはどうやればいい? List<DateTime> 休日 = new List<DateTime>(); 休日.add(元旦); 休日.add(成人の日); というふうにふやしていって if(DateTime.Now==休日) Label1.Text="今日は休日!ゆっくりしていってね!"; というようなプログラム作りたいんだけど。
DateTime.Todayを使え それともまさかループが分からないとか言わないよな?
>>945 まず、DateTime.Now を変数に保存。
そうしないと、関数中で日付をまたいだときにおかしなことになる。
あとは、休日.Contains(保存した変数) で、判断。
948 :
947 :2009/12/26(土) 02:20:06
>>945 すまん。オレのは間違い。Todayじゃないといけません。
なるほど。NowじゃなくTodayで休日.contains(変数)でいけそうです!どうもありがとう
よくよく考えると祝日の処理って結構面倒だな 結局は毎年更新が必要だし、DBに日付(年月日)を直に持つのが簡単かな
C#でActiveXコントロールって作れますか? もし作れるなら作り方がわかるサイトとかないでしょうか?
>>918 NP→SP→LP→EP→CD→DVD→BD
953 :
デフォルトの名無しさん :2009/12/26(土) 11:12:44
>>950 前に作ったが、春分秋分の日は計算で求めないといけなかったが
月曜日対応とか後の処理は大したことなかった
でも、偶に改正するんだよな・・・それが最大の問題
前に業務でやったときはDBにもたせる形で実装だったわ。 国民の祝日以外の休日も登録しなきゃいけなかったからだけど。
955 :
デフォルトの名無しさん :2009/12/26(土) 11:41:06
C#使いってなんであんなにキモいんですか〜? 教えてください!(>_<)
さあねぇ…
一ヶ月をすべて30日にしたらいいのに
じゃあそのかわり1日を24時間じゃなくそう
>>957 ホログラムを使ったHVDというのが実用化されつつあるらしい
ホログラムディスクは俺が知ってる限り2002年から実用化実用化言ってるのに一向に実用化されない
965 :
947 :2009/12/26(土) 12:18:12
そういえば、JavaのCalendarクラスは、マニアックな暦もサポートしてたな。
ホログラムをpediったけど良く分からんw クレジットカードみたいなやつのことか?
レーザー2つ使って干渉光を作って書き込むってのが基礎原理 今までの光ディスクが平面にデータ書き込んでいたのに対して厚みを持たせて書き込める
button1.Clickとbutton2.ClickとLabel3.Clickがあって それぞれに同じものを+=したいとき button1.Click+=Method; button2.Click+=Method; Label3.Click+=Method; ってやるんだけど、一気にやる方法ない? button1.Click,button2.Click,Label3.Clik+=Method; みたいな。
Controlクラスの配列にアップキャストしてArray.Action
じゃねぇArray.ForEach
普通にforeachでいいじゃん ラムダで副作用書くの格好悪い
BDもそうだけど、50GBぐらいじゃ何のヤクにも立たないんだよなぁ HDDの数倍というレベルの技術で開発してくれれば HDDの容量が追いついたときにも実用的な感じになるのに いまなら20TBぐらいの光ディスクを目指して欲しい
>>972 BDも発表された当初は夢がひろがりんぐだったけど
今じゃ単なる低容量メディアだしな
ラムダ式のありがたみがよくわからない いい例を教えてください
できれば副作用についても解説して欲しい
吐き気と頭痛かな
とりあえず副作用が悪ってことじゃないとは思ってる。 悪なら副作用のある言語ばっかりにならないのだわ。
>>971 この程度の状況下で起こりえる副作用って何だよ
お茶を濁さず具体的に指摘してみろ
>>972 何年か前に紙1枚に対してデータを数十GBだか数TB記録できる技術が出てたような・・・
インド人が作ったとかって言う話で実用化できなかったのかなぁ
後、BDは比較的層数を増やすのが簡単で既に400GBだかのディスクまではできてる1TBまでの開発予定は一応あったはず
ほかにも日立だとか三菱がBlu-Ray以上の容量を持つメディア作ろうとしてたと思うけど層を増やすタイプではなく
ホログラム使うとなるとメディア自体の円周大きくするか厚みを増させるかしかないんだよね
つーか、光学メディアをHDDと同じ容量うんちゃらで実用的っていうのは理解できない
光学メディアなんてバックアップとかに使うのならばHDDと同じ容量である必要はない
>>979 対象のコントロールにイベントハンドラが登録されることだよw
副作用の意味分かってないでしょ
結果が変わらんのならどういう書き方してもいいじゃん 何で副作用出しちゃいかんのよ ポリシー?
個人でやってるならええよ。
操作対象がList<T>やArrayの場合と他のIEnumerable<T>の場合とで やり方が変わるのはおかしいだろ じゃあEnumerableクラスに拡張メソッドとしてForEachを入れろという話になるが, MSは副作用を嫌って入れなかった
986 :
978 :2009/12/26(土) 13:28:57
>>981 副作用が悪なら副作用がある言語ばっかりなのは何でよ?
C#だって基本は関数型言語じゃないじゃん。
>>986 ”許容されている”と”濫用すべきでない”相反しないよ
回答になってねぇよ おかしいかどうかは主観だろうが
盛り上がってまいりましたwwwwwwwwwwwwwwwwwwwww
それって副作用なのか?
「関数型言語」だと副作用はよろしくないとされてるけど 普通の手続き型言語にそれを求めるのは酷だ。 まあ一つの関数/メソッドには論理的に一つの機能だけを持たせろって考え方で作ってれば問題ないよ。
俺は考え方次第だと思うから別に… 一つ言えるのは機能が提供されてるのなら使うのは使う人間の自由だろ Obsoleteでマークされてるわけじゃないしな
プログラミングでいう副作用ってどんなこと?
全部 C#は副作用でプログラミングする言語 それとLINQに副作用がないというのはちょっとレベルが違う話なんだけどね
結局このスレ1週間で使い切ったのか
早いね〜。
俺は単純なforeachを使うべきだと思うけど、下手に煽るのはいただけない
C#やってると一言余計になるらしい。
C#っていうかプログラム書いてると一言余計な傾向は出る気がするw 職業マだと特に
そんだけシーシャーパーが増えているという証拠
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。