C#, C♯, C#相談室 Part61
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2010/07/25(日) 06:49:15C#, C♯, C#相談室 Part60
http://pc12.2ch.net/test/read.cgi/tech/1277576240/
Visual C# 2010 Express Edition 日本語版
http://www.microsoft.com/japan/msdn/vstudio/express/vcsharp/
その他テンプレ>>1-5くらい
0002デフォルトの名無しさん
2010/07/25(日) 11:28:020003デフォルトの名無しさん
2010/07/25(日) 16:05:28985辺りになると圧縮時に自動落ちする
>>1乙なんたらかんたら
0004デフォルトの名無しさん
2010/07/25(日) 19:13:20さんきゅーっす
0005デフォルトの名無しさん
2010/07/26(月) 09:36:14同一Panel上にある全てのコントロールに同じ処理をさせる方法を誰かご教授願います
例えば同一Panelにある全てのListBoxに同じアイテムを追加する、みたいな
0006デフォルトの名無しさん
2010/07/26(月) 10:30:17if (control is ListBox) {
((ListBox) control).Items.Add();
}
}
こんなんでいけない?
0007デフォルトの名無しさん
2010/07/26(月) 19:01:51foreach(ListBox lbox in query){
lbox.Items.Add(item);
}
こう書けた
0008デフォルトの名無しさん
2010/07/26(月) 21:55:51template<typename T> T plus( T v1, T v2 ) { return v1 + v2; }
int i1 = 1, i2 = 2
int i_result = plus( i1, i2 );
short s1 = 1, s2 = 2
short s_result = plus( s1, s2 );
0009デフォルトの名無しさん
2010/07/26(月) 22:02:240010デフォルトの名無しさん
2010/07/26(月) 22:18:130011デフォルトの名無しさん
2010/07/26(月) 22:39:04ありがとう。
0012デフォルトの名無しさん
2010/07/27(火) 03:36:23>>7
thx!
0013デフォルトの名無しさん
2010/07/27(火) 09:22:02(dynamic)v1 + (dynamic)v2
糞遅いけどもし後でホットスポットになったらそこだけオーバーロードに書き直せばいいと思う
0014デフォルトの名無しさん
2010/07/28(水) 21:56:07なるほど。参考にします。
ありがとう。
またジェネリックなんですが、これは出来るでしょうか?
それともこういったテンプレートパターンは捨てるべきなんでしょうか・・・。
public void Func(int data){ 何らかの処理 }
public void Func(string data){ 何らかの処理 }
・・・
型違いのFuncがいっぱい
・・・
public static void Test<T>(T[] array){
共通する処理
foreach (T item in array)
Func(item);
共通する処理
}
0015デフォルトの名無しさん
2010/07/28(水) 23:22:01Action<string> stringAction = (s) => { 何らかの処理 };
intArray.ToList().ForEach(i => intAction(i));
stringArray.ToList().ForEach(s => intAction(s));
0016デフォルトの名無しさん
2010/07/29(木) 00:29:30後で試して見ますが、上とあわせると・・・えーとこうなるのかな。
public static void Test<T,ActionT>(T[] array,ActionT){
共通する処理
ntArray.ToList().ForEach(i => ActionT(i));
共通する処理
}
0017デフォルトの名無しさん
2010/07/29(木) 18:48:07content transfer encodingがquated printableになってしまい困っています。
7bitにする方法を検索して、
http://dobon.net/vb/dotnet/internet/smtpmailquotedprintable.html
上のサイトにたどり着いたんですが、このコードを実際に書くと
メソッドのように使用することは出来ませんというエラーが出てビルドが出来ません。
7bitにして送信する方法を教えていただけないでしょうか。
0018デフォルトの名無しさん
2010/07/29(木) 19:01:00http://hdl.handle.net/2237/10514
この記事の発生(Lシステム)の部分てどうやって作ればいいですか?
めんどくさかったらアプローチだけでも
0019デフォルトの名無しさん
2010/07/30(金) 13:49:53(→[
0020デフォルトの名無しさん
2010/07/30(金) 15:50:48this.SetStyle(ControlStyles.DoubleBuffer, true);
this.SetStyle(ControlStyles.UserPaint, true);
this.SetStyle(ControlStyles.AllPaintingInWmPaint, true);
の設定をしておくとOnPaintメソッドでの描画がダブル・バッファリングされるとあります。
そこで、3つほど質問があります。
質問 (1) 上の設定で次の2つの描画方法でもダブル・バッファリングは有効でしょうか?
(a)PitureBox1と同サイズのBitmapオブジェクトを作成してPictureBox1.Imageに設定して
おき、Bitmapオブジェクトに図形を描画したのちrefresh()を呼び出す。
(b)Paintイベントで呼び出されるハンドラPictureBox1_Paint内で図形を描画する。
つまり、
(a)ではrefreshの中でOnPaintが呼び出されるかどうか?、
(b)ではPictureBox1_Paintが呼び出された後にOnPaintが呼び出されるかどうか?
ということです。
質問(2) (a)(b)の方法でOnPaint自体は呼び出されるが、OnPaintをOverride
してここに図形を描画しないかぎり、ダブルバッファリングは有効にならない
でしょうか?
質問(3) (a)の方法自体がダブルバッファリングと同等だから上記の設定は必要ない
でしょうか?
いろんなサイトを見ているうちに、頭が混乱して質問が要領を得ていないと思いますが
よろしくお願いします。
0021デフォルトの名無しさん
2010/07/30(金) 16:19:11ありがとうございます。
ただ、ヘッダにquoted printable も残ってしまい文字化けは治りませんでした。
0022デフォルトの名無しさん
2010/07/30(金) 17:22:07コマンドプロンプトの画面では300行までしか表示されなくて、出た結果全てをエクセルに移したいんですけどどうすればいいでしょうか?
0023デフォルトの名無しさん
2010/07/30(金) 17:29:090024デフォルトの名無しさん
2010/07/30(金) 18:23:57(a)の方法は二重にダブルバッファリングしていて無駄。
しかもやり方によってはAccessViolationExceptionや大量の描画が発生する
コントロールのダブルバッファリングを有効にした上で、OnPaintとかPaintイベントで
引数のe.Graphicsを使って描画するのが一般的かな
0025デフォルトの名無しさん
2010/07/31(土) 01:29:02調べたらできました。ありがとうございます!
0026デフォルトの名無しさん
2010/07/31(土) 08:44:27>>20です。ありがとうございます。返事が遅くなってすみません。
教えて君で申し訳ないですが、さらに確認させてください。
>(a)の方法は二重にダブルバッファリングしていて無駄。
これは
this.SetStyle(ControlStyles.DoubleBuffer, true);
this.SetStyle(ControlStyles.UserPaint, true);
this.SetStyle(ControlStyles.AllPaintingInWmPaint, true);
を設定したときの話でしょうか? つまり >>20 の質問(3)はyesでしょうか?
>コントロールのダブルバッファリングを有効にした上で、OnPaintとかPaintイベントで
>引数のe.Graphicsを使って描画するのが一般的かな
OnPaintはPaintイベントが発生した時やRefreshが呼び出されたときに
呼び出されると考えてよいでしょうか?
描画したいのは頂点(黒丸)と辺(直線)からなる3次元フレームワーク(グラフ構造)
です。図形データはList<T>などで管理しておき、これに基づいて描画しなければ
なりません。さらにマウスでこのフレームワークを回したり(視点を変更する)、
拡大縮小するので画面のチラツキがないようにしなければなりません。
>>20の(a)の方法でフレームワークを描くことも可能でしょうが、やはり
OnPaintとかPaintイベントハンドラで描画するのが吉のようですね。
0027デフォルトの名無しさん
2010/07/31(土) 08:49:01DirectXやWPF使ったら
0028デフォルトの名無しさん
2010/07/31(土) 09:04:59表示はちらつきなしで問題なくリアルタイムに表示できました。
でも、C#だと遅くなるかなぁ。
DirectXの2Dは知らないけど、3Dでは直線を引く
という基本的な関数も用意されてません。OpenGLでは
用意されているかもしれませんけど。でも、今更、Win32API
やMFCはいじりたくないです。
WPFは...もうこれ以上、マイクロソフトが作ったライブラリに
付き合うのにもうんざりです。
0029デフォルトの名無しさん
2010/07/31(土) 11:14:21もういらんかもしれんけど
this.SetStyle(ControlStyles.DoubleBuffer, true);
this.SetStyle(ControlStyles.UserPaint, true);
this.SetStyle(ControlStyles.AllPaintingInWmPaint, true);
はコントロールまたはシステムが実装しているダブルバッファリング機能を有効にしている。
その上でBitmapに描画してからコントロールに転送すると(手動でダブルバッファリングすると)、
描画⇒バッファ(Bitmap)→コントロールによるイメージの検証→バッファ(コントロールまたはシステム、複数の可能性あり)→バッファ(画面)
みたいな流れになってしまい、トリプル以上のバッファリングになる。ってことで質問(3)はyes
でもダブルバッファを有効にしなくてもImageプロパティに設定した内容はちらついたりしないから上記コードがなくてもImageプロパティからの
転送はダブルバッファされているかもしれない(内部の実装は知らん)
OnPaintの説明見ると「Paintイベントを発生させます」とか書いてるけど、
再描画の要求→OnPaint→Paintイベントの発生
って感じになっている。
RefreshとかEndUpdate、Updateメソッドは再描画の要求を行う。
003026
2010/07/31(土) 12:02:05おーーっ! 非常に明快な説明、ありがとうございます。
0031デフォルトの名無しさん
2010/07/31(土) 14:35:41.ToList().ForEach(ActionT);
とか
Array.ForEach(ntArray, ActionT);
とかでいいじゃん。
0032デフォルトの名無しさん
2010/07/31(土) 15:34:10いや、出来ればジェネリック関数に引数だけを渡せば
ActionTを指定しなくても引数の型を判断させて
適切な関数を呼び出せるようにしたかったのです。
Test<T>の「共通する処理」を一箇所だけに書くようにして。
どうにもうまくいかなかったので教えてもらった方法でFunc
渡すことにしました。
ありがとう。
0033デフォルトの名無しさん
2010/07/31(土) 16:24:52いえいえ。
0034デフォルトの名無しさん
2010/07/31(土) 17:18:29こう↑書けるメソッドで、例外をキャッチしなければならない時って
こう↓書かなきゃいけないの?
object result = null;
try{
result = some_method();
}catch{
//処理
}
resultの宣言と代入が分離したり、宣言時にnullを代入しなければならなかったり、煩わしいんだけど。
いい方法ない?
0035デフォルトの名無しさん
2010/07/31(土) 18:16:44こういうアプローチが一番近いと思う
class FuncHolder<T> { public static Action<T> Func; }
public void Func(int data){ 何らかの処理 }
public void Func(string data){ 何らかの処理 }
FuncHolder<int>.Func = Func;
FuncHolder<string>.Func = Func;
public static void Test<T>(T[] array){
共通する処理
foreach (T item in array)
FuncHolder<T>.Func(item);
共通する処理
}
登録はリフレクション使ったりして工夫すれば自動化できるはず
0036デフォルトの名無しさん
2010/07/31(土) 18:24:45たぶん一般的な方法じゃないと思うけど、
俺はメソッドで例外を投げる代わりに以下のようなメンバを持つFunctionResult<T>
みたいな型を作ってそれを返すようにしてる。
- bool Success { get; }
- Exception Exception { get; }
- T Result { get; }
- static implicit operator T(FunctionResult<T>) {}
0037デフォルトの名無しさん
2010/07/31(土) 20:38:290038デフォルトの名無しさん
2010/07/31(土) 20:49:22前は俺もそう思ってたんだけど、System.Text.RegularExpressions.Groupに
Successってメンバがあるのを発見してからは考えを改めた。
0039デフォルトの名無しさん
2010/08/01(日) 09:07:06Pascal 形式を使用します。
ハンガリー表記法は使用しないでください。
基になる型と同じ名前でプロパティを作成するようにしてください。
0040デフォルトの名無しさん
2010/08/01(日) 09:16:43IsEnabledとかHasValueとか普通にある
0041デフォルトの名無しさん
2010/08/01(日) 12:51:070042デフォルトの名無しさん
2010/08/01(日) 13:06:41オプションで、付加価値がある場合のみですが、Boolean型のプロパティにプレフィックス"Is"、"Can"、または"Has"を使用することも可能です。
たとえばCanReadはReadableよりも理解しやすいものです。
しかしながら、Createdは実際にIsCreatedよりも読みやすいものです。
プレフィックスを持つことは多くの場合、特にコードエディタ内でIntelliSenseに表示される時に、冗長すぎ、かつ不要です。
MyObject.Enabled= と入力してIntelliSenseでtrueまたはfalseを選択するのと、MyObject.IsEnabled=と入力するのは、明白さではどちらも同じ程度ですが、
後者の名前のほうが冗長です。
Boolean型のプロパティおよび関数に対する名前の選択において、ifステートメント内でのAPIの一般的な使用方法のテストを検討します。
そのような使用方法のテストは、API名の単語の選択および文法(たとえば、能動態か受動態か、単数形か複数形かなど)が英語の
フレーズとして意味があるかどうかを明らかにするでしょう。たとえば、以下の2つは、
if(collection.Contains(item))
if(regularExpression.Matches(text))
は以下の2つよりも自然に読むことができます。
if(collection.IsContained(item))
if(regularExpression.Match(text))
同様に、それ以外のすべてについても、受動態よりも能動態を優先して選択すべきです
if(stream.CanSeed) //こちらのほうが良い
if(stream.IsSeekable)
0043デフォルトの名無しさん
2010/08/01(日) 13:07:420044デフォルトの名無しさん
2010/08/01(日) 13:18:36こういうコピペ君に限って間違いなくいまどろドヤ顔してるよw
0045デフォルトの名無しさん
2010/08/01(日) 13:22:37ただし冗長的になるため、能動態か受動態か、単数系か複数形かに注意して動詞で表現したほうが見通しが良い。
これにしたがって>>36を再度考えると
SuccessよりもSucceededのほうが良いな。
>>34から見るとインスタンスが生成されたかどうかをみたいようなので、アクセス可能かどうかって表現にしたほうがいいかもね。
0046デフォルトの名無しさん
2010/08/01(日) 13:27:47それ、Cとかの時代に逆戻りな気もするんだけどもなぁ。
戻り値うけた側で if (ret.Success) とかしないといけないの。
if 文書かなかった場合、たぶん ret.Result.Xxx() とかやった時にヌルポになって初めてエラーなの思い出すしわけだし。
Perl 6 でそれと同じような感じの例外構文追加されたらしいけども・・・
0047デフォルトの名無しさん
2010/08/01(日) 13:48:43それ、if云々をtryに置き換えてもまったく同じようなことが言えるのでは。
0048デフォルトの名無しさん
2010/08/01(日) 13:57:10- ドキュメントを見ないとメソッドが例外を投げるかどうかすら分からない。
- 例外の詳細(例外オブジェクト)が必要がない(失敗したら単にnullを返してくれればいい)
ような場合でもtry{...}catch{...}を書かなければならないのは鬱陶しい。
だと思う。
>>36はそれに対する悪あがき。もちろんあんまりエレガントじゃないのは分かってる。
0049デフォルトの名無しさん
2010/08/01(日) 14:00:510050デフォルトの名無しさん
2010/08/01(日) 14:01:580051デフォルトの名無しさん
2010/08/01(日) 15:02:24前者はともかく、後者はよくわからないなあ。
それは、ようするに握りつぶしたいって要求に等しいよね。
例外オブジェクトが必要とかじゃなくて、処理に失敗したから例外を投げてるわけで。
もちろん、握りつぶしたい的なシチュエーションはあるけど、
それはTryParseのような成否を返すメソッドで作れって話だし。
0052デフォルトの名無しさん
2010/08/01(日) 15:17:24デバッグ時に外部のクラスライブラリのどのコードで例外が発生したかを調べるには、
外部のクラスライブラリのpdbファイルが必要?
0053デフォルトの名無しさん
2010/08/01(日) 15:56:50重要なのは、同じメソッドでも呼び出す側の都合によって
きちんと例外状況を把握したい(例外オブジェクトが欲しい)場合と、
単に成否のみ判定できればそれで必要十分な場合とがあるということ。
005451
2010/08/01(日) 16:34:02その呼び出し側の都合で、ってのが握りつぶすに等しいわけで。
例外が出ても、成否のみで続行可能なら、メソッド側が
「ParseとTryParse」のように、二つのメソッドを用意しておくべき。
0055デフォルトの名無しさん
2010/08/01(日) 16:41:59少なくとも、try/if がなかった場合、例外が出る場所が問題の発生個所と一致する。
>>46 みたいなやり方だと、本来のエラーの場所と違う場所でヌルポ。
>>48
ドキュメント見ないとって問題はその通りだけど、
かといって throws 使うと catch(Exception) が横行するだけだしねぇ。
失敗時に null 返せばって話は、そういうメソッド書けばいいじゃない。
0056デフォルトの名無しさん
2010/08/01(日) 17:39:16他のサイトでも同様にログインしてhtmlを取得したい場合、
「ここの部分」場所の値はどのようにして取得したらよいのでしょうか?
もちろんIDとかパスは分かっています。
class CustomWebClient:WebClient
{
private CookieContainer cookieContainer = new CookieContainer();
// WebClientはWebRequestのラッパーにすぎないので、
// GetWebRequestのところの動作をちょっと横取りして書き換える
protected override WebRequest GetWebRequest(Uri address)
{
var request = base.GetWebRequest(address);
if (request is HttpWebRequest)
{
(request as HttpWebRequest).CookieContainer = cookieContainer;
}
return request;
}
}
// WebClientを継承してちょっと書き換えてやれば一番簡単
var cwc = new CustomWebClient { Encoding = Encoding.GetEncoding("euc-jp") };
cwc.UploadValues("https://mixi.jp/login.pl", new NameValueCollection
{
{"next_url", "/home.pl"}, //ここの部分
{"email", "める"}, //ここの部分
{"password", "ぱす"} //ここの部分
});
var result = cwc.DownloadString("https://mixi.jp/show_log.pl");
Console.WriteLine(result); // アクセスできてるのを確認
0057デフォルトの名無しさん
2010/08/01(日) 18:38:290058デフォルトの名無しさん
2010/08/01(日) 19:55:52そう
でもメソッド名くらいならスタックトレースに書いてある
0059デフォルトの名無しさん
2010/08/01(日) 20:37:02ありがとうございます。
ソースを解析することでうまくいきました。
0060デフォルトの名無しさん
2010/08/01(日) 20:40:54HTMLを上記のメソッドに渡すと
EntityName を解析中にエラーが発生しました
と例外が発生しました。
半角のスペースがタイトルに含まれていたからなのかなと推測しました。
一般的にこういう場合はどのようにしてXElementで解析したらよいのでしょうか?
0061デフォルトの名無しさん
2010/08/01(日) 20:44:18一般的にはHTMLは正しいXMLじゃないんだから無理というしかない
0062デフォルトの名無しさん
2010/08/01(日) 20:47:42つSgmlReader
0063デフォルトの名無しさん
2010/08/01(日) 21:05:07>「ParseとTryParse」のように、二つのメソッドを用意しておくべき。
そういう「べき論」を唱えてもいいけど、何故そうすべきなのかと聞かれたときに
合理的な理由を与えられる?
ただの教条主義じゃないのそれ。
0064デフォルトの名無しさん
2010/08/01(日) 21:12:30論点がズレてるなあ。
そのメソッドは常に成功するとは限らない(例外が発生する可能性がある)
ことを示すためにわざわざ妙な値を返してるのに、それでもエラーを想定した
コートを書かない場合を想定しなければならない理由が分からない。
百歩譲ってそういう「馬鹿で怠惰な」プログラマを想定すべきだとして、
「例外が出る場所が問題の発生個所と一致」しないことが、あえて取り上げる必要がある
問題だろうか。
0065デフォルトの名無しさん
2010/08/01(日) 21:14:46HTMLのパーサを自前で書くべし
ttp://japan.internet.com/developer/20051115/25.html
0066デフォルトの名無しさん
2010/08/01(日) 21:30:53mshtml使う手もあるぞ
0067デフォルトの名無しさん
2010/08/01(日) 21:40:03うん、あえてどころか、まじめに取り上げるべき大問題。
0068デフォルトの名無しさん
2010/08/01(日) 21:46:57ではその理由をどうぞ。
どうして大問題なの?
NullReferenceExceptionが発生した理由を推定できないプログラマがいるから?
そんな奴はいないと思うが、いるとしてどうしてそんな「馬鹿でどうしようもないプログラマ」
を想定する必要があるのでしょう。
0069デフォルトの名無しさん
2010/08/01(日) 21:56:56あと、そんな馬鹿でどうしようもないプログラマも相手にするのがC#だろ。
0070デフォルトの名無しさん
2010/08/01(日) 22:03:33>距離はなれてたらしんどいよ
それは、そういうことが起こるとしたら変数の初期化(または変数への代入)と
その変数の使用を意味なく離して書く悪しきプログラミングスタイルに起因する問題であって、
>>36的な方法を取ったことに起因する問題ではないでしょ。
>そんな馬鹿でどうしようもないプログラマも相手にするのがC#だろ
もちろんフールプルーフに作ることは大事。
でも、フールプルールとは「ありえないような馬鹿を想定すること」ではないはず。
0071デフォルトの名無しさん
2010/08/01(日) 22:11:06ありがとうございます。
0072デフォルトの名無しさん
2010/08/01(日) 22:48:26.NETだけでやろうとした場合、自作しかないのでしょうか?
スペースなどの文字を&***のような形に変換するような
機能はないのでしょうか・・・
ダウンロードしたHTMLを解析するというのは
よくある要求だと思うのですが・・・
0073デフォルトの名無しさん
2010/08/01(日) 22:49:54普通にDOMでやれよ。
0074デフォルトの名無しさん
2010/08/01(日) 22:50:170075デフォルトの名無しさん
2010/08/01(日) 23:03:10domでやるとはどういう意味でしょうか?
ActiveXを使うということでしょうか?
0076デフォルトの名無しさん
2010/08/01(日) 23:07:420077デフォルトの名無しさん
2010/08/01(日) 23:08:43HttpUtility.HtmlEncode
0078デフォルトの名無しさん
2010/08/01(日) 23:08:56DOMは分かりますよ。
でも.NETとは無関係の一般的な用語ですよね。
0079デフォルトの名無しさん
2010/08/01(日) 23:13:35求めていたものにとても近いです。
ただタグの<などすべて変換されてしまうので
結局は解析してやらないといけないみたいです。
でもありがとうございました。
0080デフォルトの名無しさん
2010/08/01(日) 23:25:55ttp://neue.cc/2010/03/02_244.html
これだろ
0081デフォルトの名無しさん
2010/08/01(日) 23:32:31何かよい関数ありますか?
0082デフォルトの名無しさん
2010/08/01(日) 23:37:550083デフォルトの名無しさん
2010/08/01(日) 23:41:130084デフォルトの名無しさん
2010/08/01(日) 23:42:25まだ試していないのですが
読む限りまさにこれです。
助かりました、ありがとうございます。
というか最初のサンプリもここのサイトでした。
答えはすぐ近くにあったんですね・・・
0085デフォルトの名無しさん
2010/08/01(日) 23:43:330086デフォルトの名無しさん
2010/08/02(月) 00:10:36という例外が出ました
なかなか難しいものですね・・・
0087デフォルトの名無しさん
2010/08/02(月) 00:12:130088デフォルトの名無しさん
2010/08/02(月) 00:16:18例外を握りつぶすことを決めたならば、あなたが何がおかしくなるかを正しく理解していないことに気づくべきです。
それによって失われるアプリケーションの状態の一貫性を予測することは一般的に不可能だからです。
例外を握りつぶすことによって、一貫性の破綻に直面した状態で実行するリスクと、このアプリケーションドメインまたはプロセス内でコードを実行
し続けることによる価値のトレードオフを検討します。
その一貫性のない状態を利用してセキュリティ攻撃が行われる可能性もあります。
そのため、ここでの決断は奥の深いものです。
0089デフォルトの名無しさん
2010/08/02(月) 00:19:47・スローしたオブジェクトと呼び出し元の間の完全な呼び出しスタック、およびスタック上のすべてのメソッドが正しくクリーンアップされ、
返ってくる前にグローバル状態が変更されたかどうかの判断
これら2つの項目についてわからないのであれば、何らかのグローバル状態が"中途半端"な状態にあるかどうかがわからないため、
プログラムが実行を継続したときに奇妙なエラーを引き起こすことになります。
これは非常に多くの場所で発生しうる、OutOfMemoryException、StackOverflowException、またはThreadAbortExceptionのような
例外については本質に真です。
0090デフォルトの名無しさん
2010/08/02(月) 00:41:35Unicodeで文字幅が規定されているから、その定義を見て判定するだけだろ
文脈で幅が変化する文字とかあるから実装は面倒だけど
0091デフォルトの名無しさん
2010/08/02(月) 16:58:35おお、なるほど。こういう方法もありましたか。
ありがとう。
ジェネリックは中間言語になる時点でFunc<int>等を
Func<object>にして統一してるのかなと思ってたけど、
これが出来るってことはそいうわけじゃなかったんですね。
0092デフォルトの名無しさん
2010/08/02(月) 18:28:03C#のジェネリックは型情報を削除せずに、実行時にCLRの内部で構築されるようになってる。
0093デフォルトの名無しさん
2010/08/02(月) 18:42:220094デフォルトの名無しさん
2010/08/02(月) 18:47:33どっちかにこだわる人間になりたくなければまずはC#をやってから後でVBもやることをお勧めする
0095デフォルトの名無しさん
2010/08/02(月) 18:58:560096デフォルトの名無しさん
2010/08/02(月) 19:06:200097デフォルトの名無しさん
2010/08/02(月) 19:51:36近年の関数型に近づいた進化に対して、VBは構文の冗長さが際立ってきて結構しんどい。
0098デフォルトの名無しさん
2010/08/02(月) 19:51:52君さあ「例外をにぎりつぶす」っていう俺様用語を執拗に使ってるけど、
その意味厳密に定義できるの?
君ってそもそも例外処理の意味が分かってないでしょ。
0099デフォルトの名無しさん
2010/08/02(月) 19:58:13例外をキャッチしてそのまま処理を実行することじゃないの?
言葉通り見れば。
0100デフォルトの名無しさん
2010/08/02(月) 20:01:44プログラムの実行をアボートするのが正しい作法なわけね。
面白い冗談だ
0101デフォルトの名無しさん
2010/08/02(月) 20:08:36そんな残念仕様と一緒にしないで。
意地でもバイトコードに修正入れたくなかったJavaと違って、
.NET は 2.0 の時に IL の仕様追加したんで。
0102デフォルトの名無しさん
2010/08/02(月) 20:09:25どしたー?熱中症にでもなったかー?
>>88が正しいとは言わないが
お前も十分おかしなこと言ってるぞ。
日本語不自由な人種か?
0103デフォルトの名無しさん
2010/08/02(月) 20:17:02否定は結構だがせっかくだからの君自身の見解も言ってみよう。
ではどうぞ。
0104デフォルトの名無しさん
2010/08/02(月) 20:20:01例外をその場ではキャッチせず、最上位で掴むってのはよくある作法だと思うのだけど。
0105デフォルトの名無しさん
2010/08/02(月) 20:25:26「例外を握りつぶす」って別に普通に使われてる表現
何で自分が無知なだけなのに、こうもひたすら強気に出れるのか不思議
0106デフォルトの名無しさん
2010/08/02(月) 20:27:25それはプログラマが想定してない例外をキャッチするためでしょ。
その目的は対ユーザー向けに適切なメッセージを表示するためであって
プログラムの処理を継続するためのものではない(想定していない例外が
発生したのだから当然だが)だから、通常の例外処理ではない。
0107デフォルトの名無しさん
2010/08/02(月) 20:28:30くだらねえこと言ってないで定義してみたら?
まさかそれすらできないのに「強気」に出てるわけじゃないよね?
0108デフォルトの名無しさん
2010/08/02(月) 20:29:55通常の例外処理の範囲でとりあえず全部キャッチしてスタックトレース吐いてスルーすることだろ
Javaなんかだとキャッチが強制されるからそういうのが散見される
0109デフォルトの名無しさん
2010/08/02(月) 20:32:23>否定は結構だがせっかくだからの君自身の見解も言ってみよう。
自分が否定と煽りしかしてねーじゃねーかwww
0110デフォルトの名無しさん
2010/08/02(月) 20:33:17のにとりあえずキャッチして放置
0111デフォルトの名無しさん
2010/08/02(月) 20:51:030112デフォルトの名無しさん
2010/08/02(月) 20:59:230113デフォルトの名無しさん
2010/08/02(月) 22:23:550114デフォルトの名無しさん
2010/08/03(火) 01:12:15読んでないやついんのかよw
0115デフォルトの名無しさん
2010/08/03(火) 01:30:220116デフォルトの名無しさん
2010/08/03(火) 01:48:510117デフォルトの名無しさん
2010/08/03(火) 02:25:36使い分けとかやってますか?
それともどちらかしか使用しないようにしてますか?
out を使う場合は try catch の
外で初期化しないと怒られてしまうので
階層をまたがって使うときに 関数ごとに
初期化を記述しないと駄目っぽいのですが
何か良い方法あるのでしょうか?
0118デフォルトの名無しさん
2010/08/03(火) 02:59:53>複数の値が欲しいときに out やref を使いますが
使いません
そういう用途にはクラスを使いましょう。
0119デフォルトの名無しさん
2010/08/03(火) 04:54:09C#でその手のネットワークプログラミングを詳しく取り扱ってるサイトか書籍ってないかしら
0120デフォルトの名無しさん
2010/08/03(火) 10:05:23お間が使わなくても
Framework自体が使ってるんだけどな。
こいつみたいにそれっぽいものを完全否定する
原理主義土方PGって頭でっかちで使えないんだよなー。
0121デフォルトの名無しさん
2010/08/03(火) 10:14:190122デフォルトの名無しさん
2010/08/03(火) 10:21:25TryParse
0123デフォルトの名無しさん
2010/08/03(火) 10:22:03> 使い分け
outputのみが目的ならばout。
inputとoutput両方が目的ならばref。
0124デフォルトの名無しさん
2010/08/03(火) 10:27:29どこが複数の値なんだか…
0125デフォルトの名無しさん
2010/08/03(火) 10:28:43得にrefを多様してる奴は間違いなく初心者
0126デフォルトの名無しさん
2010/08/03(火) 10:38:060127デフォルトの名無しさん
2010/08/03(火) 10:52:320128デフォルトの名無しさん
2010/08/03(火) 11:05:362つは十分複数だろ?
使いません
とか完全否定しちゃうステレオタイプは
いまさら複数とか認められないのかもしれないけどwwwww
0129デフォルトの名無しさん
2010/08/03(火) 11:09:10ゴミは黙ってろ
0130デフォルトの名無しさん
2010/08/03(火) 11:34:01もうちょっと詳しく聞きたいね。
どういうのが最善なのか。
0131デフォルトの名無しさん
2010/08/03(火) 11:42:12あれはF#のために追加されただけ
タプルは (string name, int age) = GetPerson();みたいに使うものだけど
今のC#の構文ではサポートされてなくて受けるときの変数名が無いから可読性最悪
0132117
2010/08/03(火) 12:48:08そうなんですか。
静的関数を作成し依存しないように
していく考え方はもうあんまり利用されない
んですね
>>123
正しい使い分けですね。
>>125
こだわらなくて良いということでしょうか?
>>127
なるほど、4.0からはそのようなものがあるんですね。
0133デフォルトの名無しさん
2010/08/03(火) 22:03:52%単位で存在してるなら分かるが同意できねぇ。
0134デフォルトの名無しさん
2010/08/03(火) 22:18:30引っ込みが付かなくなってるのはお前だろw
TryParseがあるから複数の値が欲しいときに out やref を使うべきと?w
何その負け惜しみwwwwwww
0135デフォルトの名無しさん
2010/08/03(火) 22:19:460136デフォルトの名無しさん
2010/08/03(火) 22:20:590137デフォルトの名無しさん
2010/08/03(火) 23:07:18日本語ワカリマスカ?
複数なのはメソッドの数じゃねーよ。
「2っ」なんて日本人なら書かねー。
>>134
誰が「使うべき」なんて言ったよw
0か1かでしか物事を考えることができねーの?
どこの国の人ですか?
引っ込みつかなくなってるのはお前のことだろwww
負け惜しみってのはお前のレスのことだよwwwww
0138デフォルトの名無しさん
2010/08/03(火) 23:31:27ゴミは黙ってろ
0139デフォルトの名無しさん
2010/08/03(火) 23:34:15なんだ朝鮮人だったのかw
0140デフォルトの名無しさん
2010/08/04(水) 01:04:430141デフォルトの名無しさん
2010/08/04(水) 01:25:11参照型にref付ける意味ってなにがあるの?
試してみたら付けれたんだけど。
0142デフォルトの名無しさん
2010/08/04(水) 01:27:20スワップみたいに新しく代入するときとか。
0143デフォルトの名無しさん
2010/08/04(水) 01:28:26stringみたいにイミュータブルなクラスなら値を変更するには別のインスタンスを代入するしかないから、
refを付ける必要がある。
ミュータブルなクラスでも、いろいろ面倒な配慮をしないと値を変更できず、newしちゃった方が
早いってこともあるかもしれない。そんな例思いつかないけど。
値型・参照型と値渡し・参照渡しの4通りの組み合わせを全部理解しておかないと。
0144デフォルトの名無しさん
2010/08/04(水) 01:28:27キチガイの考える事はよう分からんわ
0145デフォルトの名無しさん
2010/08/04(水) 01:31:58半島人は黙ってろ
0146デフォルトの名無しさん
2010/08/04(水) 01:32:28使わないって完全否定してるアホが居たから
そいつが叩かれてるだけじゃないの?
0147デフォルトの名無しさん
2010/08/04(水) 01:35:01お前シナだったのかw
0148デフォルトの名無しさん
2010/08/04(水) 01:45:58ゴミは黙ってろ
0149デフォルトの名無しさん
2010/08/04(水) 01:47:030150デフォルトの名無しさん
2010/08/04(水) 01:51:28だから黙れよゴミ
0151デフォルトの名無しさん
2010/08/04(水) 01:53:100152デフォルトの名無しさん
2010/08/04(水) 01:56:060153デフォルトの名無しさん
2010/08/04(水) 02:01:29>>117
使いません
120 デフォルトの名無しさん[sage] 2010/08/03(火) 10:05:23
>>118
お間が使わなくてもFramework自体が使ってるんだけどな。
121 デフォルトの名無しさん[sage] 2010/08/03(火) 10:14:19
はいはい、妄想はそれぐらいにしとけw
122 デフォルトの名無しさん[sage] 2010/08/03(火) 10:21:25
>>121
TryParse
124 デフォルトの名無しさん[sage] 2010/08/03(火) 10:27:29
>>122
どこが複数の値なんだか…
128 デフォルトの名無しさん[sage] 2010/08/03(火) 11:05:36
>>124
2つは十分複数だろ?
133 デフォルトの名無しさん[sage] 2010/08/03(火) 22:03:52
2っで複数ねぇ・・・.Netにいくつメソッドがあると思ってるんだ。
134 デフォルトの名無しさん[sage] 2010/08/03(火) 22:18:30
>>128
引っ込みが付かなくなってるのはお前だろw
TryParseがあるから複数の値が欲しいときに out やref を使うべきと?w
137 デフォルトの名無しさん[sage] 2010/08/03(火) 23:07:18
>>133
複数なのはメソッドの数じゃねーよ。
>>134
誰が「使うべき」なんて言ったよw
0154デフォルトの名無しさん
2010/08/04(水) 04:08:230155デフォルトの名無しさん
2010/08/04(水) 04:09:500156デフォルトの名無しさん
2010/08/04(水) 08:27:58メソッドの中で複数のインスタンスを new で返したいときとか・・・
って思ったけど、そりゃ out 使うとこだな。
確かに参照型に ref ってスワップ以外に用途思いつかない。
0157デフォルトの名無しさん
2010/08/04(水) 09:28:00戻り値を使うっていう発想がないんだよね
0158デフォルトの名無しさん
2010/08/04(水) 11:45:19クラスって言うからメソッド使って管理しろって意味だと思ってた。
refとかoutは例外出したくないとき便利じゃないかな
public bool GetData(out string data, string default)
string data;
GetData(out data, "default"); //失敗してもそのまま継続できるし成功の確認も出来る
0159デフォルトの名無しさん
2010/08/04(水) 11:48:050160デフォルトの名無しさん
2010/08/04(水) 11:48:14クラスライブラリのパブリックメンバなら例外を投げるバージョンも同時に用意する決まり
0161デフォルトの名無しさん
2010/08/04(水) 11:52:210162デフォルトの名無しさん
2010/08/04(水) 11:54:470163デフォルトの名無しさん
2010/08/04(水) 11:56:190164デフォルトの名無しさん
2010/08/04(水) 12:05:15でも、作るなら検証メソッドのほうが良かったのに・・・
0165デフォルトの名無しさん
2010/08/04(水) 12:18:280166デフォルトの名無しさん
2010/08/04(水) 12:36:020167デフォルトの名無しさん
2010/08/04(水) 12:49:170168118
2010/08/04(水) 13:13:01>>117>>132読んだ感じじゃ読み通りout refを乱用してたみたいだな。
>>153
俺は>>118だけなんだが君は誰と戦ってるつもりなの?w
0169デフォルトの名無しさん
2010/08/04(水) 13:25:45正しく動くコードが一番正しいんだ
どれも正しく動いてりゃ正解だよ
※メンテナンス性は除く
0170デフォルトの名無しさん
2010/08/04(水) 13:29:210171デフォルトの名無しさん
2010/08/04(水) 14:06:550172デフォルトの名無しさん
2010/08/04(水) 14:31:520173デフォルトの名無しさん
2010/08/04(水) 14:49:29「我が教義に従いさえすればあらゆる問題はたちどころに解決する」
とかほざく宗教者
オブジェクト指向辺りからか?この手の無能が湧き出したのって
0174デフォルトの名無しさん
2010/08/04(水) 14:59:08SBの孫とかが有名
0175デフォルトの名無しさん
2010/08/04(水) 15:02:42自己紹介乙
0176117
2010/08/04(水) 15:09:10out/ref 乱用はしてません。
outしか今まで使用してなかったので
out/refの使い分けが知りたかったのです。
0177デフォルトの名無しさん
2010/08/04(水) 15:19:270178117
2010/08/04(水) 15:37:14ただ、自分も118さんがout/ref を使わずに何でもかんでも
クラスを使うっていうは本当なのか知りたいです。
0179デフォルトの名無しさん
2010/08/04(水) 15:44:23例
S ●●
B ●●●
O ●●
見たいな感じです
入力方法は
●●●●● ● ボール
●○○○● ○ ストライク
●○○○●
●○○○●
●●●●●
の25分割radioButtonにチェックする
アウトは別に他のアウト専用のチェックボタンを作っています
で○の所をチェックするとSに黄色●にチェックするとBに青
アウトにチェックするとOに赤色が点滅します
よろしくお願いします
0180デフォルトの名無しさん
2010/08/04(水) 15:54:400181デフォルトの名無しさん
2010/08/04(水) 15:57:39mixiにマルチ
0182デフォルトの名無しさん
2010/08/04(水) 16:09:58いいよいいよ、根気よく自力で探すよ(つдT)
0183デフォルトの名無しさん
2010/08/04(水) 16:30:23後者のサンプルだとこんなのとかある。
http://codezine.jp/article/detail/530
0184118
2010/08/04(水) 17:01:10TryParseパターンのような制限付きの例外はあるにせよ
>静的関数を作成し依存しないようにしていく考え方はもうあんまり利用されない
この辺は別にC#だけに限った話じゃないな。
0185デフォルトの名無しさん
2010/08/04(水) 17:22:19うおお、thx!
ググっても他の言語のコードばっかりで困っていたんだ。とりあえず両方味見してみる
0186デフォルトの名無しさん
2010/08/04(水) 18:08:42困ったことにほとんどのサンプルがIIS前提なのよね・・・
もっと単純にPeerToPeerしたいだけなんだが大掛かりすぐる
0187デフォルトの名無しさん
2010/08/04(水) 19:12:51といえば特定領域の実装を楽にするものしかないわな。
更に皮かぶせたもの無いか?なんて考えないで素直に System.Net.Sockets
使えばいいと思うよ。(プラットフォーム間の相互運用性も上がるし)
0188デフォルトの名無しさん
2010/08/04(水) 19:57:55夏休みの宿題は自分でやるべき。
http://ideone.com/EcOoS
0189デフォルトの名無しさん
2010/08/04(水) 23:41:390190デフォルトの名無しさん
2010/08/04(水) 23:44:49きちんと理解してるなら使ってもよいぐらいの解釈でいい。
0191デフォルトの名無しさん
2010/08/04(水) 23:58:090192デフォルトの名無しさん
2010/08/05(木) 00:18:350193デフォルトの名無しさん
2010/08/05(木) 00:25:23IntPtrじゃ型分からないし扱いが回りくどいしで、余計に危険な気がする
結局やってることは一緒だし
0194デフォルトの名無しさん
2010/08/05(木) 01:00:56TryParse パターンが許容されるのは、Parse 可能かどうかの判定に Parse 本体と同程度の負荷がかかる場合ね。
可能性の判定を簡単にできる場合は、事前判定用の CanParse みたいなメソッドと、
例外投げる Parse を用意する方がいい。
(けど、文字列の Parse はたいがい可能性判定の負荷高いんで、TryParse にならざるを得ない)
0195デフォルトの名無しさん
2010/08/05(木) 01:20:540196デフォルトの名無しさん
2010/08/05(木) 01:23:400197デフォルトの名無しさん
2010/08/05(木) 02:06:30たぶんプロなら共感出来ると思う
ある意味上級者向けの本w
0198デフォルトの名無しさん
2010/08/05(木) 02:36:52・業務アプリのWindowは画面一杯に表示して、閉じられないようにしてほしい。(業務アプリ以外の余計な操作はできないように。)
・テキストボックスの入力長は全角xx文字以内にしてほしい。 (もちろん、MaxLengthの設定だけじゃダメ。)
レビュー見てきた。あるあるw
0199デフォルトの名無しさん
2010/08/05(木) 02:48:160200デフォルトの名無しさん
2010/08/05(木) 02:55:09マジ、unsafeでダブルポインタ使えるの?
0201デフォルトの名無しさん
2010/08/05(木) 03:11:550202デフォルトの名無しさん
2010/08/05(木) 09:23:23MyStruct*[] pointers = new MyStruct*[10];
fixed (MyStruct* p = values) {
for (int i = 0; i < pointers.Length; i++) { pointers[i] = &p[i]; }
fixed (MyStruct** pp = pointers) { ポインタの配列を引数に取る関数(pp); }
}
こういうのunsafe使わずにやるのは面倒だぞ
0203デフォルトの名無しさん
2010/08/05(木) 11:39:23そのセルがキーボードやマウスでクリックされても現在の選択状態
を維持したいです。
0204デフォルトの名無しさん
2010/08/05(木) 12:22:35俺はそれでごまかして逃げてる
点線の枠線は見えちゃうけどな・・・・
0205デフォルトの名無しさん
2010/08/05(木) 15:12:40メインのフォームからボタンを使って新しいウィンドウを呼び出して
そこにメインのDataGridViewを別の値を代入して表示させたいんですが
上手く再表示してくれません。
メインのフォームのインスタンスを新しいウィンドウのコンストラクタに渡して
それを新しいウィンドウのDataGridViewのインスタンスに代入した後
.Update()をしてるんですが・・・
何かやりかたがマズイんでしょうか。
よろしくお願いします。
0206デフォルトの名無しさん
2010/08/05(木) 15:22:450207デフォルトの名無しさん
2010/08/05(木) 15:23:470208デフォルトの名無しさん
2010/08/05(木) 15:32:51http://codepad.org/IMTznv50
こんなコードなんですけど・・・
0209デフォルトの名無しさん
2010/08/05(木) 15:36:26正確にはこっちです^^;
http://codepad.org/X3iUi8YZ
0210デフォルトの名無しさん
2010/08/05(木) 15:38:030211デフォルトの名無しさん
2010/08/05(木) 15:40:49form2DataGridViewはデザイン画面で表示してるんで
InitializeComponent();
の部分で描画されてるかと・・・。
なので新しいウィンドウを開いた時にはもう表示されているんですが
メインの値の入ったものではないんです。空の奴です。
これを更新させたいんですけど・・・
0212デフォルトの名無しさん
2010/08/05(木) 15:44:170213デフォルトの名無しさん
2010/08/05(木) 15:49:28InitializeComponent();
form2DataGridView = form1dataGridView;
}
の
form2DataGridView = form1dataGridView;
の部分なんですけどおかしいですか?
それぞれデザイン画面でメイン画面に表示されているDataGridViewをform1DataGridViewと名付け
新しいウィンドウの方をform2DataGridViewと名付けています。
コンストラクタで受け渡し代入をしてるつもりなんですが。
その後に.Update()をすれば表示も更新されると思ったんですが
0214デフォルトの名無しさん
2010/08/05(木) 15:52:34新しいウィンドウのDGVのvalueにそれぞれセットしてやれば解決する問題なんでしょうけど
そのままオブジェクトを代入しても、同じ事が実現可能だろうと思っていたんですけど
出来ないので・・・
0215デフォルトの名無しさん
2010/08/05(木) 16:03:43コンテキストメニューからの起動時に、1つのアプリで複数ファイルのパスが受け取れません。
レジストリのAllFileSystemObjects\shell\app\commandに登録したのですが、ファイル毎にアプリが起動してしまいます。
その際に登録したコマンドは「"アプリのパス" "%1"」です。
引数を%*に変更しても不可能でした。
1つのアプリが複数ファイルのパスを1度に受け取るにはどうすればよいでしょうか?
開発環境はVS2010の.net4.0で、Win7 64bitになります。
よろしくお願いします。
0216デフォルトの名無しさん
2010/08/05(木) 17:00:460217デフォルトの名無しさん
2010/08/05(木) 19:34:54その本の著者ってこの本の著者と同じだよね。
http://www.amazon.co.jp/C%E8%A8%80%E8%AA%9E%E6%92%83%E9%80%80%E8%AC%9B%E5%BA%A7-~K-R%E3%81%AF%E7%BD%AE%E3%81%84%E3%81%A6%E3%80%81%E4%BF%BA%E3%81%AE%E8%A9%B1%E3%82%92%E8%81%9E%E3%81%91-%E4%B8%B8%E5%B2%A1-%E5%AD%9D%E5%8F%B8/dp/477413533X
こっちの本のデタラメさ(ふざけてるという意味じゃなくて、どうしようもない
低レベルな間違いが多い)を見たら評価変わるかもねw
その本は知らんけど(上の著者だと知ってたから手に取る気にもならない)
こっちは本当に無茶苦茶酷いよ
0218デフォルトの名無しさん
2010/08/05(木) 19:45:02「PCのコンセント抜いて電源が落ちるとこまるのでソフトで対応して下さい」
とかの要求をアルアルしながら読む本
つまり学生や客と退治しない請負には意味がわからん
上流及び客とマンツーでやった事のある経験豊富なプロにしか合わない本
0219デフォルトの名無しさん
2010/08/05(木) 20:04:01全然あるあるじゃないじゃんw
こちとら毎日のように客とやり合ってるけど、今日日そこまで酷い人はいないし、
常識で考えても「そこまでの馬鹿」がそうそういるわけない。
要するに、ネトウヨ的なうだつ上がらない奴が自分より下がいると思って
溜飲下げるタイプの本なのかね。
0220デフォルトの名無しさん
2010/08/05(木) 20:06:39最近は”蚊が嫌がる音を作業中は出して下さい”みたいなのが増えてるぜw
0221デフォルトの名無しさん
2010/08/05(木) 20:29:18対応すればいい
>>220
そんな音は存在しない
0222デフォルトの名無しさん
2010/08/05(木) 20:34:520223デフォルトの名無しさん
2010/08/05(木) 21:20:19会議だけじゃなくて現場の作業者さんからも要望や使い勝手なんかを聞くのであるあるだなあ
WMとかのモバイルだと「充電するのも無線でやりたいんですが?!」とか日常茶飯事だし
0224デフォルトの名無しさん
2010/08/05(木) 21:27:40リニアカップリングとかでいけるんじゃね?
0225デフォルトの名無しさん
2010/08/05(木) 21:32:38ご多聞に漏れずでたらめだらけ。
自分で間違いを見つけられないとやばい。
続編(Webアプリ編だっけかな?)もでたらめだらけ。
0226デフォルトの名無しさん
2010/08/05(木) 21:50:230227デフォルトの名無しさん
2010/08/05(木) 22:20:00使いません って断言の仕方がまずかったんじゃね?
君が義務教育中なのか大学生なのか社会人なのかしらんけど
「乱用しないで適切に使う」というニュアンスが
「使いません」と同じ、という思考回路はものすごく危険
学生なら許されるのかもしれんが
答えとして
�@乱用しないで適切に使う
�A使います
�B使いません
と3つあれば
�@が正解、�Aは間違いではない、�Bは大変危険な間違い
となる
会社でそんな答えをしてたら間違いなく怒られるよ
0228デフォルトの名無しさん
2010/08/05(木) 22:34:25まあニュアンスの問題だけども、「乱用しないで適切に使う」よりも
「他に代替手段がない時のみ謙抑的に使う」の方が適切かと思う
0229デフォルトの名無しさん
2010/08/05(木) 22:46:30まあニュアンスの問題だけども、「他に代替手段がない時のみ謙抑的に使う」
だと、「代替手段がないから仕方なく使う」的なニュアンスが含まれるよね。
代替手段がないから使うってのは明らかに間違え。
ちゃんと使うべきだという理由があって初めて使うべき。
つまりは、>>194のようなことね。
だから「適切に使う」が正しい。
「使いません」は論外だが。
0230デフォルトの名無しさん
2010/08/05(木) 23:02:47謙抑的ってなんだろうと思って調べたら
へりくだるって意味が含まれるらしいんだが
そうだとすると使い方間違ってねーか?
無理して難しい単語使うと恥をかくね
正しかったらごめんね
0231デフォルトの名無しさん
2010/08/05(木) 23:18:13何を言ってるのまさにあれは「仕方なく使う」ものでしょ。
可読性を考慮すれば、まともなプログラマなら本来使いたくないんだからさ。
一応言っておくけど、ライブラリのメソッドのように"well-known"であることが
期待できるものについてはまた少し話しが違うけどね。
0232デフォルトの名無しさん
2010/08/05(木) 23:20:42webの辞書じゃなくて、ちゃんとした辞書引いてみ。
っていうか「謙抑(的)」で検索してもわかると思うが
0233デフォルトの名無しさん
2010/08/05(木) 23:36:35一言余計ではねーか?
0234デフォルトの名無しさん
2010/08/05(木) 23:36:41A,Bの以下のハードがあったとします。
・A
OS:Windows Vista
開発環境にVisualStadio2008がインストール済み。
・B
OS:Windows7 Starter
.NETFramework3.5インストール済み
二つのハードにVB6のDLLから関数を呼び出して使うC#のプログラムを実行します。
実行するプログラムは.NETFramework3.5で作成されています。
この時、BでしかDLLから呼び出せなかったんですが、なんででしょう?
開発環境であるXPマシンでは問題なかったのですが・・・
Vistaでは何か特別な処理をさせないといけないのでしょうか?
0235デフォルトの名無しさん
2010/08/05(木) 23:38:080236デフォルトの名無しさん
2010/08/05(木) 23:39:10誰か日本語に翻訳して
0237デフォルトの名無しさん
2010/08/05(木) 23:43:140238デフォルトの名無しさん
2010/08/05(木) 23:43:37ボタンを押すと中で実行してくれるものでした。
しかし、処理を停止し始めて、VB6DLLの関数が呼び出せないという内容がダイアログボックスに
表示されたんです。
でも、手元の7機は動くし、どうなってるんだろうかと・・・
0239デフォルトの名無しさん
2010/08/05(木) 23:46:10VB6で関数エクスポートなんて、まっとうにはできないし。
0240デフォルトの名無しさん
2010/08/05(木) 23:48:210241デフォルトの名無しさん
2010/08/05(木) 23:48:41VB6ランタイムを入れてない、なんて間抜けなオチじゃないよねまさか
0242デフォルトの名無しさん
2010/08/05(木) 23:52:310243デフォルトの名無しさん
2010/08/06(金) 00:06:25Vista機での運用はやめときます…スレ汚しスマソ
0244デフォルトの名無しさん
2010/08/06(金) 00:16:20>何を言ってるのまさにあれは「仕方なく使う」ものでしょ。
refが適切であれば仕方なくではなく胸を張って使う。
仕方ないとは思わない。
0245デフォルトの名無しさん
2010/08/06(金) 00:20:45煽るつもりもないがちょっと信じられないセンスだ
0246デフォルトの名無しさん
2010/08/06(金) 00:20:54刑法、道徳に関して使用する謙抑的と
その他の一般的に使われる謙抑はニュアンスが違う。
>>230が言っているように前者には「へりくだる」のニュアンスが薄いが
後者は>>230の言う意味で正しい。
前者の意味で使われることが多い単語なので
>>232はそれを見て知ったかしちゃったのかな?
つか、またニュアンスかよw
0247デフォルトの名無しさん
2010/08/06(金) 00:22:35○ 前者は
0248デフォルトの名無しさん
2010/08/06(金) 00:30:40もういいからちゃんとした辞書引けよ。
俺も手元にないんで偉そうなことはいえんけどw
謙抑的って言葉は別に法律用語でもなんでもなく、「控えめに運用する」
目的語が法律や権力以外にあまりないだけ。
0249デフォルトの名無しさん
2010/08/06(金) 00:51:21VB6ランタイムを入れてない、なんて間抜けなオチじゃないよねまさか
0250デフォルトの名無しさん
2010/08/06(金) 00:56:28気になって社内を探したらこれあった
有名かどうかは知らんが結構どこにでもあるみたいだな
0251デフォルトの名無しさん
2010/08/06(金) 00:58:36コピペ君って馬鹿だな、まで読んだ。
0252デフォルトの名無しさん
2010/08/06(金) 02:04:48ファイルを開いて、Form2のテキストボックスに表示し、
ボタンを押したらメール送信されるシステムを作成しています。
exeファイルにドロップしても同じように出来ると便利だと思い機能追加しようとしてるのですが、
詰まったので質問させてください。
メール送信時に同じディレクトリにあるAccessのデータベースファイルに
アクセスするのですが、exeファイルにドロップして起動させた場合、
データベースファイルのパスが変更されてしまい、データベースを参照することができません。
データベースにアクセスする文字列は
dbConn.ConnectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;" +
@"Data source=MailInfo.mdb";
なのですが、ドロップして起動した場合、
C:\Documents and Settings\user_name\MailInfo.mdbがありませんと出てしまいます。
ダブルクリックによる起動と、ドロップによる起動では何が変わってくるのでしょうか?
またこの解決方法がありましたら合わせて教えてください。
0253デフォルトの名無しさん
2010/08/06(金) 02:30:30ていうかさ
>>複数の値が欲しいときに out やref を使いますが
>使いません
>そういう用途にはクラスを使いましょう。
複数の値が欲しいときに out や ref を使うかって言うと、
「使いません、クラスを使いましょう」って回答は正しいと思うのだが。
複数の値が欲しいときにoutやrefを使うべきではないって話をしてる時に、「Framework自体が使っている」なんて言い出した>>120の頭がおかしいだけではないのか。
0255デフォルトの名無しさん
2010/08/06(金) 03:27:58複数の値が欲しいときに out やref を使うの?酷い設計だな。完全に乱用してんじゃん
0256デフォルトの名無しさん
2010/08/06(金) 04:02:11>>TryParse
>どこが複数の値なんだか
以下無限ループ
0257デフォルトの名無しさん
2010/08/06(金) 07:21:35>>227には複数の値が欲しいときに使うなんて一言も書いてないじゃん
おそらく、>>168も>>255も社会人じゃないだろ。
社会人になれば>>227の言ってる意味が分かるだろう。
>>253
気を付けないと自分の方が頭がおかしいと思われるよ。
0258デフォルトの名無しさん
2010/08/06(金) 09:54:060259デフォルトの名無しさん
2010/08/06(金) 13:17:01for (int i = 0; i < 50; i++){
Console.Write((new Random(seed++)).Next(100) + ", ");
}
乱数を使おうと思っているのですが、このコードを実行すると
> 20, 72, 24, 76, 29, 81, 33, 85, 38, 90, 42, 94, 46, 99, 51, 3, 55, 8, 60, 12, 64,
> 17, 69, 21, 73, 26, 78, 30, 82, 35, 87, 39, 91, 44, 96, 48, 0, 53, 5, 57, 9, 6,
> 2, 14, 66, 18, 70, 23, 75, 27, 79, 続行するには何かキーを押してください . . .
こんな感じでかなり規則的な数列が毎回出てきてしまいます。
規則的というのは
・隣の数との差が約50
> 【20, 72】, 【24, 76】, 【29, 81】…
・一つおきに約5ずつ加算されて、100を超えると0に戻る
> 【20】, 72, 【24】, 76, 【29】, 81…【91】, 44, 【96】, 48, 【0】
ネット上のサンプルではseedは+1していくだけでバラけた乱数が得られているようですが、
http://www.atmarkit.co.jp/fdotnet/dotnettips/035random/random.html
自分の環境では何度やっても+Nしていく限りは規則的な乱数になってしまいます
.NETのバージョンは4です
ヒントなどありましたらご教授お願いします
0260デフォルトの名無しさん
2010/08/06(金) 13:22:340261デフォルトの名無しさん
2010/08/06(金) 13:30:24Randomを似たようなシードで生成したら似たような乱数が出力されたって話だろ
適当なシードで生成した(同じひとつの)Randomオブジェクトから乱数を取得しろよ
0262デフォルトの名無しさん
2010/08/06(金) 13:30:28int seed = Environment.TickCount;
Random r = new Random(seed);
for (int i = 0; i < 50; i++){
Console.Write(r.Next(100) + ", ");
}
こうしたらバラけた乱数が得られるようになりました
こんな初歩的な用法のミスをしてしまうとは…
ありがとうございました
0263デフォルトの名無しさん
2010/08/06(金) 14:10:41>>複数の値が欲しいときに out やref を使いますが
>使いません
>そういう用途にはクラスを使いましょう。
どんだけごちゃごちゃ騒いでもこれは正しい事なので否定できない。だから言葉尻を捕まえて叩くしかできない。
>>118読んで>>120と誤読するような日本語の読めない馬鹿が居たからこんな面倒な事になったんだ。
0264デフォルトの名無しさん
2010/08/06(金) 14:31:170265デフォルトの名無しさん
2010/08/06(金) 14:31:46もういいよ
0266デフォルトの名無しさん
2010/08/06(金) 15:02:00子供がいるスレはここですか
0267デフォルトの名無しさん
2010/08/06(金) 15:17:560268デフォルトの名無しさん
2010/08/06(金) 15:24:330269デフォルトの名無しさん
2010/08/06(金) 15:26:370270デフォルトの名無しさん
2010/08/06(金) 15:28:400271デフォルトの名無しさん
2010/08/06(金) 15:39:190272デフォルトの名無しさん
2010/08/06(金) 15:51:30ニュー速民?
乱数生成ネタでスレたったので同じようなこと俺もしてた
0273デフォルトの名無しさん
2010/08/06(金) 15:56:13そんなスレあったのか。見ときゃ良かった。
0274デフォルトの名無しさん
2010/08/06(金) 16:04:06起動方法によってカレントディレクトリが異なる
だからパスは全部フルパスで書け
0275デフォルトの名無しさん
2010/08/06(金) 16:06:05まず複数起動を禁止しろ
話はそれからだ
0276デフォルトの名無しさん
2010/08/06(金) 16:13:01コントロールにはそれぞれ紐付けられたウィンドウハンドルがある
だから別Formで一旦表示したコントロールをなんも考えずに移植しても上手く行く訳がない
大人しくNortifyしろ
0277デフォルトの名無しさん
2010/08/06(金) 18:14:07たいしたこと言ってないよw
プログラミングでは乱数の生成が意外と難しい
http://kamome.2ch.net/test/read.cgi/news/1280986663/
0278デフォルトの名無しさん
2010/08/06(金) 18:40:07お手軽にそれなりの作れるったらメルセンヌ・ツイスタかね
0279デフォルトの名無しさん
2010/08/06(金) 18:46:47乱数は学生のおもちゃ
0280デフォルトの名無しさん
2010/08/06(金) 19:06:26プロの方々は乱数も自作されてるんだ。
流石だ・・・。
0281デフォルトの名無しさん
2010/08/06(金) 19:06:550282デフォルトの名無しさん
2010/08/06(金) 19:09:38興味もつのは中二病かそれを専門で扱って金にしてる研究者
0283デフォルトの名無しさん
2010/08/06(金) 19:11:500284デフォルトの名無しさん
2010/08/06(金) 19:12:460285デフォルトの名無しさん
2010/08/06(金) 19:53:14いつまで火病ってるんだよ
0286デフォルトの名無しさん
2010/08/06(金) 20:27:20軽いけどランダム性あんまりよろしくない。
0287デフォルトの名無しさん
2010/08/06(金) 20:42:17Artistic Licenseってなんお?
0288デフォルトの名無しさん
2010/08/06(金) 21:06:08暗号化に使えるぐらい厳密なやつが欲しいならRNGCryptoServiceProvider
0289デフォルトの名無しさん
2010/08/06(金) 21:09:360290デフォルトの名無しさん
2010/08/06(金) 22:08:05>>285
0291デフォルトの名無しさん
2010/08/06(金) 22:09:280292デフォルトの名無しさん
2010/08/06(金) 22:21:560293デフォルトの名無しさん
2010/08/06(金) 22:57:59複数起動は禁止しましたが、複数のパスは相変わらず受け取れません
0294デフォルトの名無しさん
2010/08/06(金) 23:32:25やはりそういうことですか。
ありがとうございます。
フルパスで書くことにしようと思います。
また追加で質問があるのですが、
MessageIDがyyyymmddhhmm.********@メールサーバ@マシン名
と@が2つついてしまいます。
SmtpClientでMessageIDの設定など出来ますでしょうか?
0295デフォルトの名無しさん
2010/08/07(土) 00:12:170296デフォルトの名無しさん
2010/08/07(土) 00:25:240297デフォルトの名無しさん
2010/08/07(土) 00:29:54>>285
0298デフォルトの名無しさん
2010/08/07(土) 00:36:100299デフォルトの名無しさん
2010/08/07(土) 02:07:51合同法で出した乱数だと同じ数字の連続ってないよね
っつーか合同法で同じ数字が連続したら死ぬまでその数字しか出ないか
0300デフォルトの名無しさん
2010/08/07(土) 02:19:580301デフォルトの名無しさん
2010/08/07(土) 02:26:21死んだ後はどんな数字が出るんだろう
0302デフォルトの名無しさん
2010/08/07(土) 02:28:470303デフォルトの名無しさん
2010/08/07(土) 04:10:37ふと思ってオリジナルのxorshiftでやってみたら
516320272回目に直前の値と一致した
0304デフォルトの名無しさん
2010/08/07(土) 09:04:390305デフォルトの名無しさん
2010/08/07(土) 09:25:52マネージドな範囲では唯一の方法だろ
アンマネージメモリ使ったってメモリアクセスの速度自体は変わらないし
GCのパフォーマンスが悪くなるだけだしUnmanagedMemoryStreamがあるし
0306デフォルトの名無しさん
2010/08/07(土) 09:35:58ありがとう
コピーがネック…
0307デフォルトの名無しさん
2010/08/07(土) 09:39:08とりあえず何がやりたいのか話してみろ。
0308デフォルトの名無しさん
2010/08/07(土) 09:46:12何がやりたいのか知らないけど、ほんとにアプリケーションのパフォーマンスについて
コピーのコストがネックだと確認したの?
ほんとにそれがネックならいくらでも改善方法はあるだろうけど
アプリケーションとして動作した時の計測を行わずにパフォーマンスを気にするのは全く無意味
0309デフォルトの名無しさん
2010/08/07(土) 10:11:01ステートをそのまま出力しないものが多いんじゃない?
中間のビットを抽出してるとかさ。
そういうのだと、周期は結果のビットパターンより長くなるから、同じ数値が出ることもある。
0310デフォルトの名無しさん
2010/08/07(土) 10:14:08バッファの拡張ではコピーが発生するというのはあるし、
サイズが大きくなるとOutOfMemoryExceptionが発生しやすかったりもする。
0311デフォルトの名無しさん
2010/08/07(土) 10:14:19乱数なら試行を続けていれば連続で同じ数字が出て当たり前
0312デフォルトの名無しさん
2010/08/07(土) 10:19:540313デフォルトの名無しさん
2010/08/07(土) 10:21:47メモリストリームを自作して使ったりすることもある。
0314デフォルトの名無しさん
2010/08/07(土) 10:22:18アンカー付けて喋れよ。
0315デフォルトの名無しさん
2010/08/07(土) 10:37:410316デフォルトの名無しさん
2010/08/07(土) 10:56:280317デフォルトの名無しさん
2010/08/07(土) 11:01:270318デフォルトの名無しさん
2010/08/07(土) 11:54:26ばらつきに限って言えば優良な乱数ちうことな
0319デフォルトの名無しさん
2010/08/07(土) 12:24:52S(n+1)=(S(n)+1) mod 0x100000000
でもOKだな
0320デフォルトの名無しさん
2010/08/07(土) 12:25:03できてしまうため乱数ではない。
カウンティングできたら乱数として失格。
0321デフォルトの名無しさん
2010/08/07(土) 12:27:530322デフォルトの名無しさん
2010/08/07(土) 12:37:520323デフォルトの名無しさん
2010/08/07(土) 12:37:590324デフォルトの名無しさん
2010/08/07(土) 12:39:500325デフォルトの名無しさん
2010/08/07(土) 12:40:07小学生かよ
0326デフォルトの名無しさん
2010/08/07(土) 12:40:44と書こうとした。
本当にそうなのかは想像なので確実じゃないけど、納得出来るから自分ならそうする。
0327デフォルトの名無しさん
2010/08/07(土) 12:45:12乱数の本でも読んで「俺ってばこんな本読んで頭良い!」ってやりたいんだろ
端から見れば滑稽なだけなのに気づいてもない
0328デフォルトの名無しさん
2010/08/07(土) 13:00:190329デフォルトの名無しさん
2010/08/07(土) 13:05:21正直、そういう僻みがましいタイプもかなり滑稽だぞw
自分が知らねえ、興味もねえことなら普通に無視して流せがいいのに、
自分の学力に自信がない僻み野郎に限ってノコノコでしゃばってきて、で
「俺のコンプレックスを刺激する奴って滑稽だよな(プ」とか言ってやがる。
滑稽なのはお前の方だろってw
0330デフォルトの名無しさん
2010/08/07(土) 13:06:410331デフォルトの名無しさん
2010/08/07(土) 13:07:300332デフォルトの名無しさん
2010/08/07(土) 13:09:56高学歴のマルチスレッド話
0333デフォルトの名無しさん
2010/08/07(土) 13:11:190334デフォルトの名無しさん
2010/08/07(土) 13:14:43マルチスレッドというか並列計算は一部の人間しかついてこれなかったしなw
東大じゃ今は必須スキルなんだぜ
おっとこんな事言ったら俺の学歴がばれちまうなw
0335デフォルトの名無しさん
2010/08/07(土) 13:15:350336デフォルトの名無しさん
2010/08/07(土) 13:20:35馬鹿か
悪魔の証明を盾にあーだこーだ言ってるだけで実のない議論じゃねぇか
馬鹿学生の与太話は隔離スレでやれ
0337デフォルトの名無しさん
2010/08/07(土) 14:08:370338デフォルトの名無しさん
2010/08/07(土) 15:21:34もしそうなら全てのアプリ共通にするにはどうすればよいのでしょうか?
0339デフォルトの名無しさん
2010/08/07(土) 15:22:240340デフォルトの名無しさん
2010/08/07(土) 16:02:42必要なのはアプリ毎だったのでとりあえず安心しました。
ありがとう。
0341デフォルトの名無しさん
2010/08/07(土) 16:32:30それって試せばすぐ分かることじゃないのか
こんなところで質問する方がずっと面倒だと思うんだが....
0342デフォルトの名無しさん
2010/08/07(土) 16:33:38多重起動させた同じアプリ間で共有するには>>339
一応誤解しないように補足
0343デフォルトの名無しさん
2010/08/07(土) 16:34:38質問スレや質問フォーラムはどこもそんな感じ
0344デフォルトの名無しさん
2010/08/07(土) 16:52:240345デフォルトの名無しさん
2010/08/07(土) 17:02:54コンテキストメニューの当たり前の動作。
0346デフォルトの名無しさん
2010/08/07(土) 17:12:08正攻法じゃなくて対症療法なら知ってる。
VBには多重起動を禁止した上で、後から起動されようとした時に指定された
コマンドライン引数を横取りする仕組みがあるんだが、同じことがC#でも一応可能らしい。
多重起動禁止でもよいならこれで一応いけるのでは。
http://www.atmarkit.co.jp/fdotnet/dotnettips/663nextinstarg/nextinstarg.html
http://blogs.dion.ne.jp/anis7742/archives/6905607.html
0347デフォルトの名無しさん
2010/08/07(土) 17:14:00これって全プラットフォームで使える物なのかな?
0348デフォルトの名無しさん
2010/08/07(土) 17:22:24そう言ったら信用して使うの?w
まず自分で試せ
0349デフォルトの名無しさん
2010/08/07(土) 17:26:33信用するから聞いてるのさ
0350デフォルトの名無しさん
2010/08/07(土) 19:48:39多重起動禁止が出来ているなら答えは目の前にある
ヒント:プロセス間共有メモリ
0351デフォルトの名無しさん
2010/08/07(土) 23:27:07アプリケーションドメインごとじゃないのか
0352デフォルトの名無しさん
2010/08/08(日) 00:24:55質問だけしてトンズラとか、感じ悪い
0353デフォルトの名無しさん
2010/08/08(日) 03:16:11今、出先なので帰ったらパイプでも使って実装してみますね
0354デフォルトの名無しさん
2010/08/08(日) 21:24:57場合にifを使わないで計算で求めるにはどうすればよいでしょうか?
0355デフォルトの名無しさん
2010/08/08(日) 21:26:570356デフォルトの名無しさん
2010/08/08(日) 21:28:160357デフォルトの名無しさん
2010/08/08(日) 21:30:370358デフォルトの名無しさん
2010/08/08(日) 21:31:00こういう状況よくあるから制御文を使わないで計算だけで
済ませられないかと考えていました。
失礼しました。
0359デフォルトの名無しさん
2010/08/08(日) 21:42:39普通に比較をintにキャスト。
0360デフォルトの名無しさん
2010/08/08(日) 21:48:560361デフォルトの名無しさん
2010/08/08(日) 21:52:390362デフォルトの名無しさん
2010/08/08(日) 21:53:04boolをintに直接キャストするには *(int*)(void*)&boolValue とする必要がある
>>360
Math.Signは0より大きい場合1だぞ
0363デフォルトの名無しさん
2010/08/08(日) 21:55:101引いて2の商を取るだけでしょw
どんだけ知恵がないんだ
0364デフォルトの名無しさん
2010/08/08(日) 21:57:02比較をメソッドに出してるだけだから答えになってないし
0365デフォルトの名無しさん
2010/08/08(日) 21:59:01C#は演算子を含め全ての操作はメソッドですw
0366デフォルトの名無しさん
2010/08/08(日) 22:00:040367デフォルトの名無しさん
2010/08/08(日) 22:02:34確かに違うなw
すまんかった
0368デフォルトの名無しさん
2010/08/09(月) 19:03:52List<T>コンストラクタにはIEnumerable<T>引数に取れる奴があるけども、
これでコピーされるのは参照だけ?
それともちゃんとTの複製が新たに作られるの?
0369デフォルトの名無しさん
2010/08/09(月) 19:21:37仮にTの複製を作ると仮定する。
TがIClonableを実装してなかったらどうするの?
そういうクラスのリストは作れません、ってか。
そんな不合理なことすると思います?
0370デフォルトの名無しさん
2010/08/09(月) 20:00:57ちょっと調子乗ったアホが高飛車に答えてしまったようですみませんなww
0371デフォルトの名無しさん
2010/08/09(月) 20:03:04馬鹿じゃないのか。
0372デフォルトの名無しさん
2010/08/09(月) 20:07:040373デフォルトの名無しさん
2010/08/09(月) 20:08:15っていう質問自体合理性を欠いてるんじゃあないのww
0374デフォルトの名無しさん
2010/08/09(月) 20:08:58面白いねーガキ臭いねー
馬 鹿 じ ゃ な い の
0375デフォルトの名無しさん
2010/08/09(月) 20:09:49/\___/\
/ / ヽ ::: \
| (●), 、(●)、 | / ̄ ̄ ̄ ̄ ̄ ̄ ̄
| ,,ノ(、_, )ヽ、,, | < まーたはじまった
| ,;‐=‐ヽ .:::::| \_______
\ `ニニ´ .:::/
/`ー‐--‐‐―´´\
0376デフォルトの名無しさん
2010/08/09(月) 20:36:11あれってC#でも実現可能ですか?
でも、もしやるとしたら、リッチテキストとかではなく、
自分で直接描画とかそんな感じですかね?
0377デフォルトの名無しさん
2010/08/09(月) 20:45:530378デフォルトの名無しさん
2010/08/10(火) 01:19:25AzukiっていうC#で書かれたフリーのテキストエディタエンジンがあって
ソースも公開されているから、参考にしてみては?
0379デフォルトの名無しさん
2010/08/10(火) 10:13:03綺麗にコンポーネント分けされてて流用組み込みサンプルもたくさん付いててすばらしい
0380デフォルトの名無しさん
2010/08/10(火) 10:33:070381デフォルトの名無しさん
2010/08/10(火) 10:35:46ソースコード混ぜちゃダメ
0382デフォルトの名無しさん
2010/08/10(火) 12:34:19文句言ってきたら「嫌ならソース公開すんなバーカ」と言えばヨシ
0383デフォルトの名無しさん
2010/08/10(火) 12:43:360384376
2010/08/10(火) 12:47:34Azuki見てみました。API使って自分で描画してるみたいですね。
参考になりました。ありがとうがざいます。
>>379
これはすごいですね。
C#でここまでできますか!!
0385デフォルトの名無しさん
2010/08/10(火) 12:58:540386デフォルトの名無しさん
2010/08/10(火) 13:01:430387デフォルトの名無しさん
2010/08/10(火) 13:46:48COM interopの化け物だけど
0388デフォルトの名無しさん
2010/08/10(火) 21:16:52マジもくそも、今 Windows 向けの GUI 書くならほとんど C#。
MS 製品もどんどん WPF 化されていってるし。
0389デフォルトの名無しさん
2010/08/10(火) 21:54:42少なくともアイコンはVSデフォルトのへんなのだった。
0390デフォルトの名無しさん
2010/08/10(火) 22:21:33近所の病院ではVB6製のアプリが普通に動いている
0391デフォルトの名無しさん
2010/08/10(火) 23:31:270392デフォルトの名無しさん
2010/08/11(水) 01:20:550393デフォルトの名無しさん
2010/08/11(水) 02:32:130394デフォルトの名無しさん
2010/08/11(水) 09:20:42スプリッタが使いづらいというかどういう風にやれば
Formの物と同じ使い方ができるかわからない
参考サイトないですか?
0395デフォルトの名無しさん
2010/08/11(水) 09:42:570396デフォルトの名無しさん
2010/08/11(水) 10:20:13凄く楽が出来る
0397デフォルトの名無しさん
2010/08/11(水) 11:17:19ほんと一長一短
俺はWindowsフォームアプリに一部WPFコントロールを貼り付けてる
0398デフォルトの名無しさん
2010/08/11(水) 13:08:58左にリスト、右にリッチテキスト置きたいだけなのにやり方が分かりません
両方ともスプリッタにドッキングさせて左を固定パネルにしたいです
なぜかグリッドスプリッタが長方形になって困っています
0399デフォルトの名無しさん
2010/08/11(水) 22:49:150400デフォルトの名無しさん
2010/08/11(水) 22:57:14リストと一緒のカラムにスプリッタ置け
0401デフォルトの名無しさん
2010/08/12(木) 09:25:490402デフォルトの名無しさん
2010/08/12(木) 09:29:010403デフォルトの名無しさん
2010/08/12(木) 10:04:460404デフォルトの名無しさん
2010/08/12(木) 10:17:02>>402 の言う方法で使えなくはないけど、ポインター使う場面ほとんどないよ。
ポインターの代わりになる機能がそろってる。
0405デフォルトの名無しさん
2010/08/12(木) 21:46:01いつの間にか登録必須になってました
できることなら登録せずにコンパイラを入手したいのですが
ミラーとかありますかね?検索してもなかなかヒットしなくて・・・
0406デフォルトの名無しさん
2010/08/12(木) 21:49:35ポインタは高速化したいときぐらいかな。
0407デフォルトの名無しさん
2010/08/12(木) 21:54:25ここはC#スレなんで、スレ違いです。
0408デフォルトの名無しさん
2010/08/12(木) 22:04:410409デフォルトの名無しさん
2010/08/12(木) 22:07:040410デフォルトの名無しさん
2010/08/12(木) 22:44:55失礼
ガチで間違えました
0411デフォルトの名無しさん
2010/08/12(木) 22:45:54>基礎になる接続が閉じられました: 送信時に、予期しないエラーが発生しました。
どうにも本日適用されたWindowsUpdateが原因のようです。
WindowsUpdateを自動更新にしている自分のPCや友人の環境でも出ていますが、
WindowsUpdateを手動更新にしていてまだ更新を実行していないPCではエラーが発生しませんでした。
解決策をご存知の方がいらっしゃったらご教示いただけないでしょうか?
よろしくお願いします。
HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create(url);
WebResponse res = req.GetResponse();
0412デフォルトの名無しさん
2010/08/12(木) 22:58:43あったなー
ネイティブじゃないけど
0413411
2010/08/12(木) 23:05:37プログラムの追加と削除からKB980436を削除したら>>411のエラーは出なくなりました。
しかし使ってる人全てにこれを削除してもらうわけにもいきません。
どなたか回避策をご存知ありませんでしょうか?
0414デフォルトの名無しさん
2010/08/12(木) 23:13:180415411
2010/08/12(木) 23:30:22いくつか試してみたところ、特定のサイトのhttps通信のみでエラーが出るようです。
具体的にちょっと出してしまいますが
○http://www.pangya.jp/
○https://www.pangya.jp/
○http://www.gamecity.ne.jp/
×https://www.gamecity.ne.jp/nolatweb/
一番下のサイトでだけ発生するみたいです。
ブラウザでは普通に表示できるのですが。
0416デフォルトの名無しさん
2010/08/12(木) 23:34:27WM_PAINTやらWM_CREATEやらのメッセージIDが定義されているクラスライブラリがあれば使いたいのですが、
こういう場合、皆さんはどうされてます?&存在している場合はリンクを教えて頂きたいです。
0417411
2010/08/12(木) 23:40:57以下のソースでエラーが発生しなくなりました。
ヒントをくださった>>414さんありがとうございます。
HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create(url);
System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Ssl3;
WebResponse res = req.GetResponse();
0418デフォルトの名無しさん
2010/08/12(木) 23:42:560419デフォルトの名無しさん
2010/08/12(木) 23:48:06これでいいんじゃあないでしょうか
0420デフォルトの名無しさん
2010/08/13(金) 00:06:25NativeMethods.cs
SafeNativeMethods.cs
UnsafeNativeMethods.cs
0421416
2010/08/13(金) 00:44:48書き込みありがとうございます。
>>419氏のpinvoke.netに、wmメッセージの変換コードがあったので、これを使いたいと思います。
ttp://www.pinvoke.net/default.aspx/Constants/WM.html
>>420氏のファイル名は検索してみたのですが、イマイチよく分かりませんでした・・・。
大抵は、そのようなクラス名のファイルに、ラッパー用のコードを書くという感じなのかな?という認識でいてますが
どうも有り難うございました。
0422デフォルトの名無しさん
2010/08/14(土) 08:59:50取得できるのでしょうか?
御存じの方、お教え下さい。
0423デフォルトの名無しさん
2010/08/14(土) 09:34:400424デフォルトの名無しさん
2010/08/14(土) 10:08:49OLEオートメーションですね。
Excel.OLEObject chk1 = (Excel.OLEObject)oSheet.CheckBoxes("CheckBox1");
でしょうか?
0425デフォルトの名無しさん
2010/08/14(土) 10:11:00"HRESULT からの例外: 0x800A03EC"
のエラーが出てしまうのですが。
0426デフォルトの名無しさん
2010/08/14(土) 11:16:11初心者スレ行けよ。
0427デフォルトの名無しさん
2010/08/14(土) 11:40:18可読性か著しく低いんですけど
0428デフォルトの名無しさん
2010/08/14(土) 11:43:32べつに低くはないだろ。
0429デフォルトの名無しさん
2010/08/14(土) 11:43:530430デフォルトの名無しさん
2010/08/14(土) 11:45:380431デフォルトの名無しさん
2010/08/14(土) 11:46:480432デフォルトの名無しさん
2010/08/14(土) 11:47:13現在のソースコードは、普通のテキストエディタや、紙に印刷して読む時代ではありません。
読みたければVisual Studioをインストールしましょう。
0433デフォルトの名無しさん
2010/08/14(土) 11:48:02とか使うやつは、単なる馬鹿。
0434デフォルトの名無しさん
2010/08/14(土) 11:50:08やるだろ、普通に。
0435デフォルトの名無しさん
2010/08/14(土) 11:51:01ないし、型推論のある言語はむしろそれが売りみたいに言われてるしな。
でもC#でvar使うと、そんなの知らないオッサンとか苦情言ってきて
コーディングルールで使用禁止とかされるのが目に見えるようだ。
0436デフォルトの名無しさん
2010/08/14(土) 13:11:17やらねーよ
0437デフォルトの名無しさん
2010/08/14(土) 13:14:34>型宣言のない動的型の言語で、型宣言のないのが欠点って言われることはないし
それはないw
っていうか君もそんなこと言ってるようじゃ、君自身が「そんなの知らないと苦情言うオッサン」
の仲間なんじゃないのか。
0438デフォルトの名無しさん
2010/08/14(土) 13:26:00言われないね。
動的型の言語で型宣言を追加したのって、センスないPHPくらいじゃないか。
ほかの言語は、そんなことまったく話題にならない。
0439デフォルトの名無しさん
2010/08/14(土) 13:29:400440デフォルトの名無しさん
2010/08/14(土) 13:31:15var hage = 1;
とか、普通にやるね。
型を一々書くのが読みやすさにつながる思っていた時もありました。
実際にvarで徹底してみると、別に読みやすさに変わらない、
むしろ視覚上スッキリするので読みやすくなったと思った。
ScalaとかF#は全部型推論でやってるわけだし、
動的言語はもちろん型宣言なんてないわけだしねー。
0441デフォルトの名無しさん
2010/08/14(土) 13:32:17しょうもない話を続けるの止めてくれないか?オッサン方
0442デフォルトの名無しさん
2010/08/14(土) 13:35:160443デフォルトの名無しさん
2010/08/14(土) 13:37:46- 今更言っても仕方がない
- そもそも型の区別を機械に頼らなければならなほど複雑なコードが従来
書かれなかった。
というだけでしょ。
問題がないのではなく、問題が顕在化するような使い方がされない(あるいは
>>439が言うように「できない」)だけ。
>>441
お前さんの話がいちばん「しょうもない」
下らない奴だな
0444デフォルトの名無しさん
2010/08/14(土) 13:40:27現実でもそんな性格してるの?
0445デフォルトの名無しさん
2010/08/14(土) 13:41:06プログラマは陰険だからな
0446デフォルトの名無しさん
2010/08/14(土) 13:41:55動的型のような手軽さと、静的型の堅さを両方かねそなえてる。
0447デフォルトの名無しさん
2010/08/14(土) 13:42:260448デフォルトの名無しさん
2010/08/14(土) 13:44:39おっさんがうじゃうじゃいるから、C#の型推論も使うなっていうやつ
いなくならないだろな。
0449デフォルトの名無しさん
2010/08/14(土) 13:49:260450デフォルトの名無しさん
2010/08/14(土) 14:03:46if(a==2)
{
a=3;
}
else if(a<2)
{
a=5;
}
else
{
a=7;
}
とか書くわけか
読みたくねぇ
0451デフォルトの名無しさん
2010/08/14(土) 16:01:23ガード句の名のもとに
void Hoge(
string arg1,
int arg2)
{
if(arg1 == null)
{
throw Exception
}
if(arg1.length == 0)
{
throw Excpetion
}
if(arg2 == 0)
{
throw Exception
}
if( // こんなのがいっぱい続いてる)
// 実際の処理はたったの一行
}
とかいう書き方する人がいて大変困ってたり。
コードが横に伸びるのを気にするくせに、縦に無駄に長いのは全く気にしない謎。
0452デフォルトの名無しさん
2010/08/14(土) 16:02:16それ条件演算子使って試しに書いてみな。
0453デフォルトの名無しさん
2010/08/14(土) 16:06:020454デフォルトの名無しさん
2010/08/14(土) 23:53:56無理やり全部三項演算子使うのは馬鹿だと思うけど
絶対使うなってのも同じぐらい馬鹿だと思う。
var は初期化がセットになってない場合はなんだかわからんからキモいなあ。
0455デフォルトの名無しさん
2010/08/15(日) 00:21:180456デフォルトの名無しさん
2010/08/15(日) 00:28:52俺も思った。
0457デフォルトの名無しさん
2010/08/15(日) 00:38:14まぁどうでもいいね…
0458デフォルトの名無しさん
2010/08/15(日) 03:48:19少なくともお前らより頭の良い人間がこれを実装したのだからな。
0459デフォルトの名無しさん
2010/08/15(日) 04:15:270460デフォルトの名無しさん
2010/08/15(日) 04:23:260461デフォルトの名無しさん
2010/08/15(日) 08:46:02本当にvar化ばっかりだな。
0462デフォルトの名無しさん
2010/08/15(日) 09:08:28>>461
>>461
0463デフォルトの名無しさん
2010/08/15(日) 10:47:54やつって「ヘタクソにあわせて書いてるんだよ」
「下手には有効なスタイルなんだよ」みたいにいいわけをはじめるよな。
コーディングスタイルに上級者用、ヘタクソ用なんてないよ。
0464デフォルトの名無しさん
2010/08/15(日) 10:50:570465デフォルトの名無しさん
2010/08/15(日) 10:55:13君の場合は日本語のスタイルも見直した方がよさそうだな。
日本語が文字通りcodeになってるw
0466デフォルトの名無しさん
2010/08/15(日) 10:58:33「おまえ日本語おかしい」だけしか言えないやつって、逆に頭悪そう。
0467デフォルトの名無しさん
2010/08/15(日) 11:00:39ないよ。
上級者→高度なわかりにくいコード
とか思ってる?
実際は上級者のほうが読みやすさに対して気をつかってるよな。
0468デフォルトの名無しさん
2010/08/15(日) 11:02:13反論、か。
素敵な幸せ回路をお持ちだな
0469デフォルトの名無しさん
2010/08/15(日) 11:09:19負けを認めてるも同然ですね。
0470デフォルトの名無しさん
2010/08/15(日) 11:15:460471デフォルトの名無しさん
2010/08/15(日) 11:16:17なんか違う話になってる。
高度でわかりにくいコードがあったとして、
上級者は理解できる、初心者は理解できない、とすると、
初心者にあわせて、「高度でわかりにくいコード」を禁止する、
というのは当然の話。
0472デフォルトの名無しさん
2010/08/15(日) 11:19:31どう初心者に分かりやすく書くかという話であって
ダサいとか綺麗とか言うのとは別の話
0473デフォルトの名無しさん
2010/08/15(日) 11:21:11「なんか違う話」をしてるのは君じゃないの?
>>463の"code"は「コーディングスタイル」の話じゃないのか
まあcodeだから違うのかもしれんがw
0474デフォルトの名無しさん
2010/08/15(日) 12:00:20あるよ。
コーディング規約に限らず、全ての物事に対応できる万全のものはない。
こう言う本質的なことを理解できないやつが多いな。
例えば、全員天才のプロジェクトだったら、
「コーディング規約を作らないのがコーディング規約」でもいいんだよ。
0475デフォルトの名無しさん
2010/08/15(日) 13:30:00→ラムダ式分からねーよ、デリゲート分からねーよ
→書き直せ
→forとifでダラダラと…… これ読みやすいのかね(初心者でも読めるのは確かだけど)
ということになったことがあるので、「読みやすさ」と漠然と言われても、
どこまでの初心者を指して合わせるべきなのか困るところではある。
デリゲートぐらいは、初心者を楯にしてないで勉強してくれ、と思った。
0476デフォルトの名無しさん
2010/08/15(日) 13:43:120478デフォルトの名無しさん
2010/08/15(日) 13:59:02その読みやすさの感覚が普遍じゃないから規則があるんだよ。
規則以外の事書くなよって言うのと同時に、規則程度のことは覚えろやって言ってるんだよ。
そんなことも分からん時点で上級者じゃねーだろ。
下っ端じゃなくなってちょっと調子に乗り始めた馬鹿コーダーだ。
0479デフォルトの名無しさん
2010/08/15(日) 14:07:590480デフォルトの名無しさん
2010/08/15(日) 14:09:290481デフォルトの名無しさん
2010/08/15(日) 14:27:02値を元にキーを調べるのは
keyvaluepair を取り出して一つ一つ調べるしかないのかな
0482デフォルトの名無しさん
2010/08/15(日) 14:28:430483デフォルトの名無しさん
2010/08/15(日) 14:29:16Dictionaryを2つ使ってどちらからも引けるクラスを作ってる
0484デフォルトの名無しさん
2010/08/15(日) 14:35:51あぁ、なるほど。そういう手もありますね。
0485デフォルトの名無しさん
2010/08/15(日) 15:49:44そういう時って、自分が分かってないくせに「読めないやつがいるから」って
他人事みたいにいうのな。
だめなヤツって表面的な理解しかできてないのにサンプルやらテンプレートを
あてがっておけば、それなりにコード書いちゃうから、逆に考えたら多少高度
なコードでも(そこらあたりのレベルで)適応できるはずだから、そんな気遣い
しなくていいのにな。
0486デフォルトの名無しさん
2010/08/15(日) 15:51:57現状仕方なく使ってることの方が多い
0487デフォルトの名無しさん
2010/08/15(日) 15:52:28やべぇもうたまらん。
0488デフォルトの名無しさん
2010/08/15(日) 15:57:08でもラムダのほうが楽じゃない?
0489デフォルトの名無しさん
2010/08/15(日) 16:14:300490デフォルトの名無しさん
2010/08/15(日) 16:24:14ラムダは遅延実行させるのが目的だから、上から下への実行順序の常識を覆すのが初めて使う人が面食らうんじゃないかな。
使い始めるとすごい便利なんだけどな。
0491デフォルトの名無しさん
2010/08/15(日) 17:09:500492デフォルトの名無しさん
2010/08/15(日) 17:35:47データセットってどの程度の値の保持まで使えるんでしょうか。
具体的には5行10000列3シート分のデータを保持して色々加工できるようにしたいのですが、
この場合データセットに一括保持っていう考え方は一般的ですか。
0493デフォルトの名無しさん
2010/08/15(日) 17:39:040494デフォルトの名無しさん
2010/08/15(日) 17:41:43行が横だぞ
0495デフォルトの名無しさん
2010/08/15(日) 17:45:330496デフォルトの名無しさん
2010/08/15(日) 18:01:490497492
2010/08/15(日) 18:13:00>>493
Visual Studio使ってるんですが、SQLサーバとか外部でDB作って、
それにC#で接続して加工するってことですか?
0498デフォルトの名無しさん
2010/08/15(日) 18:30:36Excelで使ってたデータがどんなのかは知らないけど、ちゃんと正規化するようにね。
0500デフォルトの名無しさん
2010/08/15(日) 19:25:49楽勝だったと思う。
0501492
2010/08/15(日) 20:33:49そうなんですか。
ただ、3シート分あるので3倍はつらいですかね。
なるべくなら単純なのがいいので、データセットで作ってみて、
重かったら、DBを利用して組んでみたいと思います。
0502デフォルトの名無しさん
2010/08/15(日) 20:36:150503デフォルトの名無しさん
2010/08/15(日) 20:40:070504デフォルトの名無しさん
2010/08/15(日) 21:13:360505デフォルトの名無しさん
2010/08/16(月) 00:17:530506デフォルトの名無しさん
2010/08/16(月) 01:56:11お前がバカ
>"HRESULT からの例外: 0x800A03EC"
これで原因が分かるやつはいない。
0507デフォルトの名無しさん
2010/08/16(月) 05:54:290508デフォルトの名無しさん
2010/08/16(月) 12:43:45これはマクロやオートメーションで何にでも現れる実行時エラー(1004エラー)で、
エラーコード以外に付加情報がテキストで返されている。
そのテキストの情報も〜の操作が失敗しました〜程度の情報で
あまり役に立たないことがほとんど。
この辺までたどれたならいいんじゃないか。
0509デフォルトの名無しさん
2010/08/16(月) 16:09:24Encoding.GetEncoding("shift_jis")でEncoding取得して、
1〜0xfffeまでGetString()で回して重複除くと9417文字
JIS X 213は11223文字なので1800文字ちょい足りない
この足りない分は自前でなんとかするしかない?
0510デフォルトの名無しさん
2010/08/16(月) 20:10:360511デフォルトの名無しさん
2010/08/16(月) 23:22:16文字数だけでカウントしてるけど、それ外字とかも含んじゃってない?
JIS第三水準第四水準(6000文字ぐらい)− IBM拡張文字(500文字ぐらい) = 5500文字ぐらい
になると思うんだけど。
0512デフォルトの名無しさん
2010/08/17(火) 05:52:30サロゲーションペアとかも入れなきゃ。
半角カナとか全角記号とかって確か、FFFEまでの範囲に入ってない。
0513デフォルトの名無しさん
2010/08/17(火) 05:55:430514デフォルトの名無しさん
2010/08/17(火) 08:06:550515デフォルトの名無しさん
2010/08/17(火) 09:18:24全角英数はU+FF01〜U+FF5Eあたり。
半角カナはU+FF61〜U+FF9Fあたり。
http://unicode.org/charts/PDF/UFF00.pdf
0516デフォルトの名無しさん
2010/08/17(火) 12:25:42JIS X 0213はシフトJISにもマッピングされたハズ
Encoding的には丸ごと違う領域に行かされたかも
>>511
Winはかなり初期からNEC拡張外字をデフォルトで持っている
NEC外字はIBM外字を含む
0517デフォルトの名無しさん
2010/08/17(火) 13:37:46>>511の言ってる外字ってのはSJISで0xF040〜0xF9FCまで、
UnicodeにするとPUAのU+E000〜U+E757に変換される部分だろ。
それと、文字集合としてはIBM拡張文字⊃NEC選定IBM拡張文字だから
NEC外字はIBM外字を含む、は間違い。
0518デフォルトの名無しさん
2010/08/17(火) 13:54:410519デフォルトの名無しさん
2010/08/17(火) 13:57:22な漢字
0520デフォルトの名無しさん
2010/08/17(火) 14:05:47Shift_JIS-2004とかShift_JISX0213とかの事だろうけどWindowsではサポートしてない。
cp932と互換性ないから無駄な混乱引き起こすし。
誰かが作ったコンバータ拾ってくるか自前でやるしかない。
0521509
2010/08/17(火) 16:42:16結局自作しか無いか
0522デフォルトの名無しさん
2010/08/17(火) 17:07:54http://codezine.jp/article/detail/448?p=2
これ使いたいんだけどサイトの使用例
// コンストラクタ ( System.Uri 型を使用 )
HtmlConverter converter =
new HtmlConverter( new Uri( "http://codezine.jp/" ) );
// 生成された XmlDocument を取得
HtmlConverter convertedXmlDocument = converter.ToXmlDocument();
そのままビルドすると暗黙的な変換はできませんって怒られて、
XmlDocument型にすると例外で止まるんだけど、なんで駄目だかわかる人いますか。
環境はvs2008スタンダードで.NET Frameworkとかは最新アップデード済
ライブラリの呼び出し方よくわかってなくてネットで調べて、
using Cafera.Net11.Library.Text.Html;
つけてみたんだがこれで合ってますか。
0523デフォルトの名無しさん
2010/08/17(火) 17:25:53XmlDocument convertedXmlDocument = converter.ToXmlDocument();
これじゃダメなの?
0524デフォルトの名無しさん
2010/08/17(火) 17:35:33それでやるとライブラリー内でArgumentExceptionが例外投げて止まってしまいます。
自分が悪いのか例文が悪いのかライブラリーがおかしいのかさっぱりです。
0525デフォルトの名無しさん
2010/08/17(火) 17:38:110526デフォルトの名無しさん
2010/08/17(火) 17:42:510527デフォルトの名無しさん
2010/08/17(火) 17:46:290528デフォルトの名無しさん
2010/08/17(火) 17:47:470529デフォルトの名無しさん
2010/08/17(火) 17:49:040530デフォルトの名無しさん
2010/08/17(火) 17:49:340531デフォルトの名無しさん
2010/08/17(火) 17:52:36そうなんですかね。
CodeZineの記事になってるので自分の使い方が悪いんだと思ってました。
>>526
そうですね。ちょっと試してみます。
0532522
2010/08/17(火) 18:11:20残念ながら自分の変換したいサイトは無理でした。
加工して使うか、別のライブラリ探してみます。
みなさん相談ありがとうございました。
ちなみにHTMLからXMLへ変換するライブラリで他に知っている人いますか。
0533デフォルトの名無しさん
2010/08/17(火) 18:18:40InfoPathだかの…
まぁ自分は長年の付き合いでtidy使ってますが・・・
0534デフォルトの名無しさん
2010/08/17(火) 18:51:43DotNetZipは日本語ファイル名で更新かけると書庫がブチ壊れるので除外で
0535デフォルトの名無しさん
2010/08/17(火) 19:03:080536デフォルトの名無しさん
2010/08/17(火) 19:05:530537デフォルトの名無しさん
2010/08/17(火) 19:20:27http://hibari.2ch.net/test/read.cgi/tech/1280008155/60-80
0538デフォルトの名無しさん
2010/08/17(火) 19:37:12今出てる情報だけだと何とも。
http://ufcpp.spaces.live.com/blog/cns!5C622397E11C979D!1127.entry
Compiler as a Service やるけどまだもうちょっとかかる
要望こんなの出てるけど、追加するかどうかは未決定
0539デフォルトの名無しさん
2010/08/17(火) 20:19:59Compilerが自作できるみたいな感じですかねすごいですね
ありがとうございます
0540デフォルトの名無しさん
2010/08/17(火) 20:28:06名前からすると拡張子csダブルクリックでコンパイルされて直接実行できるようになるとかw
0541デフォルトの名無しさん
2010/08/17(火) 20:39:160542デフォルトの名無しさん
2010/08/17(火) 22:02:14新しいセキュリティーホールだぞそれ。
0543デフォルトの名無しさん
2010/08/17(火) 22:07:580544デフォルトの名無しさん
2010/08/17(火) 22:10:32具体的にどこら辺がセキュリティホールなの?
0545デフォルトの名無しさん
2010/08/17(火) 22:29:21C# とか VB のコンパイラーをとりあえず .NET 実装して、
内部的なデータとかまで含めてライブラリとして参照できるようにするとか。
>>541
コマンド呼び出すなら PowerShell 楽だけどもね。
スクリプト言語として使うといまいち・・・
>>543
cs ファイルのダブルクリックで直接実行ってことでしょ。
>>544
信頼されてないプログラムを意図せず実行しちゃう可能性上がるしね。
PowerShell もデフォルトでは書名のない ps1 ファイル実行できないし、
ファイルをダブルクリックするだけでは実行されないし。
0546デフォルトの名無しさん
2010/08/17(火) 22:41:40デフォルトの権限を適切にすれば、スクリプト言語と同じように使えるだろ。
0547デフォルトの名無しさん
2010/08/17(火) 22:52:25csダブルクリックで出来るん?おせーておせーて
0548デフォルトの名無しさん
2010/08/17(火) 23:10:46できるようにするのはプログラミングのたしなみがあるなら簡単だろ。
0549デフォルトの名無しさん
2010/08/17(火) 23:39:17要はファイルの関連づけでしょ。
インターネットでファイルダウンロードさせて
「開く」で開いたら「実行」されちゃうんだぜ。
0550デフォルトの名無しさん
2010/08/17(火) 23:45:55「できる・できない」と「する・しない」は別問題だろ。
PowerShell の厳しさ考えるに、するかどうかといわれるとしないんじゃね。
まあ、そこまで需要あるかがまずあやしいし<ソース配布・即実行。
0551デフォルトの名無しさん
2010/08/18(水) 07:16:07各種スクリプト言語やexeでそれができているのが問題ないなら問題ない。
問題あると思っているなら、現状に問題がある。
0552デフォルトの名無しさん
2010/08/18(水) 11:48:00exeだったら危ないかなと思って考えて実行するだろうけど
csファイルやvbファイルは気が緩む
一般人はCSファイルなんて知らないだろ?
0553デフォルトの名無しさん
2010/08/18(水) 13:05:24それをセキュリティホールとは言わねえだろ
0554532
2010/08/18(水) 13:30:20最近似たような質問あったのか。調べ足りませんでした。
SgmlReader使う方法で出来そうです。
教えてくれてありがとうございました。
0555デフォルトの名無しさん
2010/08/18(水) 13:41:550556デフォルトの名無しさん
2010/08/18(水) 15:19:34ヒューマンエラーは知ってるけど、ヒューマンミスは初めて聞いたわ。
また一つ知識が増えた。 さんくす。
0557デフォルトの名無しさん
2010/08/18(水) 15:25:14だからと言ってミスが無くなることは「絶対に」ない
●ミスを出来るだけ起こさない仕組み
●もしミスが起こっても問題を最小限に食い止める仕組み
が必要
0558デフォルトの名無しさん
2010/08/18(水) 22:15:22セキュリティリスクだね。
0559デフォルトの名無しさん
2010/08/19(木) 03:09:38ヒューマンミス
わろす
0560デフォルトの名無しさん
2010/08/19(木) 03:51:15例えば間違えて(注:1発だけなら誤射)うっかり核スイッチを
押しても発射されないのがいいソフト
0561デフォルトの名無しさん
2010/08/19(木) 04:35:360562デフォルトの名無しさん
2010/08/19(木) 07:08:50selectNodes("/hoge/fuga")
とすると複数の"fuga"ノードが返ってきますが
それを2個目の"fuga"ノードを取得するというのはどうすればいいでしょうか?
selectNodes("/hoge/fuga[2]")
こんな感じでできるとうれしいのですが。
0563デフォルトの名無しさん
2010/08/19(木) 07:59:440564デフォルトの名無しさん
2010/08/19(木) 08:16:13後出しですみません。
xpathのところで指定したいわけがありまして。
やはり無理ですかね。
0565デフォルトの名無しさん
2010/08/19(木) 08:29:470566デフォルトの名無しさん
2010/08/19(木) 08:38:54できました。さんくす。
0567デフォルトの名無しさん
2010/08/19(木) 15:57:49と同じ値をDataGridViewを使って取得したいのですがどうすればよいのでしょうか?
DataGridViewCellのGetContentBoundsでは同じ値にならないようでした。
0568567
2010/08/19(木) 17:18:34使い方間違ってるのでしょうか?
private void DataGridView1_CellPainting(object sender, DataGridViewCellPaintingEventArgs e)
{
DataGridView grid = sender as DataGridView;
Rectangle rect1 = e.CellBounds;
Rectangle rect2 = grid .GetCellDisplayRectangle(e.ColumnIndex, e.RowIndex,true); //違う
Rectangle rect3 = grid .GetCellDisplayRectangle(e.ColumnIndex, e.RowIndex,false); //違う
Rectangle rect4 = grid[e.ColumnIndex, e.RowIndex].GetContentBounds(e.RowIndex); //違う
}
0569デフォルトの名無しさん
2010/08/20(金) 22:25:39ttp://www.atmarkit.co.jp/fdotnet/csharp4/csharp4_02/csharp4_02_03.html
0570デフォルトの名無しさん
2010/08/20(金) 22:33:41ぶん殴っていいよな
0571デフォルトの名無しさん
2010/08/20(金) 22:33:440572デフォルトの名無しさん
2010/08/20(金) 22:57:01趣旨を考えろよ。
馬鹿なのか?
0573デフォルトの名無しさん
2010/08/20(金) 23:02:160574デフォルトの名無しさん
2010/08/20(金) 23:15:240575デフォルトの名無しさん
2010/08/20(金) 23:40:070576デフォルトの名無しさん
2010/08/20(金) 23:41:050577デフォルトの名無しさん
2010/08/20(金) 23:44:130578デフォルトの名無しさん
2010/08/20(金) 23:47:56だけで一行潰しちゃうひとって
0579デフォルトの名無しさん
2010/08/20(金) 23:49:56GNUに喧嘩を売っているのか?
0580デフォルトの名無しさん
2010/08/20(金) 23:54:42何をベーマガみたいな紙面節約してんの
0581デフォルトの名無しさん
2010/08/20(金) 23:56:56はぇ?
0582デフォルトの名無しさん
2010/08/21(土) 03:41:220583デフォルトの名無しさん
2010/08/21(土) 06:42:12字下げスタイルでWikipedia引けばわかる。
0584デフォルトの名無しさん
2010/08/21(土) 09:30:140585デフォルトの名無しさん
2010/08/21(土) 09:33:391024×1024の黒を数えるのに8秒もかかったり
わざわざ違和感ありそうなことをしてるな
0586デフォルトの名無しさん
2010/08/21(土) 09:36:570587デフォルトの名無しさん
2010/08/21(土) 09:37:40え
0588デフォルトの名無しさん
2010/08/21(土) 09:40:060589デフォルトの名無しさん
2010/08/21(土) 09:45:05とりあえずのコードってのはわかるけどさ
0590デフォルトの名無しさん
2010/08/21(土) 09:48:26間違ってはいないけどこの例では多分Bitmapの再読み込みも遅い原因の気がする(キャッシュはきいてるにしても)。
0591デフォルトの名無しさん
2010/08/21(土) 09:53:05教育用には、つけておいた方がいいだろうが。
0592デフォルトの名無しさん
2010/08/21(土) 09:58:36>intの加算ならlockいらない。
いやそれも間違ってるぞ。
ああ代わりにInterlocked使ったらって話か?
どっちにしても教育用コードで共有変数をタスクに参照渡しする時点で違和感ありありだけどね
0593デフォルトの名無しさん
2010/08/21(土) 10:01:490594デフォルトの名無しさん
2010/08/21(土) 10:06:54ここでの共有変数とは、タスク間共有変数という意味あいね。
0595デフォルトの名無しさん
2010/08/21(土) 11:01:11C#は、intの演算はアトミックが保証されているんじゃなかったっけ。
0596デフォルトの名無しさん
2010/08/21(土) 11:52:18それぞれのステップはアトミックだけど全体としてはそうじゃないから混同してはいけない
0597デフォルトの名無しさん
2010/08/21(土) 12:16:21.NETのバージョンは4.0からは.0が消えて4になったからそれと混同してるんだろうけど
C#は4.0が正しいはず
0598デフォルトの名無しさん
2010/08/21(土) 12:21:29intのincrement or decrementもアトミックでないんだな。はまりそうだ。
0599デフォルトの名無しさん
2010/08/21(土) 12:49:04機械語レベルでそんな単純な話とも思えんが....
例えば「読み取り」って言ったて変数のアドレスは固定じゃないわけで、
どうやったって変数のアドレスを取得する処理が入るはず
0600デフォルトの名無しさん
2010/08/21(土) 13:41:52機械語レベルでも、x86はリードモディファイライトの単発命令もあったりするから、
機械語レベルだと複数になるなんてのも実は本質じゃない。
たとえ単発命令になってもアトミックな保証はない。
0601595
2010/08/21(土) 13:51:240602デフォルトの名無しさん
2010/08/21(土) 14:15:14C#言語仕様では、参照型と32ビット以下のプリミティブ型およびそれらを基にした列挙型の
読み書きはアトミックでそれ以外は保証なし
実装がどうだろうと仕様は仕様
0603デフォルトの名無しさん
2010/08/21(土) 14:18:300604デフォルトの名無しさん
2010/08/21(土) 14:18:56>>602
それは、ld.locとかst.locがアトミックってことかな?<読み書きがアトミック。
0605デフォルトの名無しさん
2010/08/21(土) 14:19:47並列処理系の問題は実測難しいよ。
数百万回に1回しか起こらない問題とあったり、
稼働するCPUによってはそもそも起こらず、マシン変えたら起こるとかもあるし。
0606デフォルトの名無しさん
2010/08/21(土) 14:45:20C#の仕様だから、CLRの仕様は関係ない。
0607デフォルトの名無しさん
2010/08/21(土) 14:51:08スタックはスレッド別だからローカル変数の読み書きや加算演算自体にはそもそも問題自体が存在しない
わからないなら口出さなけりゃいいのに
0608デフォルトの名無しさん
2010/08/21(土) 15:09:07そのクラスのパブリックメンバにするのがいいのかな。
0609デフォルトの名無しさん
2010/08/21(土) 15:12:05スレッドAが変数Xを0から-1に書き換える時に、
スレッドBが並列でアクセスすると、
0か-1のどちらかの状態が読み取れることが保障されるというもの。
アトミックでないとするとそれはXが0xffff0000のように
半分だけ書き換わった状態がありえるということ。
スレッドAがXを0から-1に書き換えた直後に、
スレッドBかXを読み取った場合は
スレッドBが読み取ったXは0か-1であることは保障されるが、
確実に-1であるとは限らない。
0610デフォルトの名無しさん
2010/08/21(土) 15:14:54namespaceを共通にしていれば独立して宣言したほうが扱いやすいと思う。
0611デフォルトの名無しさん
2010/08/21(土) 15:33:15クラス定義するソースファイルで宣言すれば
混乱することはないかな。
0612デフォルトの名無しさん
2010/08/21(土) 15:34:23×確かにた方が扱いやすそう。
○確かにて独立させて宣言した方が扱いやすそう。
0613デフォルトの名無しさん
2010/08/21(土) 15:46:49C#では、その前提は使えないということ。
0614デフォルトの名無しさん
2010/08/21(土) 15:50:12Interlocked.Incrementを使うのが吉。
0615デフォルトの名無しさん
2010/08/21(土) 15:57:120616デフォルトの名無しさん
2010/08/21(土) 16:28:51??
0617デフォルトの名無しさん
2010/08/21(土) 16:34:100618デフォルトの名無しさん
2010/08/21(土) 16:50:09意味ないけど、空ループってラムダでどう書くの?
foreach (var x in Enumerable.Range(0, Int32.MaxValue))
;
System.Threading.Tasks.Parallel.ForEach(Enumerable.Range(0, Int32.MaxValue), ???);
???のとこ
0619デフォルトの名無しさん
2010/08/21(土) 16:51:03x86の場合アセンブラレベルのincやaddで直接メモリに加算が出来るが、
この加算はスレッドに対して安全ではない。
inc DWORD PTR [ebp-4]
バスロックしてしまえば一応大丈夫なはずだけど、一般的なのかは知らない。
lock inc DWORD PTR [ebp-4]
0620デフォルトの名無しさん
2010/08/21(土) 16:55:19そこにはAction<T>が来るから、こんな感じかな、(o) => { }
0621デフォルトの名無しさん
2010/08/21(土) 17:08:55ありがとう。これで、パラレル処理がかけるわ。
0622デフォルトの名無しさん
2010/08/21(土) 19:10:580623デフォルトの名無しさん
2010/08/21(土) 19:31:55質問と関係ないがParallelEnumerableってのもあるぞ。
0624デフォルトの名無しさん
2010/08/23(月) 09:28:42いや、言ってみただけです・・・
0625デフォルトの名無しさん
2010/08/23(月) 10:12:41public string Name { get; set; }
// ↑初期値をnullでなく空文字列にしたい。
0626デフォルトの名無しさん
2010/08/23(月) 10:51:110627デフォルトの名無しさん
2010/08/23(月) 13:16:16{
[DefaultValue("")]
public string Name { get; set; }
}
ではダメでした。
どうもコンストラクタで代入する以外にないようですね。
How do you give a C# Auto-Property a default value? - Stack Overflow
http://stackoverflow.com/questions/40730/how-do-you-give-a-c-auto-property-a-default-value
0628デフォルトの名無しさん
2010/08/23(月) 13:20:21コンパイラの負荷が大きくなりすぎるからやめた
らしい
0629デフォルトの名無しさん
2010/08/23(月) 18:05:38うん、コンストラクターで代入するしかない。
そしてその手は struct では使えない。
まあ、たびたび要望に上がるんで、将来のバージョンでプロパティの初期値設定構文追加されるかも。
>>628
なんせ、ラムダ式とイテレーターブロックはコンパイラが頑張ってコード生成してる機能の筆頭だもんね。
組み合わせると怖い。
0630デフォルトの名無しさん
2010/08/23(月) 22:02:140631デフォルトの名無しさん
2010/08/23(月) 22:49:12ソース出せ
0632デフォルトの名無しさん
2010/08/23(月) 22:50:300633デフォルトの名無しさん
2010/08/23(月) 23:11:370634デフォルトの名無しさん
2010/08/23(月) 23:31:43void な yield return できないこととか、ラムダと組み合わせれないことを指してなら、
「悩んだ」的なコメントは出てたような。
>>633
まあ、ラムダ式導入された今となってはね。
0635デフォルトの名無しさん
2010/08/24(火) 15:45:11実装に起因する変な制限を作ってしまったという意味では失敗
Javaのジェネリクスみたいなもんだな
0636デフォルトの名無しさん
2010/08/24(火) 20:54:030637デフォルトの名無しさん
2010/08/24(火) 21:58:29実装が難しいからこの場所では使えないとか、設計に思慮がない。
アンダースは賛成したのか?
0638デフォルトの名無しさん
2010/08/24(火) 23:11:20別にC#では珍しいことではないんじゃない?
0639デフォルトの名無しさん
2010/08/25(水) 00:59:44目先の便利さに目を奪われて後で後悔するのがC#
0640デフォルトの名無しさん
2010/08/25(水) 01:46:570641デフォルトの名無しさん
2010/08/25(水) 05:44:11yield以外になんかあるか?
0642デフォルトの名無しさん
2010/08/25(水) 09:15:03selectなどの順番がSQLと一致してない
0643デフォルトの名無しさん
2010/08/25(水) 12:52:050644デフォルトの名無しさん
2010/08/25(水) 13:09:390645デフォルトの名無しさん
2010/08/25(水) 13:57:26射影に使うのがSELECTで、選択に使うのがWHERE等の条件文なのな
批判するつもりはないがイミフ
射影する”要素を選んで”いるんだよキリ
0646デフォルトの名無しさん
2010/08/25(水) 19:18:17みたいな感じで、データバインドさせています。
DataGridView をいじった時は、List<MyClass> のほうに変更が反映されますが、
List<MyClass> のデータをいじると、BindingSource.EndEdit() を
呼ばないと変更が反映されません。
List<MyClass> の行を追加・削除した時は、
BindingSource.DataSource に再設定しないと、
変更が反映されません。
こんなものなのでしょうか、それとも私のやり方が間違っているのでしょうか。
0647デフォルトの名無しさん
2010/08/25(水) 22:06:29http://msdn.microsoft.com/ja-jp/library/3bsb3c8f.aspxを見て、
tcp = new TcpClient(new IPEndPoint(IPAddress.Parse(使いたいNICのIPアドレス), 0));
tcp.Connect(相手のIPアドレス, ポート番号);
としたのですが、Connect時にSystem.InvalidOperationExceptionが発生します。
ErrorCodeは10049です。
何か見落としている点がありましたらご指摘ください。
0648デフォルトの名無しさん
2010/08/25(水) 22:12:10有効なIPアドレスではありません
0650647
2010/08/26(木) 00:28:34おっと、補足。ほぼ間違いなく「相手のIPアドレス」は間違っていません。
tcp = new TcpClient();
tcp.Connect(相手のIPアドレス, ポート番号);
だと繋がります。
0651デフォルトの名無しさん
2010/08/26(木) 13:54:57どうすればよいでしょうか?
0652デフォルトの名無しさん
2010/08/26(木) 14:02:010653デフォルトの名無しさん
2010/08/26(木) 14:06:46>背景を変更せず文字だけ描写するには
これがちょっと意味わからん
0654デフォルトの名無しさん
2010/08/26(木) 14:08:240655デフォルトの名無しさん
2010/08/26(木) 14:10:180656デフォルトの名無しさん
2010/08/26(木) 14:16:220657651
2010/08/26(木) 14:16:34でした。
0658651
2010/08/26(木) 14:29:56ありがとう。
0659デフォルトの名無しさん
2010/08/26(木) 14:39:02gcc g++ ではできませんか?
0660デフォルトの名無しさん
2010/08/26(木) 14:42:460661デフォルトの名無しさん
2010/08/26(木) 14:43:32MSのcsc
Monoのやつ
.GNU Portable.NET Projectのやつ
くらいだろうか
コンパイラは
0662デフォルトの名無しさん
2010/08/26(木) 14:43:400663デフォルトの名無しさん
2010/08/26(木) 17:04:46使って苦労したとかあれば知りたいです。
0664デフォルトの名無しさん
2010/08/26(木) 19:20:020665デフォルトの名無しさん
2010/08/26(木) 22:34:23ToolStripMenuItemではMergeIndexとTextプロパティの値で同じものを置き換えるようですが、
セパレーターが複数あると、MergeIndexを別々にしても一番上のものだけを置き換えます。
どうにかMergeIndexが同じものを置き換えるようにしたいのですが方法はありますか?
0666デフォルトの名無しさん
2010/08/27(金) 00:29:38何を言ってるのかよく理解できないけど、
とりあえずMergeIndexの意味は、マージされた時のリスト(ドロップダウン)内の位置であって、
それ以上の意味があるようにはMSDNの記述からは読み取れないけど。
0667デフォルトの名無しさん
2010/08/27(金) 01:01:03というかMenuStripとかContextMenuStripとかって動作怪しくね?
0668デフォルトの名無しさん
2010/08/27(金) 07:31:38・インスタンスをロックする場合 (たとえば、C# の lock(this)、Visual Basic の SyncLock(Me)) には注意してください。アプリケーション内の、その型以外の他のコードがオブジェクトをロックすると、デッドロックが発生する場合があります。
これってどういう状況で起こるか分かりますか?
0669デフォルトの名無しさん
2010/08/27(金) 09:43:50人が二人いてご飯を食べようとしています
ご飯を食べるには箸が2本必要です
この時一人が両方の箸を持てば、ご飯を食べることができます
食べ終わった後、箸を手放して適切に処置(洗う)すれば、もう1人もご飯を食べることができます
もし1本ずつ持ってしまったら相手が手放すのを待った状態でデッドロックしてしまいます
0670デフォルトの名無しさん
2010/08/27(金) 09:48:220671デフォルトの名無しさん
2010/08/27(金) 09:55:34その例えはこの話について何も語らないかと
0672デフォルトの名無しさん
2010/08/27(金) 10:06:220673デフォルトの名無しさん
2010/08/27(金) 10:24:260674デフォルトの名無しさん
2010/08/27(金) 10:49:07MSらしいアホな仕様だな
0675デフォルトの名無しさん
2010/08/27(金) 11:16:090676デフォルトの名無しさん
2010/08/27(金) 11:18:40クラスBのインスタンスメソッドHogeの中でlock (this)が行われてるとして
利用者がBのHogeメソッドを呼ぶと、実質的にはlock (Bのインスタンス)を行ってることになるから
利用者がもしそのことを知らないとすると意図せずロックを取得してしまうことになる。
結果、デッドロックの危険性が高まる。
0677デフォルトの名無しさん
2010/08/27(金) 11:44:440678デフォルトの名無しさん
2010/08/27(金) 12:01:12元の文夜見てみろ
0679デフォルトの名無しさん
2010/08/27(金) 14:06:17うっかりHoge1のインスタンスを外部でlockした場合に予期せぬデットロックが起きる。
using System;
using System.Threading.Tasks;
class Hoge1 {
public void Go() { lock(this) { Console.WriteLine("Go Go !"); } }
}
class Program {
static void Main() {
var hoge = new Hoge1();
lock (hoge) { Parallel.Invoke( () => hoge.Go() ); }
}
}
0680デフォルトの名無しさん
2010/08/27(金) 14:07:010681デフォルトの名無しさん
2010/08/27(金) 14:09:53class Hoge2 {
private readonly object syncroot = new object();
public void Go() { lock(syncroot) { Console.WriteLine("Go Go !"); } }
}
外部からも使いたい場合はlock用のObjectと分かるようにプロパティする。
class Hoge3 {
private readonly object syncroot = new object();
public object SyncRoot { get { return syncroot; }}
public void Go() { lock(SyncRoot) { Console.WriteLine("Go Go !"); } }
}
外部から使う場合
lock (hoge.SyncRoot) { ...
と書く必要があるので目的がはっきりする。
0682デフォルトの名無しさん
2010/08/27(金) 14:31:470683デフォルトの名無しさん
2010/08/27(金) 14:41:190684デフォルトの名無しさん
2010/08/27(金) 16:17:27でもunchecked付けないでデバッグのときに他の部分のオーバーフローチェックが使えなくなるのは嫌
クラスやメソッド単位でunchecked付けるかプリプロセッサでまとめて指定させてほしい
0685デフォルトの名無しさん
2010/08/27(金) 16:27:520686デフォルトの名無しさん
2010/08/27(金) 16:33:520687デフォルトの名無しさん
2010/08/27(金) 18:46:00デバッグのときだけチェックするようにしとけば意図しないオーバーフローを検出できるでしょ
オーバーフローするのわかっててuncheckedを付けないのは貴重なデバッグの手段の一つを丸々捨ててることになる
0688デフォルトの名無しさん
2010/08/27(金) 19:39:05かなり奇特な分野のコードなんじゃないかとも思うけどね。
0689デフォルトの名無しさん
2010/08/27(金) 21:08:18なわけない。
0690デフォルトの名無しさん
2010/08/27(金) 21:11:130691デフォルトの名無しさん
2010/08/27(金) 21:14:59では具体的な実例をどうぞ。
しかし、いかにも馬鹿っぽい意見だな。
0692デフォルトの名無しさん
2010/08/27(金) 21:21:15unsinged char b = 128;
if( 255 <= (a+b) ) printf("xxxx");
a と b は事前の処理によって値が変る。
255か以上ならprintfを呼びたいが、
aとbを足しが結果が255以上の場合は呼ばれない。
0693デフォルトの名無しさん
2010/08/27(金) 21:22:31いかにもバカ
0694デフォルトの名無しさん
2010/08/27(金) 21:25:42必要だったやつがあったかどうかわかんねーや。
0695デフォルトの名無しさん
2010/08/27(金) 21:28:31それが実例のつもりか?
どこの世界にわざわざcharを使う馬鹿プログラマがいるか。
8bitマイコンで洗濯機のプログラムでも書いてるのかよ
0696デフォルトの名無しさん
2010/08/27(金) 21:37:11都度処理をするがな。
デフォをchecked にしても対処できんと思うが。
0697デフォルトの名無しさん
2010/08/27(金) 21:52:14だが比較演算では何bitであろうが起こりうるのは事実だ。
とくにループ内で加算するような用途の変数ではな。
ゆとりもほどほどにしとけw
0698デフォルトの名無しさん
2010/08/27(金) 21:54:100699デフォルトの名無しさん
2010/08/27(金) 22:01:36「起こりうる」ことは誰も否定してないの(当たり前)。
想定外のオーバーフローがバグの原因になるような場面の頻度を問題にしている。
断言するが、そんなものはそうはない。
しかし、ゆとりって言葉を安易に使う奴は例外なく馬鹿だな。
こういう奴は絶対に特亜がどうの創価がどうのマスゴミがどうの、
などとほざいている馬鹿でもあることは革新できる。
要するにアノミー君なんだな。
0700デフォルトの名無しさん
2010/08/27(金) 22:01:39何年か前にそんなニュースもあった
0701デフォルトの名無しさん
2010/08/27(金) 22:06:56奇特なコードでなくともよい。
そうでなくても、
バッファのサイズの計算。
ファイルポインタ。
シリアル化したデータの読み込み。
unsignedとsingedの間でキャストをしている。(intとbyteの間でキャストをしている)
文字コードを数値として取り扱う。
Cと違って、checkedにしても別のところで落ちてくれるということは多いと思うが。
0702デフォルトの名無しさん
2010/08/27(金) 22:09:29そうはないことが起こるのがバグだろ。
ゆとりハ馬鹿は引くことをしらないんだね。
しかも余分なことまで書いてる、ほんと何と戦ってんだよ、この馬鹿ww
0703デフォルトの名無しさん
2010/08/28(土) 01:30:370704デフォルトの名無しさん
2010/08/28(土) 01:55:230705デフォルトの名無しさん
2010/08/28(土) 03:38:10足したときにオーバーフローするからか
0706デフォルトの名無しさん
2010/08/28(土) 09:52:43ビット演算とかだと、意図的にオーバーロードさせることは普通にある。
その部分にuncheckedを指定するのを怠ると、コンパイラオプションでcheckedをデフォルトにしたときに
動作しないコードになる。
0707706
2010/08/28(土) 09:53:38オーバーフロー
0708デフォルトの名無しさん
2010/08/28(土) 10:06:270709デフォルトの名無しさん
2010/08/28(土) 10:09:59Ruby会議の中継見てるけどキモい人たちの集まりに見える
0710デフォルトの名無しさん
2010/08/28(土) 10:10:50ニコ動なんかで○時間で作ったとか見るとため息が出る
ただの反復作業なのにね
0711デフォルトの名無しさん
2010/08/28(土) 10:14:26ああテトリスとかのひとか
1時間で作れるようになるまでに何度も作り直してるって言ってて意味なさす
0712デフォルトの名無しさん
2010/08/28(土) 10:31:120713デフォルトの名無しさん
2010/08/28(土) 10:44:06そんな動画見たくないし
いや、ある意味みたいな・・・・
0714デフォルトの名無しさん
2010/08/28(土) 10:45:040715デフォルトの名無しさん
2010/08/28(土) 10:50:120716デフォルトの名無しさん
2010/08/28(土) 10:51:50自分の技量を見せびらかすようになると成長はストップする
0717デフォルトの名無しさん
2010/08/28(土) 10:53:13自分の技量を見せびらかすようになって
成長はストップしたけど出生しちゃって
だけど独身だからちょっとした病気でリタイアする
0718デフォルトの名無しさん
2010/08/28(土) 10:54:49自分の技量を見せびらかすようになって
成長はストップしたけど出生しちゃって
だけど独身だからちょっとした病気でリタイアしたけど
以前作ったC#製のアプリが大ヒットして一生食べるに困らないお金を手に入れた
やっててよかったね!C#!!
0719デフォルトの名無しさん
2010/08/28(土) 10:58:040720デフォルトの名無しさん
2010/08/28(土) 11:00:18こんな楽しみ、うつ病→統合失調症→引きこもりニートにならないと
出会えなかった。
0721デフォルトの名無しさん
2010/08/28(土) 11:02:072ちゃんにスレがないのだが…
0722デフォルトの名無しさん
2010/08/28(土) 12:46:32以前はネット関連のWebProg板にあったが今落ちてるのかな。
IISやネットワークの設定ではなくて、WebFormやADO.NETのような
プログラミング寄りの話題ならここでいいよ。
0723デフォルトの名無しさん
2010/08/28(土) 15:04:27生きてるよ・・・・
全国の図書館システムとして・・・w
0724デフォルトの名無しさん
2010/08/28(土) 15:10:20馬鹿だなあ
そういうのは思ってても黙ってるんだよ
おこぼれとかで十分役に立つんだし・・・・
おかげでC#版テトリスのソースが手に入るんだしw
http://cs2ch.blog123.fc2.com/blog-entry-82.html
検索して情報がでてくるのもある意味そういう人たちの
残したおこぼれなんだからさw
0725デフォルトの名無しさん
2010/08/28(土) 18:00:03http://hibari.2ch.net/test/read.cgi/tech/1150036430/
0726デフォルトの名無しさん
2010/08/29(日) 15:09:28ソース非公開でOK
これはわかる
でもaspがらみでGPLライセンスのライブラリを使って客先に頒布する時はどうなるの?
客先にソース付けないとだめ?
それとももっとオープンに公開しないと駄目?
0727デフォルトの名無しさん
2010/08/29(日) 15:21:380728デフォルトの名無しさん
2010/08/29(日) 15:38:590729デフォルトの名無しさん
2010/08/29(日) 15:57:32なるへそ!
さんくすこ!
0730デフォルトの名無しさん
2010/08/29(日) 16:02:12GPLってそうだった?組織が違えば公開必要じゃなかった?しかも客先に配布禁止条項をつけられないだろ?
0731デフォルトの名無しさん
2010/08/29(日) 16:04:440732デフォルトの名無しさん
2010/08/29(日) 16:05:200733デフォルトの名無しさん
2010/08/29(日) 16:06:48それがGPLというものだろ
0734デフォルトの名無しさん
2010/08/29(日) 16:08:02じゃねぇとMySQLと連携とれなくなるだろ
0735デフォルトの名無しさん
2010/08/29(日) 16:10:23GPLについて検索中です。
0736デフォルトの名無しさん
2010/08/29(日) 16:10:34具体的に条項をあげてくれ
0737デフォルトの名無しさん
2010/08/29(日) 16:12:420738デフォルトの名無しさん
2010/08/29(日) 16:13:060739デフォルトの名無しさん
2010/08/29(日) 16:13:240740デフォルトの名無しさん
2010/08/29(日) 16:30:02開発者ごと納品すればいい
0741デフォルトの名無しさん
2010/08/29(日) 16:31:340742デフォルトの名無しさん
2010/08/29(日) 16:31:580743デフォルトの名無しさん
2010/08/29(日) 17:28:530744デフォルトの名無しさん
2010/08/29(日) 17:30:100745デフォルトの名無しさん
2010/08/29(日) 18:47:440746デフォルトの名無しさん
2010/08/30(月) 11:31:11それどころかMSDNのサンプルコードすらGPLとは互換性無いよ(MS-LPL)
0747デフォルトの名無しさん
2010/08/30(月) 14:30:12子ノードを追加して、SelectedNode に設定したんですが
そのノードを強調表示してくれません。
なにかほかに設定しないといけないことがありますか?
0748デフォルトの名無しさん
2010/08/30(月) 14:36:14すみません。
Select() し直したらきちんと表示されました。
ごめんなさい。
0749デフォルトの名無しさん
2010/08/31(火) 16:45:06http://azumaya.s101.xrea.com/wiki/index.php?%B3%D0%BD%F1%2FC%A2%F4%2F%A5%B0%A5%ED%A1%BC%A5%D0%A5%EB%A5%D5%A5%C3%A5%AF
ゲームや、Photoshopなどの特定のアプリの場合
キーフックが上手く作動しません
現状キーの監視(打ったキーを保存しておくだけ)しか行っていないです
考えられる原因と、その対処法何かないでしょうか……
0750デフォルトの名無しさん
2010/08/31(火) 19:46:250751デフォルトの名無しさん
2010/08/31(火) 22:04:13なるほど
DirectInputのほうも監視すればいいんですね
ありがとうございます
0752デフォルトの名無しさん
2010/09/01(水) 01:12:40つまり、
string s = "hoge\x00\x00";
s += "hoge";
とすると、変数sは"hoge\x00\x00hoge"となる。
が、この文字列に対して、
Debug.Print(s);
とすると、NULL文字以降が無視され、
hoge
としか出力しない。
良いのか?
0753デフォルトの名無しさん
2010/09/01(水) 01:17:550754デフォルトの名無しさん
2010/09/01(水) 01:42:080755デフォルトの名無しさん
2010/09/01(水) 03:07:260756デフォルトの名無しさん
2010/09/01(水) 04:05:260757デフォルトの名無しさん
2010/09/01(水) 06:04:17すぐに親画面に反映させたいのですが、自画面にリダイレクトする
以外で何か方法はないでしょうか?
親画面の表示内容を維持したいので、ポストバックで反映できると期待したのですが、
親のPage_loadがすでに終了していたので無理でした。
何かユーザコントロールからポストバックを再度実行できれば良いのですが・・・
以上、よろしくお願いします。
0758デフォルトの名無しさん
2010/09/01(水) 12:14:23asp.netはスレ違い
0759デフォルトの名無しさん
2010/09/01(水) 14:54:430760デフォルトの名無しさん
2010/09/01(水) 15:36:45jQuery
0761デフォルトの名無しさん
2010/09/01(水) 23:41:150762デフォルトの名無しさん
2010/09/02(木) 00:09:06>>761
>>725
0763デフォルトの名無しさん
2010/09/02(木) 01:08:230764デフォルトの名無しさん
2010/09/02(木) 01:41:160765デフォルトの名無しさん
2010/09/02(木) 06:15:540766デフォルトの名無しさん
2010/09/02(木) 13:41:06MyClassの派生クラスがIMyInterfaceを再実装するのを禁止する方法はある?
もちろんリフレクション使えばいいけど静的にできるなら教えてほしい
0767デフォルトの名無しさん
2010/09/02(木) 14:00:35該当メンバをseadedで修飾する。
0768デフォルトの名無しさん
2010/09/02(木) 14:01:280769デフォルトの名無しさん
2010/09/02(木) 15:14:21再実装というからには、これを禁止したいんじゃないの
オーバーライドなら再実装とは言わんし
結論としては、そんなことはできないし、する必要もない
0770デフォルトの名無しさん
2010/09/02(木) 20:38:040771デフォルトの名無しさん
2010/09/02(木) 21:02:130772デフォルトの名無しさん
2010/09/03(金) 20:52:47Debug.Print の挙動がきもちわるいって話じゃないの?
0773デフォルトの名無しさん
2010/09/04(土) 00:33:420774デフォルトの名無しさん
2010/09/04(土) 03:36:002.イケメンと思う。
3.OKってボタンがでたよ?
選べ
0775デフォルトの名無しさん
2010/09/04(土) 12:21:05馴れ合いたい奴は馴れ合う為の場所にいってやれよ。
0776デフォルトの名無しさん
2010/09/04(土) 13:25:17出来ればサンプルソースとかがあれば教えていただけませんでしょうか。
なんかすぐ規制くらうんで、やっと書き込めた。
0777デフォルトの名無しさん
2010/09/04(土) 13:26:06ガキ臭。
馬鹿じゃないのか。
0778デフォルトの名無しさん
2010/09/04(土) 13:42:360779デフォルトの名無しさん
2010/09/04(土) 13:43:15ガキ臭。
馬鹿じゃないのか。
0780デフォルトの名無しさん
2010/09/04(土) 13:51:070781デフォルトの名無しさん
2010/09/04(土) 14:02:030782デフォルトの名無しさん
2010/09/04(土) 14:07:22ガキ臭。
馬鹿じゃないのか。
0783デフォルトの名無しさん
2010/09/04(土) 14:15:590784デフォルトの名無しさん
2010/09/04(土) 14:16:42ガキ臭。
馬鹿じゃないのか。
0785デフォルトの名無しさん
2010/09/04(土) 14:20:100786デフォルトの名無しさん
2010/09/04(土) 14:29:250787デフォルトの名無しさん
2010/09/04(土) 14:31:530788デフォルトの名無しさん
2010/09/04(土) 14:37:140789デフォルトの名無しさん
2010/09/04(土) 15:28:05http://msdn.microsoft.com/en-us/library/bb932385.aspx
0790デフォルトの名無しさん
2010/09/04(土) 17:39:55元の話題は>>752だろ?脱線せんと軌道修正しようや
船には帰って来る港が必要だぜ?
0791デフォルトの名無しさん
2010/09/04(土) 17:41:47漂流してろ
0792デフォルトの名無しさん
2010/09/04(土) 18:09:14試しにC++のネイティブコードでやってみ
0793デフォルトの名無しさん
2010/09/04(土) 18:24:11何か思いっきり勘違いしてるとしか思えん発言だな
0794デフォルトの名無しさん
2010/09/04(土) 20:32:140795デフォルトの名無しさん
2010/09/04(土) 21:45:490796デフォルトの名無しさん
2010/09/04(土) 21:49:240797デフォルトの名無しさん
2010/09/05(日) 22:42:380798デフォルトの名無しさん
2010/09/06(月) 10:21:38勝手に\0除外してからOutputDebugStringに投げるとか余計なことされたらそれはそれで困るわ
0799デフォルトの名無しさん
2010/09/06(月) 12:04:550800デフォルトの名無しさん
2010/09/06(月) 14:53:15C系の言語では便宜的にそう書くだけ
0801デフォルトの名無しさん
2010/09/06(月) 21:22:410802デフォルトの名無しさん
2010/09/06(月) 23:09:050803デフォルトの名無しさん
2010/09/06(月) 23:12:55Visual Studio に文字列投げるところまでは C# がやってるだろうけど、
そこから先、Visual Studio がもらった文字をどう扱うかは Visual Studio の勝手なわけで。
0804デフォルトの名無しさん
2010/09/06(月) 23:36:46そんなもの、万人が納得する仕様なんか決められるわけがないし、
そんなどちらかと言えばかなりトリビアルな要求を満たすためにコストを掛けるのも馬鹿げてる。
そんなものはプログラマ自身が適当に工夫すれば必要十分だと思うがね。
例えば適当な文字に置き換えて表示するなんて猿でも思いつくし、
必用ならバイナリエディタライクに表示するビジュアライザを作ってもいい。
0805デフォルトの名無しさん
2010/09/06(月) 23:54:330806デフォルトの名無しさん
2010/09/07(火) 04:53:300807デフォルトの名無しさん
2010/09/07(火) 06:57:46どうすればいいんでしょうか?
0808デフォルトの名無しさん
2010/09/07(火) 10:14:130809807
2010/09/07(火) 10:20:440810デフォルトの名無しさん
2010/09/07(火) 12:15:490811デフォルトの名無しさん
2010/09/07(火) 12:30:56ソート使うのに消しちゃったら不便じゃないのかな?
0812デフォルトの名無しさん
2010/09/07(火) 12:54:53各 DataGridViewColumn の SortMode を NotSortable にして、
ソート自体は DataGridView.ColumnHeaderMouseClick で自分で記述する
0813デフォルトの名無しさん
2010/09/07(火) 21:47:39こんな感じでスクリプトで勝手にFocusされている場合に、
ブラウザ・アプリケーション側ではFocusを取られたくない場合があります。
ただWebBrowserなどのブラウザ・コンポーネントへのSETFOCUSメッセージ
が来るかと思ってWndProc()をチェックしてみましたが検知できないようでした。
このスクリプトでの self.focus なるものを無効にするうまい方法はあるでしょうか?
よろしく。
0814813
2010/09/07(火) 21:53:12WebBrowserで検知できた場合でも、時すでに遅しで実際にはFocusが
奪われてしまっている場合もありました。
一度でもFocusが奪われると、たとえば他の操作をしているときに
Focusが奪われて入力などの手作業が中断してIME返還などがされずに
入力されてしまうなどの問題がありました。
これを防いで一度もFocusが奪われないようにしたいです。
0815デフォルトの名無しさん
2010/09/07(火) 21:55:00WebBrowserって単なるラッパーだったはずなのでaxWebBrowserの非同期動作が
関係してて取得できないかも・・・
0816813
2010/09/07(火) 21:57:46ページが表示されてすぐのFocusの場合なら問題はないようにも思われますが、
ものによっては定期的に自動でページを読み直して再表示されてしまい、
そのたびにFocusが奪われるので、他の作業中に邪魔が入る形になります。
こうしたことを防ぎたいのですが、良い方法があれば教えて頂きたく。
よろしくお願いします。
0817813
2010/09/07(火) 22:04:24どうもです。何か「原理的に無理」、みたいな感じですか。
0818デフォルトの名無しさん
2010/09/07(火) 22:17:050819デフォルトの名無しさん
2010/09/07(火) 22:23:330820813
2010/09/07(火) 22:53:47それやってみてました。どうもFocusが奪われないまま維持されてました。
別Formだからなのか・・・さらにチェックをして見ます。
>>819
一度でも奪われると、その瞬間にIMEモード入力が停止して入力欄に
ひらがなのまま入ってしまいます。その後で戻してもそのときには遅い、
ということなんです。>>814はそういう状況なのです。
うーん。
0821デフォルトの名無しさん
2010/09/07(火) 23:06:12一度ページが表示されたらナビゲートを停止させちゃえばいいだけかなあ?
ナビゲートキャンセルって確かできたなあ・・・
0822813
2010/09/08(水) 01:28:33ただし関係のありそうなコントロールでFocusを奪われたくないと思われる場合、
随時すべてそれを記憶し、SETFOCUSメッセージのときにそれらがあれば判断して
ブラウザコントロールへのFocusは無効にする、みたいな方法にすればできそうで、
これでやってみたいと思います。どうもでした!
0823デフォルトの名無しさん
2010/09/08(水) 13:29:29商用以外で。
0824デフォルトの名無しさん
2010/09/08(水) 14:11:390825デフォルトの名無しさん
2010/09/08(水) 14:47:140826デフォルトの名無しさん
2010/09/08(水) 15:27:410827デフォルトの名無しさん
2010/09/08(水) 15:44:39TreeView1.Width
ですとスクロールバーも含んだ横幅になってしまいます。
正味の横幅を取得するにはどうすればよいでしょうか?
0828デフォルトの名無しさん
2010/09/08(水) 15:52:170829デフォルトの名無しさん
2010/09/08(水) 16:07:530830デフォルトの名無しさん
2010/09/08(水) 16:26:131.1試す環境無いなあ、、、APIでGetClientRect呼ぶとか?
0831デフォルトの名無しさん
2010/09/08(水) 16:35:51インテリセンスの候補に出てこないだけとかだろ
0832デフォルトの名無しさん
2010/09/08(水) 17:25:28そのとおりでした。サンクス。
0833デフォルトの名無しさん
2010/09/08(水) 17:27:00.net全般のプロパティとか多すぎてけっこうむずいんだよね
0834デフォルトの名無しさん
2010/09/08(水) 18:56:05それも検討してるんですが、使いにくいかなと
>>826
これDataGridViewですか?
0835デフォルトの名無しさん
2010/09/08(水) 18:59:18そう
0836デフォルトの名無しさん
2010/09/08(水) 19:54:28いや、だって、必要なんだもん。
あれでも、数多すぎると IntelliSense 見た瞬間くじける人が出て来るから
1クラスのプロパティ量減らせ、1名前空間のクラス量減らせってのが
Microsoft のコーディング規約にあるのよ。
それでもなおあの量。
0837デフォルトの名無しさん
2010/09/08(水) 20:21:53C#にそれがないのはもちろんあえて付けてないわけなので
0838デフォルトの名無しさん
2010/09/08(水) 20:26:15触り始めたときは色んな機能用意されてるんだなーとわくわくしたけど
0839デフォルトの名無しさん
2010/09/08(水) 20:26:22DataGridViewも結構きれいにできるんですね。
こんな感じで描画するためのサンプルコードとかってどこかに上がっていますか?
0840デフォルトの名無しさん
2010/09/08(水) 20:38:21綺麗に見えるのは、行と列のヘッダの背景にグラデーションが掛けてある以外は、
要するに配色が上手いからでしょ。
どんな道具使っても、配色やデザインのセンスまでは面倒みてくれないよw
まあセンスがいいテンプレートがあったりする場合もあるけど。
0841デフォルトの名無しさん
2010/09/09(木) 22:17:24string.IsNullOrEmptyみたいな感じの関数があればいいのですが・・・
検索しても見付からなかったので無いような気はしますけど・・・
0842デフォルトの名無しさん
2010/09/09(木) 22:19:350843デフォルトの名無しさん
2010/09/09(木) 22:45:10nullだと落ちるよ
0844デフォルトの名無しさん
2010/09/09(木) 22:52:16try〜catchでエラー取ればいい
0845デフォルトの名無しさん
2010/09/09(木) 22:54:14わりと配列ってnullと要素数0はきっちり別物扱いすることが多いから必要性も高くないな
0846841
2010/09/09(木) 23:02:26try-catchは好きじゃないんで、地道にチェックします。
こうしとけば問題ないよね?
if (lists != null || lists.Count > 0)
{
処理
}
0847デフォルトの名無しさん
2010/09/09(木) 23:17:00上の人も言ってるように、nullはありえない(もしnullの場合はバグ)
仕様にする方が簡単だと思うけどね
0848841
2010/09/10(金) 00:58:25nullを入れないようにして欲しいけど、規則がないからどうなるか分からなくてね・・・
先にnullチェックしとけば、Countまで見に行かないかなって思ってるんだけどだめかな?
0849デフォルトの名無しさん
2010/09/10(金) 02:54:03なんでだよw
0850デフォルトの名無しさん
2010/09/10(金) 07:14:59lists の中味があったら処理する、ならこうじゃね?
if (lists != null && lists.Count > 0)
{
ほげほげ
}
0851デフォルトの名無しさん
2010/09/10(金) 10:45:34規則化したければ、
if(array == null) throw new ArgumentException();
の代わりに
System.Diagnostics.Contracts.Contract.Requires(array != null);
にでもしとけば OK。
0852デフォルトの名無しさん
2010/09/10(金) 11:04:49試しに使ってみるか
0853デフォルトの名無しさん
2010/09/10(金) 19:14:040854デフォルトの名無しさん
2010/09/11(土) 00:05:020855デフォルトの名無しさん
2010/09/11(土) 01:52:220856デフォルトの名無しさん
2010/09/11(土) 03:41:43?
0857デフォルトの名無しさん
2010/09/11(土) 04:04:170858デフォルトの名無しさん
2010/09/11(土) 07:12:290859デフォルトの名無しさん
2010/09/11(土) 07:18:320860デフォルトの名無しさん
2010/09/11(土) 12:03:45using System.Linq;
class 家
{
public string 姓;
public string[] 構成員;
}
class Program
{
static void Main(string[] args)
{
家[] 家々 =
{
new 家() { 姓 = "磯崎", 構成員 = new [] { "波平", "フネ", "カツオ", "ワカメ"}, },
new 家() { 姓 = "フグ山",構成員 = new [] { "サザエ", "マスオ", "タラオ"}, },
};
foreach (var 人 in from その家 in 家々 from 名 in その家.構成員 select new { その家, 名 })
{Console.WriteLine("{0}{1}", 人.その家.姓, 人.名); }
}
}
夫婦別姓が施行された場合、どう書き換えればいい?
0861デフォルトの名無しさん
2010/09/11(土) 12:08:48苗字
名前
class 家
人:住人
元のクラス設計が糞
0862デフォルトの名無しさん
2010/09/11(土) 12:09:54F姓
M姓
を保持してどっちを名乗ってるかを管理するとか?
0863デフォルトの名無しさん
2010/09/11(土) 12:13:550864デフォルトの名無しさん
2010/09/11(土) 12:58:350865デフォルトの名無しさん
2010/09/11(土) 13:20:200866841
2010/09/11(土) 15:14:16個人的な視点だけど、美しくないからw
>>850
ORだとCountの処理も走るのは初めて知りました
ありがとう。今までの見直してAND処理使うようにしますね
>>851
例外は出したくないんで、自前でチェックしようと思います
でも、自作アプリでは使わせてもらいますねw
みなさん、ありがとう!
すごく勉強になります!
0867デフォルトの名無しさん
2010/09/11(土) 15:36:33>>851みたいな例外は処理しなくていい。キャッチ禁止。
なぜなら、例外が発生するのは契約違反を意味するので即ちプログラムのミスだから。
nullが入ることが想定の範囲内なら自分でチェックするのは当たり前。Contractとか使っちゃダメ。
0868デフォルトの名無しさん
2010/09/11(土) 16:56:22>ORだとCountの処理も走るのは初めて知りました
>ありがとう。今までの見直してAND処理使うようにしますね
Countの処理まで走るかどうか以前に、ORじゃロジックがおかしいだろ。
論理演算を勉強しなおせ。
0869デフォルトの名無しさん
2010/09/11(土) 18:42:35>>849はロジックがおかしいところに突っ込んだんだよ。
>ORだとCountの処理も走るのは初めて知りました
>ありがとう。今までの見直してAND処理使うようにしますね
いやそういう問題じゃなくて、普通に考えてみようよ。
0870デフォルトの名無しさん
2010/09/11(土) 21:45:50if 文を日本語で読むんだ!
0871841
2010/09/12(日) 02:17:54何も考えずにANDでと同じ感覚で使ってた・・・
0872デフォルトの名無しさん
2010/09/12(日) 02:23:440873デフォルトの名無しさん
2010/09/12(日) 02:43:36これで解決!(違)
0874デフォルトの名無しさん
2010/09/12(日) 03:04:170875868
2010/09/12(日) 06:36:10>個人的な視点だけど、美しくないからw
>>841は明らかに、コードの美しさを論じるようなレベルじゃない。
>でも、自作アプリでは使わせてもらいますねw
今回は自作アプリじゃないってことは、まさか仕事なのか…
違うと言ってほしい。
0876デフォルトの名無しさん
2010/09/12(日) 10:59:33姓を使わないで
構成員に姓名を書くだけ
0877デフォルトの名無しさん
2010/09/12(日) 12:30:320878デフォルトの名無しさん
2010/09/12(日) 13:18:40要件はJSONの配列も扱える事、ソースが読める事です。
0879デフォルトの名無しさん
2010/09/12(日) 13:26:090880デフォルトの名無しさん
2010/09/12(日) 14:45:10LitJson。ソース短いから簡単に追えるよ。
0881デフォルトの名無しさん
2010/09/13(月) 16:31:48一応ソースは公開されてるはず
0882デフォルトの名無しさん
2010/09/14(火) 21:55:42といっても、プロパティなどから
存在していることの確認はできています
なのに、デザイン上に表示されません
どういうことか、教えてください
0883デフォルトの名無しさん
2010/09/14(火) 22:02:210884デフォルトの名無しさん
2010/09/14(火) 22:28:210885デフォルトの名無しさん
2010/09/14(火) 23:55:21通常のサイトであればDownloadStringを使えば取得できるのですが
SNSなので普通にアクセスするとログインページにリダイレクトされてしまいます。
そこで、少し調べてみたところttp://neue.cc/2009/12/17_230.htmlの記事を見つけました。
しかし、この記事の通りに行ってもmixiへのログインに失敗するようです。
また、私が取得したいSNSはmixiではないのですが、その場合この記事でいうところの {"next_url", "/home.pl"},は何にすればいいのでしょうか。
0886デフォルトの名無しさん
2010/09/15(水) 00:05:140887デフォルトの名無しさん
2010/09/15(水) 10:23:33コードに落とす前にログイン時のHTTPの動きを調べるべき
0888デフォルトの名無しさん
2010/09/15(水) 11:17:59HTMLのタグが使えて↓みたいに書けたら最高なんですが・・・
こんにちは<b>サンプル</b>です
0889デフォルトの名無しさん
2010/09/15(水) 11:40:51<ToolTip><TextBlock>abc<Bold>de</Bold>fg</TextBlock></ToolTip>
だけど、一般のコントロールだとどうだろな
0890デフォルトの名無しさん
2010/09/15(水) 11:59:470891デフォルトの名無しさん
2010/09/15(水) 12:45:50ありがとうございます
WPFのほうが簡単そうですねWPFでやってみます
0892889
2010/09/15(水) 12:51:240893デフォルトの名無しさん
2010/09/15(水) 12:53:49あとはオフメモリにbmp作って描画したデータを表示とか(tooltipってbmp表示できたか忘れた)
0894デフォルトの名無しさん
2010/09/15(水) 14:17:48おめえうぜえわ
分からないならいちいちレスすんなks
0895デフォルトの名無しさん
2010/09/15(水) 20:21:160896デフォルトの名無しさん
2010/09/15(水) 20:57:190897デフォルトの名無しさん
2010/09/16(木) 03:12:35ブラウザコントロールで解決しました。
結局普通にポストすることにしました。
>>886
すいません。
ネット系に質問すればよろしかったですか?
0898ノtasukeruyo
2010/09/16(木) 14:09:170899デフォルトの名無しさん
2010/09/16(木) 14:10:040900デフォルトの名無しさん
2010/09/16(木) 14:10:49ノtasukeruyo
0901デフォルトの名無しさん
2010/09/16(木) 17:50:480902デフォルトの名無しさん
2010/09/16(木) 17:56:030903デフォルトの名無しさん
2010/09/16(木) 18:01:150904デフォルトの名無しさん
2010/09/16(木) 18:04:4732bitや64bitに依存するようなDLLなどは使ってないです
XP以降なら.NETさえ入れればどうなんでしょう
0905デフォルトの名無しさん
2010/09/16(木) 18:09:40.NET不要でランタイム5MBくらいのSilverlightというのもある
0906デフォルトの名無しさん
2010/09/16(木) 18:15:270907デフォルトの名無しさん
2010/09/16(木) 18:20:13http://www.atmarkit.co.jp/fwin2k/win2ktips/246checkvdnfw/dnfwvr02_s.gif
0908デフォルトの名無しさん
2010/09/16(木) 18:20:430909デフォルトの名無しさん
2010/09/16(木) 18:25:09XPは2.0が標準で入ってるんですね
ありがとうございます
0910デフォルトの名無しさん
2010/09/16(木) 18:39:260911デフォルトの名無しさん
2010/09/16(木) 18:51:570912デフォルトの名無しさん
2010/09/16(木) 18:57:21パソコンが1台しかないので助かりました
SilverLightってwebページ向けだと思ってましたがいろんな事ができるんですね
SilverLightも導入したいと思います
みなさま本当にありがとうございます
0913デフォルトの名無しさん
2010/09/16(木) 19:34:23public Vector2 Position
{
get { return position; }
set { position = value; }
}
↑を定義したクラスを継承したクラスに
Position.X += 10;←ココ
とやるとココに
変数ではないため、戻り値を変更できません
と出てくるのですがなぜでしょう?
Vector2はXNAのクラスです。
0914デフォルトの名無しさん
2010/09/16(木) 19:37:05そのエラーもVector2がクラスじゃないことに起因するものだ
0915デフォルトの名無しさん
2010/09/16(木) 19:37:29C#スレに居るのに何で把握してないんだw
Vistaは3.0
Win7は3.5SP1
XPで1.0がプリインストールされてるのは後から発売されたTablet PCとMedia Center
>>906
.NET 2.0が出たのは2005年末なのに、.NET 1.0すら出てない2001年発売の無印XPに乗ってるわけないじゃないか…。
0916デフォルトの名無しさん
2010/09/16(木) 19:39:220917デフォルトの名無しさん
2010/09/16(木) 19:45:050918デフォルトの名無しさん
2010/09/16(木) 19:49:090919デフォルトの名無しさん
2010/09/16(木) 20:16:33ある項目にあるものすべてをコンテキストメニューで表示したいんだが、TooStripMenuItemを使用している場合の方法だけはなぜか見つからなかった
0920デフォルトの名無しさん
2010/09/16(木) 21:15:38たぶんない。
良く使う処理だから、俺は俺様ライラリに入れてるよ
0921デフォルトの名無しさん
2010/09/16(木) 22:04:390922デフォルトの名無しさん
2010/09/16(木) 22:12:33突然唐突なことを言い出す自分に疑問を感じないようなら、
マジで一度精神科を受診した方がいいんじゃないのか。
0923デフォルトの名無しさん
2010/09/16(木) 22:14:26ふつう初対面の人にそんなこと言わないだろ
お前が病院行くべき
0924デフォルトの名無しさん
2010/09/16(木) 22:15:500925デフォルトの名無しさん
2010/09/16(木) 22:22:18DateTime birth = new DateTime(year, month, day);
int age = (new DateTime((DateTime.Today - birth).Ticks)).Year - 1;
0926デフォルトの名無しさん
2010/09/16(木) 22:44:05いるんだよね他人の初人に対して唐突とか突然何言ってんのってイチャモンつける奴がね
ニコ生とかでもそういう奴いるわ
掲示板やらチャットで唐突な事が気になるのはお前が鬱病なんだよ
0927デフォルトの名無しさん
2010/09/16(木) 22:47:420928デフォルトの名無しさん
2010/09/16(木) 22:57:52>>921はtwitter向き書き込み
0929デフォルトの名無しさん
2010/09/16(木) 23:12:28そこまで幸せ回路全開だと、逆に「清清しい」な。
まあ、俺はそんな「清清しい」人間になりたいとは絶対思わないがw
一応真面目なことも書いておくけど、そういう他人の視線に過剰に鈍感な感受性って、
公共の場で平気で鼻糞ほじったり屁をこいたりするオッサンや、道端に座り込んでる餓鬼の
感受性と同じじゃないのか。
俺の感覚じゃ、そんなのは最早動物以下で人間と思えないね。
うちのワンコだって人の目を気にするぞ
0930デフォルトの名無しさん
2010/09/16(木) 23:14:26ここはパスワード式の仲良し掲示板じゃないから突然唐突な話題が出ることもあるよ
2ちゃん初心者なのかな?
0931デフォルトの名無しさん
2010/09/16(木) 23:16:10>一応真面目なことも書いておくけど、そういう他人の視線に過剰に鈍感な感受性って、
>公共の場で平気で鼻糞ほじったり屁をこいたりするオッサンや、道端に座り込んでる餓鬼の
>感受性と同じじゃないのか。
自分を棚に上げててフイタ
0932デフォルトの名無しさん
2010/09/16(木) 23:18:29あまり真面目に触らないのが吉。
0933デフォルトの名無しさん
2010/09/16(木) 23:54:090934デフォルトの名無しさん
2010/09/16(木) 23:55:130935デフォルトの名無しさん
2010/09/16(木) 23:58:290936デフォルトの名無しさん
2010/09/17(金) 00:00:050937デフォルトの名無しさん
2010/09/17(金) 00:03:51http://hibari.2ch.net/test/read.cgi/tech/1281236906/180
http://hibari.2ch.net/test/read.cgi/tech/1281236906/192
http://hibari.2ch.net/test/read.cgi/tech/1281236906/289
鍵括弧を多用してすぐ人格批判に走るから簡単に見分けが付くな
糖質臭い
0938デフォルトの名無しさん
2010/09/17(金) 00:12:27そっちのスレでも「例外をにぎりつぶす」に絡んでるんだな
一月前にこのスレでも叩かれたのに
本当に馬鹿じゃないの
0939デフォルトの名無しさん
2010/09/17(金) 00:20:110940デフォルトの名無しさん
2010/09/17(金) 00:24:03きっと言っても無駄だと思うが、
その君の「俺が」叩いているという主観的事実に過ぎないものと、
議論している主張が正しいか否かという客観的な問題を混同していることに
疑問を感じない感性って、本当にセカイ系のそれそのものだわ。
狂ってるとしか思えん。狂ってると言って悪けりゃ、幼児的。
0941デフォルトの名無しさん
2010/09/17(金) 01:31:290942デフォルトの名無しさん
2010/09/17(金) 11:21:540943デフォルトの名無しさん
2010/09/17(金) 11:26:090944デフォルトの名無しさん
2010/09/17(金) 11:58:370945デフォルトの名無しさん
2010/09/17(金) 12:05:540946デフォルトの名無しさん
2010/09/17(金) 12:06:48間違った考えの奴は俺が正す!(キリッみたいな思考の押し付けが多い希ガス
他人のコーディングルールを直しまくる病気みたいな人に多い
小さな親切、大きなお世話w
0947デフォルトの名無しさん
2010/09/17(金) 12:14:420948デフォルトの名無しさん
2010/09/17(金) 12:16:530949デフォルトの名無しさん
2010/09/17(金) 12:26:33インデントは最小限に抑えましょう。
elseはやっつけ仕事以外では禁止です。
0950デフォルトの名無しさん
2010/09/17(金) 13:14:550951デフォルトの名無しさん
2010/09/17(金) 13:15:560952デフォルトの名無しさん
2010/09/17(金) 13:58:01ないのか自前でゴリゴリ書けということか…
0953デフォルトの名無しさん
2010/09/17(金) 14:32:120954デフォルトの名無しさん
2010/09/17(金) 14:32:38API叩かないと無理ですかね?
0955デフォルトの名無しさん
2010/09/17(金) 14:49:000956デフォルトの名無しさん
2010/09/17(金) 14:52:370957デフォルトの名無しさん
2010/09/17(金) 14:54:210958デフォルトの名無しさん
2010/09/17(金) 16:16:59kwsk
0959デフォルトの名無しさん
2010/09/17(金) 16:20:000960デフォルトの名無しさん
2010/09/17(金) 18:04:05もちろんラッパー書いてプラットフォーム呼び出しすればできるはずだけど速度的なメリットがなくなるから全く意味なし。
Mono.Simdというのがあるらしいが、当然Monoの実行エンジンで動かさないと効果はない。
どうしても使いたかったらある程度の大きい単位でまとめてC++で書くのが現実的。
0961デフォルトの名無しさん
2010/09/17(金) 18:17:450962デフォルトの名無しさん
2010/09/17(金) 20:06:49ゴリゴリって程の処理じゃないんじゃない?
こういうことじゃないの?
void MoveAllItems(ToolStripItemCollection src, ToolStripItemCollection dst)
{
var temp = new ToolStripItem[src.Count];
src.CopyTo(temp, 0);
src.Clear();
dst.AddRange(temp);
}
0963デフォルトの名無しさん
2010/09/17(金) 21:58:280964デフォルトの名無しさん
2010/09/17(金) 22:00:25お前もこのスレの人間なら自分で連れて来いよ。
0965デフォルトの名無しさん
2010/09/17(金) 22:14:00http://ideone.com/oPuOp
を動かすと、BalloonTip が出せないんですが、なにか設定とかあるでしょうか?
XP では動いていました。(これは最小コードで、実物はもっと複雑ですが)
0966デフォルトの名無しさん
2010/09/17(金) 22:21:060967デフォルトの名無しさん
2010/09/17(金) 22:57:28おいらのところでは問題なかった
0968デフォルトの名無しさん
2010/09/18(土) 00:02:11>しかし、そうまでして継承を減らしてデリゲート型で拡張性を持たせるような態度は、決して多数派ではないだろうと思っていた。
>だから、こうして同じような設計のクラスを、しかも.NET Frameworkの中に見たときは目が点になったのである。
>意外と筆者は、勝手に進んでいるようでトレンドを外していないらしい。
全然意味が分からないんだけど誰か解説して。
0969デフォルトの名無しさん
2010/09/18(土) 00:08:02逆に何が分からんの?
それに同意するかどうかはともかく、何を言ってるかは普通に分かるでしょ
0970デフォルトの名無しさん
2010/09/18(土) 00:16:52要件は
1.親フォームからはみ出せること
2.ポップアップしたウィンドウをクリックしても親フォームがアクティブであること
3.マウス、キーボードでの操作が出来ること
です。
どうすればこのような機能を実現できますか?
0971デフォルトの名無しさん
2010/09/18(土) 00:26:47そして我がソ連は常に彼らよりも一歩先を進んでいる。
0972デフォルトの名無しさん
2010/09/18(土) 00:29:51>ラムダ式を使えば、実はラムダ式内から変数taskは参照できてしまうのだ。
> それにもかかわらず、このパターンを使うのは・・・(略)・・・変数taskにアクセスできなくなるからだ。
が我田引水自画自賛が過ぎる気がする。
ここは普通なら変数taskにはアクセス出来ないから、Func<Task, TResult>を渡す設計に
なっていると解釈すべきじゃないのか?
むりやりラムダ式を使っておきながら、「同じ内容を示す名前が2つもあるのは美しくない」も
ないと思うんだが。まあ川俣だし。
0973デフォルトの名無しさん
2010/09/18(土) 00:34:35ShowWithoutActivationがtrueを返す枠無しForm
WM_MOUSEACTIVATEでアクティブにしない
取り敢えずこんだけか
0974デフォルトの名無しさん
2010/09/18(土) 00:38:40こっちは前提知識もインテリセンスもないんだから読んでて戻り値の型分からないんだけど
0975デフォルトの名無しさん
2010/09/18(土) 00:39:41むしろこの場面でわざわざ継承を使うやつがいるのか聞きたい。
0976デフォルトの名無しさん
2010/09/18(土) 00:50:25foreach (var n in q1)
{
lock (o)
{
Console.WriteLine("sum={0}×{1}+{1}", sum, n);
sum = sum * n + n;
}
}
いくらなんでもこれはないだろw
0977デフォルトの名無しさん
2010/09/18(土) 00:52:410978デフォルトの名無しさん
2010/09/18(土) 00:58:19マルチスレッドの問題点を示すためによく出てくる例を無理矢理PLINQにしたみたいだが
例としては極めて不適切だな
全く並列処理の意味がない
0979970
2010/09/18(土) 01:29:24ある程度希望した動きになりましたが、キーボードやマウスホイールでの操作が出来ません。
呼び出し元でポップアップウインドウの制御をするしか手はないのでしょうか。
0980デフォルトの名無しさん
2010/09/18(土) 01:30:23川俣だとなぜか鬼の首取ったように揚げ足取りみたいな批判をする奴もいるけど
これは確かに何のこっちゃ訳わからんなあ....
っていうか@ITもこういう時のためにコメント欄ぐらい付けて欲しいもんだな
0981デフォルトの名無しさん
2010/09/18(土) 01:33:00感じるんだ
tanasinnはいつもあなたのそばに
0982デフォルトの名無しさん
2010/09/18(土) 01:41:12可換じゃない写像計算してるだけじゃん。
何に文句付けてるんだ?
0983デフォルトの名無しさん
2010/09/18(土) 01:45:52そのポップアップウィンドウの持ち主のコントロールはフォーカスを持ってる
状態のはずなんだから、そいつが必用なユーザー入力をポップアップウィンドウに
通知すれば良いだけじゃないの?
ComboBoxのドロップダウン部分みたいなのを持つカスタムコントロールを
作ってるんだよね?
0984デフォルトの名無しさん
2010/09/18(土) 01:49:11採用時に資格は一切評価しないといった建前も世間ではよく耳にしますが、折角の機会ですから本当の事を言います。評価します。マイナスの評価です。
仕事に就いていないのに資格の取得などに時間を浪費していたという事実は、少なくとも一分一秒を争う企業活動への参加を目指すなら、悪です。
学生時代のいまから時間の使い方をしっかり意識して生活してください。
社会に出れば仕事を覚えるために学生時代の10倍も20倍もハードな勉強が求められます。
もちろん必要な資格があればその中で取得します。しかしその学習量は社会人が仕事の中で日々習得する知識量のうちのほんのごく一部に過ぎません。
学生が資格の勉強に貴重な時間を費やすのは、子供が折角もらったお年玉を老後の生活資金に貯めておくようなものです。
子供のお小遣いと大人の生活費では一円の重みが違います。同様に、学生と経験を積んだ社会人とでは同じ一時間でも脳の仕事量が全く違うのです。
0985デフォルトの名無しさん
2010/09/18(土) 01:53:400986デフォルトの名無しさん
2010/09/18(土) 01:59:220987デフォルトの名無しさん
2010/09/18(土) 02:27:490988デフォルトの名無しさん
2010/09/18(土) 09:59:50int[] array1 = new int[0x20000000];
で OutOfMemoryException が出てしまいました。テスト環境は 2008R2/X64 メモリ 16G 積んでいます。
配列の要素数を以下のように半分にすると、配列を六つ確保しても例外を起こしませんでした。
int[] array1 = new int[0x10000000];
テスト実行時に IntPtr.Size が 8 かどうか確認して、64ビット環境で動作していることは確認できています。
どうも x64 環境下でも一つのオブジェクトは 4G の制限があるようです。
Array.Capacity とかの型が int / 32bit のままなので、そういうものの気もしますが、何か間違えているでしょうか。
および C#/.NET 環境下で 4G byte を越えるオブジェクトを扱う方法をご存じでしたら教えてください
0989デフォルトの名無しさん
2010/09/18(土) 10:06:10詳しくはないけどAnyCPU、x86,x64で切り替えたらどうなるかな・・・
0990デフォルトの名無しさん
2010/09/18(土) 10:26:21AnyCPU, X64 とも変化有りませんでした。
0991デフォルトの名無しさん
2010/09/18(土) 10:27:33関係ないだろ。
>int[] array1 = new int[0x10000000];
int[] array1 = new int[0x10000001];
だとやっぱエラーになるわけ?
0992デフォルトの名無しさん
2010/09/18(土) 10:33:100993デフォルトの名無しさん
2010/09/18(土) 10:39:27関係ないかどうかはやってみないとわからん
vs2008はデフォルトでAnyCPUだったはずなので
32bitにあわせてそういう制限があるのかもしれないし
やってみた結果として64bit限定にしてもかわらなかったと・・
>>988
暫定対策としてはlistとかそういうので代用するしかないんじゃないの?
それか
int[] array1 = new int[0x10000000];
これを複数個管理するクラスを作ってやりくりするとか・・・
0994デフォルトの名無しさん
2010/09/18(土) 10:47:24int[] array1 = new int[ 0x20000000-15];
は確保できました。実行可能。
int[] array1 = new int[ 0x20000000-14];
だと、実行時にこの行で OutOfMemoryException が発生。です。
int の大きさは常に 4 byte であることから、2G に壁が有るのでしょうかね。
System.Collections.Generic.List も同じような壁があることは確認しています。
Capacity が 31bit (signed int) ですし、大きめの数字を指定すると OutOfMemoryException が
出てしまいます。
>複数個管理するクラスを作ってやりくり
ええ。よく分かりますが,,,, 避けたいです。
0995デフォルトの名無しさん
2010/09/18(土) 10:55:11問題なんてないんじゃ?
そろそろ次スレ立ててくるね。
0996デフォルトの名無しさん
2010/09/18(土) 10:57:41C#, C♯, C#相談室 Part62
http://hibari.2ch.net/test/read.cgi/tech/1284775031/
0997デフォルトの名無しさん
2010/09/18(土) 10:59:25容量+速度ぽいけどね>質問者の理想
ちょっとかぶせるだけでもそんなに速度変わるかなあ
クラスをかぶせるのがいやならクラス作らないでやるしかないね・・・
0998デフォルトの名無しさん
2010/09/18(土) 11:00:27メモリを確保するには連続した空き領域が必要。
たとえ8GBの空きメモリがあっても、連続していなければ8GBのメモリを
一括で確保する事は出来ない。大量のメモリを必要とする場合には、
小さいサイズのメモリを多数取得するような方法が一般的。
>4G byte を越えるオブジェクトを扱う方法
どうしても必要なら、Unmanagedコードを書いたらいい。
0999デフォルトの名無しさん
2010/09/18(土) 11:12:361000デフォルトの名無しさん
2010/09/18(土) 11:13:4710011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。