C#, C♯, C#相談室 Part49
レス数が950を超えています。1000を超えると書き込みができなくなります。
0001名無しぃ♯
2008/10/23(木) 18:37:40前スレ
C#, C♯, C#相談室 Part48
http://pc11.2ch.net/test/read.cgi/tech/1219481054/
Visual C# 2008 Express Edition 日本語版
http://www.microsoft.com/japan/msdn/vstudio/express/vcsharp/
その他テンプレ>>2-5くらい
0002名無しぃ♯
2008/10/23(木) 18:38:33ふらっとC#,C♯,C#(初心者用) Part32
http://pc11.2ch.net/test/read.cgi/tech/1223791661/
Visual Studio 2008 Part 12
http://pc11.2ch.net/test/read.cgi/tech/1221265969/
WPF(XAML,XBAP,.NET3.5)GUIプログラミング
http://pc11.2ch.net/test/read.cgi/tech/1211453941/
【VB.NET】LINQ友の会【C#, C♯, C#】
http://pc11.2ch.net/test/read.cgi/tech/1202568694/
0003名無しぃ♯
2008/10/23(木) 18:39:29MSDN2
ttp://msdn2.microsoft.com/ja-jp/library/default.aspx
@IT Insider.NET
ttp://www.atmarkit.co.jp/fdotnet/index.html
Insider.NET 会議室 ディレクトリ
ttp://www.atmarkit.co.jp/fdotnet/index/bbs/index.html
MSDN フォーラム
ttp://forums.microsoft.com/MSDN-JA/default.aspx?SiteID=7
pinvoke.net: the interop wiki!
ttp://pinvoke.net/
宇宙仮面の C# プログラミング / C# Programming
ttp://ukamen.hp.infoseek.co.jp/
WisdomSoft C#入門
ttp://wisdom.sakura.ne.jp/programming/cs/index.html
WisdomSoft Microsoft .NET入門
ttp://black.sakura.ne.jp/~third/system/msnet/msnet.html
どっとねっとふぁん
ttp://dotnetfan.org/
緑のバイク 初めてのC# 〜 覚え書き 〜
ttp://homepage3.nifty.com/midori_no_bike/CS/
どぼん!の .NET Tips
ttp://dobon.net/vb/dotnet/
0004デフォルトの名無しさん
2008/10/23(木) 18:42:03他にもあったらよろ
いらんとなったら次スレ立てるとき適当に消しといてくれ
0005デフォルトの名無しさん
2008/10/23(木) 18:47:170006デフォルトの名無しさん
2008/10/23(木) 18:48:16お前がいらな
0007デフォルトの名無しさん
2008/10/23(木) 18:53:34乙です
0008デフォルトの名無しさん
2008/10/23(木) 18:58:29このスレに限らず暴れまわっているみたいだが・・・
昔はこの板はもっと活性的だったんだか、こういう人がいるとバカバカしくなってみんな何処かへ行ってしまった。
ある種の中二病なんだろうが、いい加減治療されろよと。
0009デフォルトの名無しさん
2008/10/23(木) 19:00:55どうせ答える人間は同じなのに。
0010デフォルトの名無しさん
2008/10/23(木) 19:40:340011デフォルトの名無しさん
2008/10/23(木) 20:21:26似て非なるJavaと二刀流、VBとの二刀流、いやいやC/C++も合わせてちゃんぽん状態?
どうしてもDelphiだけは咀嚼に難儀して飲み込めない俺。
0012デフォルトの名無しさん
2008/10/23(木) 20:31:430013デフォルトの名無しさん
2008/10/23(木) 20:43:220014デフォルトの名無しさん
2008/10/23(木) 22:53:34スッキリしなく、あまり使いたくなくなった。
それでASP.NETやVBを弄ってたら.NETつながりでメインをC#に転向しちゃった。
昔はFortran、アセンブラ、C言語を骨の髄まで極めたけど、C++の言語仕様はイヤだったな。
C言語以上に人によるコーディングスタイルとポリシーと俺様スタイルが多くて疲れた。。。
0015デフォルトの名無しさん
2008/10/24(金) 00:15:58C++→C# or Javaだと
仮想関数の扱いがJavaは全く違うもんな…
0016デフォルトの名無しさん
2008/10/24(金) 00:44:52C++は3回くらいで辞めた
DelphiとC#って何か似てる
0017デフォルトの名無しさん
2008/10/24(金) 00:58:50趣味で書くコードは全部 C# になったけど、
仕事は C++ が多い。
Java というか、Sun のクソっぷりに嫌気さしてたところに C# が出て、
一気にそっちに移った。
0018デフォルトの名無しさん
2008/10/24(金) 03:44:13Cは用途が違いすぎる(俺的に)から比較できない。
Javaは、ちょろっと囓って拒絶反応起こした。
外資系エリートサラリーマン臭がする。
0019デフォルトの名無しさん
2008/10/24(金) 03:59:38C# -> C -> C++ -> Java -> Python -> PHP -> Perl
以前はJavaの仕事が多かったけど最近はC++をやってる
0020デフォルトの名無しさん
2008/10/24(金) 10:31:32ちょっとしたツール作成でC#。
そういえば、Cはめっきり触らなくなったなぁ。
0021デフォルトの名無しさん
2008/10/24(金) 17:56:281985 1988 1990 1994 2005 2008
BASIC─COBOL┬─ C.─┬C++…Java┬C#─ 今ここ
.├.ASM─┤ └VB─ …
.└Fortran┘ …Delphi…
C++を使い始めた時点で迷走を始め、その時のプロジェクトを終えた後は
しばらくソフトウェアから遠ざかったてた。
Delphiは外資系の知育教材言語、Javaも外資の金融・証券系の知的好奇心教材に
感じてしまい放置プレーw
0022デフォルトの名無しさん
2008/10/24(金) 20:40:02設計者が一緒だからね。
C→Delphi→Java(すぐやめた)→C#だなあ
0024デフォルトの名無しさん
2008/10/24(金) 20:59:590025デフォルトの名無しさん
2008/10/24(金) 21:01:59http://pc11.2ch.net/test/read.cgi/mac/1224839401/
消しゴムじゃないMONOを使ってみるスレ 2個目
http://pc11.2ch.net/test/read.cgi/tech/1100616350/
0026デフォルトの名無しさん
2008/10/24(金) 21:26:200027デフォルトの名無しさん
2008/10/24(金) 23:07:45幼稚園->小学校->中学校->高校->大学->C#
0028デフォルトの名無しさん
2008/10/25(土) 00:09:08クラス内で変数を宣言する場合、その初期化はどこで行うべきでしょうか?
Class Test
{
//変数
private List<int> _listInt = new List<int>();
}
とするべきなのか
Class Test
{
//変数
private List<int> _listInt = null;
public Test{
_listInt = new List<int>();
}
}
ググってみたのですが、いまいちよくわかりませんでした。
よろしくお願いいたします。
0029デフォルトの名無しさん
2008/10/25(土) 00:16:150030デフォルトの名無しさん
2008/10/25(土) 00:23:47そのコードでどうなるかは知らんけど、コンストラクタ外で変数を初期化してる
似たようなコードを逆アセしたときは、変数がコンストラクタ内で初期化されてた。
コンストラクタが複数あっても全部の中で初期化されてた。
0031デフォルトの名無しさん
2008/10/25(土) 00:26:53外側に書いとけばコンストラクタが多くても安心。
0032デフォルトの名無しさん
2008/10/25(土) 00:39:02なるほど。
外側に書いておいた方が個人的にはわかりやすい(コンストラクタの行数が減ってくれる)ので、外側で初期化しようと思います。
皆様ありがとうございました。
0033デフォルトの名無しさん
2008/10/25(土) 08:50:13フォーム上に位置などの情報を持ったアイコンオブジェクトが点在し、
例えば、あるアイコンをクリックすると、フォームの右側にある数値などのプロパティ表示部がそのアイコンの情報になり、
それを変更することによってアイコンオブジェクトの操作ができると。
アイコンはマウスによって視覚的に操作できる、みたいなツールを作ろうとしているのでが、
指針を教えていただければ幸いです。表現がわかりにくくてすいません。
0034デフォルトの名無しさん
2008/10/25(土) 09:20:15殆どのコントロールで出来ます
0035デフォルトの名無しさん
2008/10/25(土) 09:23:25開発時ではなくアプリケーション実行時です。
0036デフォルトの名無しさん
2008/10/25(土) 10:27:190037デフォルトの名無しさん
2008/10/25(土) 10:34:300038デフォルトの名無しさん
2008/10/25(土) 11:17:05たぶんそうであります。
0039デフォルトの名無しさん
2008/10/25(土) 11:18:530040デフォルトの名無しさん
2008/10/25(土) 11:21:36↑こういうのですね
グラフィカルでダイナミックなUIか
.NETのFormはそういうの向いてない、のかな
0041デフォルトの名無しさん
2008/10/25(土) 11:22:23コントロールに頼らずに,一枚のキャンバスに全部自前で描画する
0042デフォルトの名無しさん
2008/10/25(土) 11:22:480043デフォルトの名無しさん
2008/10/25(土) 11:23:530044デフォルトの名無しさん
2008/10/25(土) 12:00:410045デフォルトの名無しさん
2008/10/25(土) 12:23:03気持ち悪い奴。
わかります、だとさw
こういう奴のアイデンティティーって本気で「2チャンネラー」なんじゃないの?
0046デフォルトの名無しさん
2008/10/25(土) 12:35:400047デフォルトの名無しさん
2008/10/25(土) 12:42:18javaもやるかな
0048デフォルトの名無しさん
2008/10/25(土) 12:48:08誤爆乙
0049デフォルトの名無しさん
2008/10/25(土) 13:26:59おまえ生粋のねらーだな
俺は釣られない「クマー」
0050デフォルトの名無しさん
2008/10/25(土) 13:39:330051デフォルトの名無しさん
2008/10/25(土) 15:36:420052デフォルトの名無しさん
2008/10/25(土) 16:13:52ってな感じでnamespace作って、
connection取れなかった時に〜と思って、try-catchも入れたら、
入れ子が大変なことになってしまうんだが、
そんなこと気にしてるの俺だけ?
C#+SQLiteのサンプル公開してるサイトとかでは、
そこらへんのエラー処理をやってるの見たこと無いし、
connection取れないハズがない的性善説がデフォ?
0053デフォルトの名無しさん
2008/10/25(土) 16:25:49接続できなくてどうしようもない場合はキャッチする必要がある。
005453
2008/10/25(土) 16:26:230055デフォルトの名無しさん
2008/10/25(土) 17:09:120056デフォルトの名無しさん
2008/10/25(土) 17:19:53俺専用アプリだから通知不要といえば不要なんだが、
通知するのが当たり前と思ってたから、なんか気持ち悪くてな。
かといって入れ子が激しいのも気持ち悪いし。
入れ子回避ならusing使わなきゃいいけど、それだとC#の便利さが損なわれるし。
悩ましいなぁ。
0057デフォルトの名無しさん
2008/10/25(土) 17:20:100058モモ
2008/10/25(土) 17:21:08public static string ToHex(byte value)
{
return String.Format("0x{0:X2}", value);
}
public static string ToHex(ushort value)
{
return String.Format("0x{0:X4}", value);
}
public static void TextSetHex(TextBox text, byte value)
{
text.Text = ToHex(value);
}
public static void TextSetHex(TextBox text, ushort value)
{
text.Text = ToHex(value);
}
}
この TextSetHex メソッドをテンプレート化することはできないでしょうか?
0059デフォルトの名無しさん
2008/10/25(土) 17:28:25静的には無理でしょ
if (typeof(T)==typeof(byte)) else if (
みたいなのなら可能だけど記述量が増えるだけ
0060デフォルトの名無しさん
2008/10/25(土) 17:39:53if (value is byte) text.Text = ToHex((byte)value);
else if (value is ushort) text.Text = ToHex((ushort)value);
0061デフォルトの名無しさん
2008/10/25(土) 17:40:51SQLiteでもDBに接続できないなんてことは普通にあるから、try-catchで囲むべき
サンプルは例外処理を入れるとごちゃごちゃするので省いているだけだろう
もしかしたらSQLiteっていうより例外処理一般の書き方の問題かもしれない
0062デフォルトの名無しさん
2008/10/25(土) 18:07:330063デフォルトの名無しさん
2008/10/25(土) 19:27:09なにぃぃぃ!ディレクティブ?
>>61
そうなのか>SQLiteでもDBに接続できない
じゃあ実装することにするよ。
つっても、connection, command, transactionの3ヶ所で必要ってのは、
悲しくなるな・・・
>>62
connectionが取れるまで頑張る
0064デフォルトの名無しさん
2008/10/25(土) 19:46:130066デフォルトの名無しさん
2008/10/25(土) 20:50:19一番外側だけでいいのかも?かも?
で、connection以下の処理を別のメソッドに分ければスキーリ?
0067デフォルトの名無しさん
2008/10/25(土) 21:10:27一元化できるし。
0068デフォルトの名無しさん
2008/10/25(土) 21:21:33普通ではないな
0069デフォルトの名無しさん
2008/10/25(土) 21:32:44それを使うのが普通だよな。
0070デフォルトの名無しさん
2008/10/25(土) 21:55:040071デフォルトの名無しさん
2008/10/25(土) 22:09:590072デフォルトの名無しさん
2008/10/25(土) 22:46:13なにか簡単な方法があれば教えてください。
よろしくお願いいたします。
0073デフォルトの名無しさん
2008/10/25(土) 22:53:030074デフォルトの名無しさん
2008/10/25(土) 23:14:06いえ、単純に英語のアルファベット順です
abcとabxを比較したらabcが辞書的に先に出ることを判定したいです
0075デフォルトの名無しさん
2008/10/25(土) 23:25:05http://msdn.microsoft.com/ja-jp/library/system.globalization.compareoptions(VS.80).aspx
0076デフォルトの名無しさん
2008/10/25(土) 23:33:19ありがとうございました
かなり参考になりそうです
0077モモ
2008/10/25(土) 23:33:280079デフォルトの名無しさん
2008/10/25(土) 23:39:39やめろとは言わないけど,うざがられる可能性があるだけで何のメリットもないだろ
0080デフォルトの名無しさん
2008/10/25(土) 23:58:570081デフォルトの名無しさん
2008/10/26(日) 03:13:04こんな感じかねぇ
static class Util {
private static void ValidateTypeParameter<T>(T dummy) {
var typeCode = Type.GetTypeCode(typeof(T));
switch(typeCode) {
case TypeCode.SByte: case TypeCode.Byte: case TypeCode.Int16: case TypeCode.UInt16:
case TypeCode.Int32: case TypeCode.UInt32: case TypeCode.Int64: case TypeCode.UInt64:
return;
default:
throw new NotSupportedException();
}
}
public static string ToHexString<T>(T value) where T : struct {
ValidateTypeParameter(value);
string fmt = "0x{0:X" + Marshal.SizeOf(value) * 2+ "}";
return String.Format(fmt, value);
}
}
0082デフォルトの名無しさん
2008/10/26(日) 05:20:470083デフォルトの名無しさん
2008/10/26(日) 05:48:29全部C#で作った場合よりも一般に高速になりますか?
0084デフォルトの名無しさん
2008/10/26(日) 06:33:100085デフォルトの名無しさん
2008/10/26(日) 06:40:530086デフォルトの名無しさん
2008/10/26(日) 08:23:040087デフォルトの名無しさん
2008/10/26(日) 08:31:27速くはならんが、頻繁によんでも遅くはならんよ。そこがJITの不思議。
0088デフォルトの名無しさん
2008/10/26(日) 08:36:360089デフォルトの名無しさん
2008/10/26(日) 09:56:49interopのマーシャリングのオーバーヘッドとかって 遅くなる要因にはならないのかな
.netが遅いのは起動時とwindows formsのGUIで、単なるロジック計算なら
普通に書いてもネイティブの90%ぐらいは出るって読んだことがあるが。
0090デフォルトの名無しさん
2008/10/26(日) 10:02:460091デフォルトの名無しさん
2008/10/26(日) 10:10:50二回目以降はコンパイル済みのコードを呼ぶので早いぞ
・・・サーバ向きだな
0092デフォルトの名無しさん
2008/10/26(日) 11:30:10遅くならないといったのはCLIのDLLを読んだ場合。
0093デフォルトの名無しさん
2008/10/26(日) 11:36:54マネージド・アンマネージド間の呼び出しのコストも大きい。
さらにデフォルトのP/Invokeの場合呼出しごとにアンマネージド呼び出しのセキュリティチェックも入る。
一方CLIのアセンブリ同士ならたとえDLLで分離されていてもJITでDLLを越えて最適化される。
0094デフォルトの名無しさん
2008/10/26(日) 13:02:060095デフォルトの名無しさん
2008/10/26(日) 15:31:450096デフォルトの名無しさん
2008/10/26(日) 16:46:090097デフォルトの名無しさん
2008/10/26(日) 16:56:310098デフォルトの名無しさん
2008/10/26(日) 17:05:380099デフォルトの名無しさん
2008/10/26(日) 17:07:170100デフォルトの名無しさん
2008/10/26(日) 17:17:07元々の意味は何なの?
0101デフォルトの名無しさん
2008/10/26(日) 17:46:49そう、あれは・・・
0102デフォルトの名無しさん
2008/10/26(日) 18:45:00正確なことは決めた中の人に聞いてという感じ
0103デフォルトの名無しさん
2008/10/26(日) 18:50:150104モモ
2008/10/26(日) 19:40:52デフォルトで作られる Form1 というフォームに、さらに、
Form1.Hoge.cs というファイルを作成して、
partial class Form1 と書いたらね、うまく動いたんだけど、
それをダブルクリックすると、空の正方形のフォームが表示されるの。
これって変くないですか?
0105デフォルトの名無しさん
2008/10/26(日) 19:46:060106デフォルトの名無しさん
2008/10/26(日) 19:46:090107デフォルトの名無しさん
2008/10/26(日) 19:46:170108デフォルトの名無しさん
2008/10/26(日) 19:48:19Form1.Hoge.csを閉じるようにすればいい。
0109デフォルトの名無しさん
2008/10/26(日) 19:52:41Form1のダブルクリックイベントのメソッド内で
if(Form1.Hoge.csが開いていたら)
Form1.Hoge.csをとじる。
Form1.Hoge.csって言う名前がへんだなあ。変なフォームの作り方とかしてないか?
0110デフォルトの名無しさん
2008/10/26(日) 19:55:37デザイナに初期状態のフォームが表示されるんだろ
うちでもそうなった
0111デフォルトの名無しさん
2008/10/26(日) 22:46:350112デフォルトの名無しさん
2008/10/26(日) 22:54:23とするか、
使う時に、列挙体の前にその名前空間を付けてやればいいんじゃない?
0113デフォルトの名無しさん
2008/10/26(日) 23:22:05Σ(´ω`*)インスタンス化ばっか気にしてましたorz
無事usingで出てきやした。ありがとん。
0114デフォルトの名無しさん
2008/10/27(月) 18:22:360115デフォルトの名無しさん
2008/10/27(月) 18:36:03場合によっては早くなるかもしれないぞ
0116デフォルトの名無しさん
2008/10/27(月) 22:50:43MyDocumentフォルダのAccessのmdbファイルをプロジェクト内にコピーしますか?っていわれまして
コピーしたんですが、プロジェクトのフォルダとプロジェクトのフォルダ\bin\Debugの両方にコピーされています。
これは、正式にインストーラを作る段階で問題にならなく、うまくインストーラが作ってくれるのでしょうか?
0117デフォルトの名無しさん
2008/10/27(月) 22:53:270118デフォルトの名無しさん
2008/10/28(火) 17:25:52Chr関数使えなかったり、違うクラスのコントロールにアクセスするのに
プロテクションレベルがあったり、VBからだと初学くらいの気持ちじゃないとだめだあ
0119デフォルトの名無しさん
2008/10/28(火) 17:39:040120デフォルトの名無しさん
2008/10/28(火) 17:39:260121デフォルトの名無しさん
2008/10/28(火) 17:42:14VBからだとめんどくさいだけであんまりメリットないかな?
0122デフォルトの名無しさん
2008/10/28(火) 17:47:130123デフォルトの名無しさん
2008/10/28(火) 18:52:480124デフォルトの名無しさん
2008/10/28(火) 19:17:15わんくまの誰かもブログで書いてたけど、
そんな風に思うならそれは君がVBすらろくに使いこなせてなかったんだよきっと。
0126デフォルトの名無しさん
2008/10/28(火) 19:23:00http://blogs.wankuma.com/jeanne/archive/2006/08/02/34597.aspx
0127デフォルトの名無しさん
2008/10/28(火) 19:24:38ここのSylpheenとかソース公開してるけど、VBでもちゃんと
やればC#とそんなに変わらないんだなぁと思う。
0129デフォルトの名無しさん
2008/10/28(火) 19:28:380130デフォルトの名無しさん
2008/10/28(火) 19:29:46VB.NET から C# へ移行できない人たち に置き換えて読めばいいよ。
0131デフォルトの名無しさん
2008/10/28(火) 19:33:330132118
2008/10/28(火) 19:34:14型変換の強制の有無や>>118みたいなことって使い方の違う道具であって
「VBでC#と同じ使い方をしないのは間違えてる」という主張はおかしいですよね?
.NETで困っているわけでもないですし、VBのゆるさは実感してるし。
0133デフォルトの名無しさん
2008/10/28(火) 19:36:42だから、もしVB.NETとC#の間にそんなに違和感を感じるのなら、
VB.NETもまともに使えてないんだって。間違いなく。
>「VBでC#と同じ使い方をしないのは間違えてる」
むしろこう考えるべきだ。
0134デフォルトの名無しさん
2008/10/28(火) 19:36:57わかってなくてなんとなく使ってなんとなく動いちゃってるのが問題
>>126で言われてるのはそういうことだろ
0136118
2008/10/28(火) 19:43:56全くその通りだと思います。
>>126で言われてることと自分が感じたギャップは方向性が違うし
今まで気にしなかったけどVBプログラマに対する偏見や差別みたいなものを
ちょっと感じました。
「初学のつもりで」って書いたのが原因かもしれませんが。
0137デフォルトの名無しさん
2008/10/28(火) 19:47:42そんなに人に承認されたいと思ってることが逆説的に君がダメな奴であることを
証明してるんじゃないかと俺は思うけど。
0138デフォルトの名無しさん
2008/10/28(火) 19:48:22VBのルーズさは,それが売りなんじゃなくて
どちらかというと分かってない人でも使えるようにするためだから
0140デフォルトの名無しさん
2008/10/28(火) 19:54:040141デフォルトの名無しさん
2008/10/28(火) 19:59:08それは“何の”暗黙の型変換を言ってるんだ?
0142デフォルトの名無しさん
2008/10/28(火) 20:02:45たいがい手間は変わらないんだから,.NETで一般的なやり方を紹介するべき
0144デフォルトの名無しさん
2008/10/28(火) 20:18:550145118
2008/10/28(火) 20:26:49ルーズさの代表選手として例を挙げてみただけですが
突っ込みって見下したような質問のことでしょうか?
歓迎されていないようなので退散します。失礼しました。
0146デフォルトの名無しさん
2008/10/28(火) 20:37:200147デフォルトの名無しさん
2008/10/28(火) 20:50:260148デフォルトの名無しさん
2008/10/28(火) 20:53:280149デフォルトの名無しさん
2008/10/28(火) 21:06:24少なくとも一人じゃないよ。
まあ小学校の学級会じゃねえんだから人数の問題じゃないと思うが。
それに初心者が初心者であるという理由で「叩いて」るわけじゃない。
ダメなくせに自分がダメだという自覚がないさまを嘲笑してるんだよ。
0150デフォルトの名無しさん
2008/10/28(火) 21:08:430151デフォルトの名無しさん
2008/10/28(火) 21:22:300152デフォルトの名無しさん
2008/10/28(火) 21:30:23被害妄想激しいね。
ちなみに、件の彼を非難してた人間の一人である俺は仕事ではメインでVBの方使ってるし、
そんな下らない偏見など持ってない。
VBがダメなんじゃなくて彼がダメなの。
ダメな奴をダメだといってるだけだから。
0153デフォルトの名無しさん
2008/10/28(火) 21:39:07プロテクションレベルにしたってコントロールのプロパティが
VBはデフォルトでFriendだけどC#はPrivateって話だろ
>>126のリンク先の内容とはぜんぜん違うよな
単に叩いて優越感に浸るのが趣味の人にしか見えない
0154デフォルトの名無しさん
2008/10/28(火) 21:43:48防衛機制激しいな。
まあ俺が仮に「単に叩いて優越感に浸るのが趣味の人」だとしても
言ってることは間違ってないと思うけどね。
一つ聞くが、コントロールのアクセスレベルが仮にC#もFriend(internal)だとして、
お前さんは外からフィールドであるコントロールにアクセスするようなコード
書きたいと思う?
普通思わないでしょ。
0155デフォルトの名無しさん
2008/10/28(火) 22:12:07おまえらスレタイ読めよ
0156デフォルトの名無しさん
2008/10/28(火) 22:37:110157デフォルトの名無しさん
2008/10/28(火) 22:49:44C#ぽく書くこともできるしVB6のような書き方もできる。
人の書いたVBのコードを見ると他にどういう言語をやってきたのかだいたいわかるよ。
0158デフォルトの名無しさん
2008/10/28(火) 23:32:120159デフォルトの名無しさん
2008/10/28(火) 23:35:150160デフォルトの名無しさん
2008/10/28(火) 23:40:420161デフォルトの名無しさん
2008/10/28(火) 23:41:580162デフォルトの名無しさん
2008/10/28(火) 23:46:18Leaveイベントとかないですよね^^;
0163デフォルトの名無しさん
2008/10/28(火) 23:56:330164デフォルトの名無しさん
2008/10/29(水) 00:12:52http://blogs.msdn.com/charlie/archive/2008/01/25/future-focus.aspx
むしろ、やっと動的型。
0165デフォルトの名無しさん
2008/10/29(水) 00:20:04VBのStrict Offより手軽だねえ
0166デフォルトの名無しさん
2008/10/29(水) 00:30:17あと、VB みたいに Variant ではないし。
0167デフォルトの名無しさん
2008/10/29(水) 02:02:42FileSytemWatcherよりFindFirstの方がいいのかな
余計なイベント拾いすぎて更新完了されたかどうかの判定が思いつかない
0168デフォルトの名無しさん
2008/10/29(水) 02:26:110169デフォルトの名無しさん
2008/10/29(水) 03:14:31んで、Changeイベント発生しちゃう。上書き保存したらまた同じくイベント発生
最悪なのがアンチウイルスソフト入れてるとその監査で1回多くイベント発生したりで
0170デフォルトの名無しさん
2008/10/29(水) 04:19:58具体的な仕様が分からんと何とも言えんけど
ファイルの更新をSizeで判断するのが許されるのであれば、
NotifyFilterにNotifyFilters.Sizeを指定してやる手もある(分けて書き込まれた場合複数回発生する)
直近のイベントを一時的に自前のバッファに蓄えて(重複を無くす為)、定期的/一定時間経過したら/一定数溜まったら処理を行うようにしては?
0171デフォルトの名無しさん
2008/10/29(水) 19:23:07ラップするっていう発想がない人?
0172デフォルトの名無しさん
2008/10/29(水) 20:02:17そのアプリは監視対象を読むだけで変更しないなら LastWrite で何も問題ないじゃないか
あとは更新完了の判定?
監視対象を(書き込み用に)開いているプロセスが無くなったら更新完了でしょ
(ただし、更新する側がファイル開きっぱなしのクソ設計だったらしらね)
実装としては排他ロックしてしまうのが手っ取り早い
ロック出来なきゃまだ開いているファイルがあるので保留
0173デフォルトの名無しさん
2008/10/29(水) 23:18:34Sizeで見るって手も浮かんだけどSizeが必ず変わるか?というの考えたら
排他処理がわからんので、LastTime来た時点でOpenさせてみて
失敗したら待機後また挑戦というアレな方法しか思いつかなかった。
0174デフォルトの名無しさん
2008/10/30(木) 00:01:15その更新というのは単に上書きなのか、追記なのか、部分更新をしているかで
扱いが変わるかもしれない。
0175デフォルトの名無しさん
2008/10/30(木) 18:33:15強制ID実装を駄目元で頼み込んでみた。
もし賛同してくれる人がいたら同意のレスつけてください。
0176デフォルトの名無しさん
2008/10/30(木) 19:35:510177デフォルトの名無しさん
2008/10/30(木) 19:45:520178デフォルトの名無しさん
2008/10/30(木) 21:02:020179デフォルトの名無しさん
2008/10/31(金) 00:02:58どうすればよい?
↓こんなページはみつけたが、どう適用すればいいかわからなくて行き詰った。
http://d.hatena.ne.jp/sixpetals/20060516/p1
ヒントちょうらい
0180179
2008/10/31(金) 00:06:26こんなんもあった。
Streamから得たBitmapはStreamを閉じなきゃシリアライズ出来るらしい。
けど閉じちゃってるデス。
引き続きヒント求ム
0181179
2008/10/31(金) 00:08:59こんなのもあった。
MemoryStreamをシリアライズしろ!ってな話なんだけど、
俺がやりたいのは
Formatter.Serialize(fstream, datatable)
で一発シリアライズしたいのだ。
引き続きヒント求ム。
0182179
2008/10/31(金) 00:37:16・DataGridView にネットワークストリームでひっぱってきた画像やらなんやらいろいろ表示させている
・データの管理はDataTableでやってる
・DataGridViewとDataTableはバインドさせてる
・アプリ終了時に、DataGridViewの内容をそのまま復帰させたい。
→DataTableをシリアライズすりゃいいんじゃね?
ってことでDataTableのシリアライズにこだわってますた。
解決方法として思いついたのは(試してないけど)
・DataTableにはMemorySteamを持たせ、CellFormattingイベントで毎度セルに描画させる。
・バイナリでDataTableに突っ込むのはあきらめて画像はファイルとして保持
DataTableには画像のパスを持たせて、CellFormattingで毎度セルに描画
・ネットワークストリームを一旦MemoryStreamにかませて、MemoryStreamはクローズしない。
てくらいっす。
0183デフォルトの名無しさん
2008/10/31(金) 01:21:070184デフォルトの名無しさん
2008/10/31(金) 07:09:47StreamはBitmap(Stream)で作ったBitmapがDisposeされるまで閉じちゃいかんよ。
0185デフォルトの名無しさん
2008/10/31(金) 13:07:43error CS0234: 型、または名前空間名 'Generic'
は、クラスまたは名前空間 'System.Collections'
に存在しません。アセンブリ参照があるか確認してください。
とエラーが出てしまうんですが、何が原因なのでしょうか?
(Genericを利用しないコードは、問題なくコンパイルできます)
パスを通すために、sdkbars.batを実行してから再起動もしたんですが、何も変わりません。
0186デフォルトの名無しさん
2008/10/31(金) 13:55:030187デフォルトの名無しさん
2008/10/31(金) 14:00:210188デフォルトの名無しさん
2008/10/31(金) 15:08:24なにを再起動したのかね?きみ
0189デフォルトの名無しさん
2008/10/31(金) 15:20:01再起動したらまたbat実行しなくちゃな
0190185
2008/10/31(金) 16:13:36バージョンを3.5にしたら解決しました。お手数おかけしました。
0191デフォルトの名無しさん
2008/10/31(金) 19:48:420192デフォルトの名無しさん
2008/10/31(金) 20:04:390193デフォルトの名無しさん
2008/10/31(金) 20:16:580194デフォルトの名無しさん
2008/10/31(金) 20:20:32エスパーすると、Uint32.Parse()のオーバーロードに目的のがあるだろ
0195デフォルトの名無しさん
2008/10/31(金) 20:23:280196デフォルトの名無しさん
2008/10/31(金) 21:01:210197デフォルトの名無しさん
2008/10/31(金) 21:03:170198デフォルトの名無しさん
2008/10/31(金) 21:18:150200デフォルトの名無しさん
2008/11/02(日) 08:01:16なんでこんなショボイことやってんのMS
筋通せごるああああああああああああああ
0201デフォルトの名無しさん
2008/11/02(日) 08:41:09WPFとXNAはそもそも用途が違う。
0202デフォルトの名無しさん
2008/11/02(日) 08:49:52XNAはゲーム用フレームワーク。
UpdateとかDrawが最初からあって、その中書くだけでゲームになる。
WPFはデスクトップ用。
HTML+JavaScriptのノリで、XAML+C#を書いてプログラムを作る。
ボタンとかテキストボックスとかのコントロールが多彩。
0203デフォルトの名無しさん
2008/11/02(日) 08:54:070204デフォルトの名無しさん
2008/11/02(日) 09:12:39XNAはチームで作っているプロジェクト
WPFは巨大なチームで作っているプロジェクト
0205デフォルトの名無しさん
2008/11/02(日) 09:14:53要求されるものがかなり違うから。
それでも統一できるほど今のハードウェアは十分じゃない。
0206デフォルトの名無しさん
2008/11/02(日) 09:31:590207デフォルトの名無しさん
2008/11/02(日) 09:48:530208デフォルトの名無しさん
2008/11/02(日) 10:10:020209デフォルトの名無しさん
2008/11/02(日) 10:31:590210デフォルトの名無しさん
2008/11/02(日) 10:45:56極力、ハードウェアに依存するようなところを隠蔽して、
抽象化しておきたかったんだろう。
0211デフォルトの名無しさん
2008/11/02(日) 10:50:47Silverlightはガチガチすぎる
0212デフォルトの名無しさん
2008/11/02(日) 11:33:40矢印を描画しました。
これをマウスでドラッグ&ドロップをしたい場合、
簡単な方法はありますか?
というかGraphicsオブジェクトは
FormのControlsプロパティのAddメソッドに
追加できないのですね・・・とほほ。
すみませんが教えてください。
0213デフォルトの名無しさん
2008/11/02(日) 11:35:26ヒットテストして移動させる処理を自分で書きます
0214デフォルトの名無しさん
2008/11/02(日) 11:40:00移動させるというのはあくまで抽象的な話で、実際はコントロールのような仕組みに一切頼らず
自分で位置を決めてDrawLineで毎回描画する必要があります
Lineクラスとか自分で定義して線を描画する位置を管理することになります
0215デフォルトの名無しさん
2008/11/02(日) 11:55:39PathとかもFrameworkElementだもんな
0216デフォルトの名無しさん
2008/11/02(日) 11:59:500217デフォルトの名無しさん
2008/11/02(日) 14:04:32普通にLabelあたりを継承したコントロールとして実装した方が
ずっと簡単に思うんだけど・・・
0218デフォルトの名無しさん
2008/11/02(日) 14:07:320219デフォルトの名無しさん
2008/11/02(日) 14:13:53図形そのものの形状も編集できるようにしたいってこと?
それにしてもマウスポインタの当たり判定を自動でやってくれる分、
何らかのコントロールから派生した方が簡単じゃないのかな。
0220デフォルトの名無しさん
2008/11/02(日) 14:13:580221デフォルトの名無しさん
2008/11/02(日) 14:14:45いやそれはリージョンを設定するだけでしょ
0222デフォルトの名無しさん
2008/11/02(日) 14:18:380223デフォルトの名無しさん
2008/11/02(日) 14:20:44できるのかよ。
0224デフォルトの名無しさん
2008/11/02(日) 14:22:220225デフォルトの名無しさん
2008/11/02(日) 14:22:250226デフォルトの名無しさん
2008/11/02(日) 14:23:47つまり図形の編集までは言ってないってことだよね?
俺もそう思うんだが、ならばなおさらコントロール派生した方が簡単でしょ。
0227デフォルトの名無しさん
2008/11/02(日) 14:29:47矢印移動して何するんだろう
0228212
2008/11/03(月) 10:23:07私としては、コモンコントロールのどれかを
継承して実装を行うのが一番楽かなということに
まとまりそうです。
ご意見ありがとうございました。
0229デフォルトの名無しさん
2008/11/03(月) 10:29:25class A<T>
{
public typedef T typ;
}
見たいな事したいんです。
0230デフォルトの名無しさん
2008/11/03(月) 10:31:39ファイル単位でならusingディレクティブで似たようなことはできる
0231デフォルトの名無しさん
2008/11/03(月) 11:56:270232デフォルトの名無しさん
2008/11/03(月) 12:00:490233デフォルトの名無しさん
2008/11/03(月) 12:01:52クラスなら偽装で派生させれば一応可能だね。
あまり誉められたやり方じゃないかもしれないけど。。。
0234デフォルトの名無しさん
2008/11/03(月) 12:02:400235デフォルトの名無しさん
2008/11/03(月) 12:05:00冷静に考えればCだってファイル単位じゃん。
0236デフォルトの名無しさん
2008/11/03(月) 12:29:16A<string> a = new A();
var item = a.GetItem();
でいいでしょ
0237236
2008/11/03(月) 12:32:06A<string> a = new A<T>();
var item = a.GetItem();//GetItemの戻り値はT型
0238デフォルトの名無しさん
2008/11/03(月) 13:07:12using ディレクティブは 2 つの機能があって
using System;
と
using HANDLE = System.IntPtr;
があるので後者で済ませという話。typedef はあってもよかった説が
あるけどどっちにしろ「すでに遅い」。
0239デフォルトの名無しさん
2008/11/03(月) 13:09:26typedefなんていらん。
0240デフォルトの名無しさん
2008/11/03(月) 13:21:59AssemblyInfoで宣言するみたいなのはできてもいい気はする
0241デフォルトの名無しさん
2008/11/03(月) 13:25:14A<string> a = new A<T>();
a.type item = a.GetItem();//GetItemの戻り値はT型
見たいな感じでitemの型をTに限定できないかな。
0242デフォルトの名無しさん
2008/11/03(月) 13:25:21インクルードと typedef は何の関係もない
型に別名を付けるだけだからな。スコープもきちんと持つし、
気になるのはトークンの判別だけどネストクラスが出来る
んだから大丈夫だろ。
要らないとかについてはたとえば MouseEventHandler とかは
typedef MouseEventHandler EventHandler<MouseEventArgs>;
とかの方がきれいなんだよ確かに。
0243242
2008/11/03(月) 13:26:56typedef EventHandler<MouseEventArgs> MouseEventHandler;
ですた
0244デフォルトの名無しさん
2008/11/03(月) 13:27:210245デフォルトの名無しさん
2008/11/03(月) 13:27:440247デフォルトの名無しさん
2008/11/03(月) 13:31:03だから別名の機能そのものはC#にもあるから新たにtypedefなんかいらんでしょ。
もし問題があるとすれば、その別名定義がCと同じようにファイルスコープなのに、
別名定義したファイルをインクルードする機能がC#にはない点だけだ。
0248デフォルトの名無しさん
2008/11/03(月) 17:04:03Int32とint
この関係をC#の文法で書くとどうなってんの
using int=System.Int32?
0249デフォルトの名無しさん
2008/11/03(月) 17:07:10「C#となのるいじょうりょうしゃはまったくおなじ」
0250デフォルトの名無しさん
2008/11/03(月) 17:08:06typedefがあってもいいだろ
0251デフォルトの名無しさん
2008/11/03(月) 17:14:050252デフォルトの名無しさん
2008/11/03(月) 17:15:47嘘だと思うなら読んでみ
0254デフォルトの名無しさん
2008/11/03(月) 17:27:250255デフォルトの名無しさん
2008/11/03(月) 18:35:11ごめんなさいごめんなさい
0256デフォルトの名無しさん
2008/11/03(月) 19:31:12そんなレベルの話ではなくてだな、CLI レベルの話
ヘジの答え抜粋
■C++から移行した多くの開発者が「typedef」(=型の別名を定義するキーワード)
を欲しがっているが、C#では組み込まれないのか?
この要望も以前からあったが、typedefキーワードの問題点としては、型の別名を自由に
定義できてしまうので、プログラマーにとって混乱を引き起こしやすいことが挙げられる(
型の名前を見ただけでは、本当の型の種類が何か分からない)。
また.NET Frameworkでは、それぞれの型には1つの名前しか定義できない仕様になって
いる。従ってtypedefを効果的に使うには、.NET Frameworkレベルでの対応が必要になり、
それが全言語へ反映されなければ意味がないだろう。
しかしこの規模の対応を行うには、もう現時点では「ときすでに遅し」だ。ただ一応、今後も
引き続き検討は続ける予定である。
0257デフォルトの名無しさん
2008/11/03(月) 19:43:36そういえばLinuxのカーネルだったかGNUだったか忘れたけど
typedefはやめたほうがいいって主張してる人いたね
へジたんのインタビューは結構面白いんだけど
英語を訳しきれずに間違って解釈してそうで怖いんだよなー
どこかで和訳してないだろうか
0258デフォルトの名無しさん
2008/11/03(月) 19:50:31どんなレベルの話だろうと>>242はおかしい。
typedefがないことなど問題の本質ではない。
>>257
だからヲタは気色悪いんだよ。
そういうの面白いと思ってるのか知らんけど。
0259デフォルトの名無しさん
2008/11/03(月) 19:56:45意味がわからんのだけど
お前がいう「問題の本質」ってなに?
0260デフォルトの名無しさん
2008/11/03(月) 20:05:110261デフォルトの名無しさん
2008/11/03(月) 20:12:51うーむ。なんかこう、typedef の機能「自体」が伝わってない気がする
C++ 屋が typedef ほしいってのは「エイリアス」がほしいんじゃないん
だよぶっちゃけると。識別するためにそりゃ名前付けるのがやってる
ことだけども本質は静的に型を「組み合わせて」「伝えて」いきたいの。
型でプログラミングしたいのよ。
だから型システムに組み込まれてないと困るの。そして using は
せいぜい機能が補間だから役者不足。ファイルスコープがどうとかで
はなく。インクルード追加されたところで同じ。モジュール(スコープ)
単位が型じゃなくなるから一緒。
もっともシンプルな STL の例なら、vector<T> が iterator を内部に
もってそれをさらに参照してみたいなことがしたいのようするに。
型に型持たせてメタメタりたいの。
0262261
2008/11/03(月) 20:15:29俺はむしろ微妙に否定派だし。
0263デフォルトの名無しさん
2008/11/03(月) 22:14:58.NET全体として実行時メタプログラミングが大ブームなので(LISP回帰とも言うが)
その要望自体がもはやニッチすぎるんだと思う。
Expression Trees v2とか見てみるといい。
0264デフォルトの名無しさん
2008/11/03(月) 22:29:48昔から属性でメタメタやってるし。
逆に属性でメタメタやれてないC++屋の方が哀れに見えることもある。
0265デフォルトの名無しさん
2008/11/03(月) 22:35:12まだまだ先だけど
0266デフォルトの名無しさん
2008/11/04(火) 21:30:25あるいはもう一ひねりして自動的にCloseするFormを作ることは可能?
可能だとしたらどうしたらいいんだろう。
0267デフォルトの名無しさん
2008/11/04(火) 21:47:420268デフォルトの名無しさん
2008/11/04(火) 21:57:07参照カウンタ付けてタイマで見張る方がまだマシだと思うよ
0269デフォルトの名無しさん
2008/11/05(水) 08:33:560270デフォルトの名無しさん
2008/11/05(水) 12:13:080271デフォルトの名無しさん
2008/11/05(水) 13:43:170272モモ
2008/11/05(水) 19:23:52function Format(string format, params object[] args)
{
}
という関数で受け取った args を、可変個引数として
String.Format に渡すには、どうしたらよいですか?
String.Format(format, args)
では、args が引数の1つになってしまうよね?
0273デフォルトの名無しさん
2008/11/05(水) 19:25:410274デフォルトの名無しさん
2008/11/05(水) 20:22:210275デフォルトの名無しさん
2008/11/05(水) 20:48:03デフォルトパラメータは属性がつくみたいだけど
0276デフォルトの名無しさん
2008/11/05(水) 20:54:11参照カウンタなんて実装可能?
0277デフォルトの名無しさん
2008/11/05(水) 21:06:32言語レベルの実装なら間違いなく付くでしょ
もしかしたらCLRに組み込まれるのかもしれないけど
>>276
自分でAddRef/ReleaseRefとか定義して呼び出せばいい
WPFなんかだとDisposeを排除した代わりに内部にそれっぽいのが結構出てくるよ
0278デフォルトの名無しさん
2008/11/05(水) 21:22:13CLIは2.0の段階で既にcovariance/contravarianceをサポートしてるよ。
あとは標準ライブラリとC#の文法を変えるだけ。
0279デフォルトの名無しさん
2008/11/05(水) 21:27:460280デフォルトの名無しさん
2008/11/05(水) 21:38:26ジェネリックパラメータが共変/反変を許すかどうかは、
既にメタデータとして持ってるから、属性はつかないと思うよ。
0281デフォルトの名無しさん
2008/11/05(水) 21:46:58使われ方から逆に推論することは可能だろうけど、そんな気持ち悪いことするより
どうせBCLに手を入れないといけないんだからついでに属性付けるだろ
0282デフォルトの名無しさん
2008/11/05(水) 21:51:20じゃあいらないね
0283デフォルトの名無しさん
2008/11/05(水) 22:06:530284デフォルトの名無しさん
2008/11/05(水) 22:19:24下のフォームインスタンスを取得してイベントを送る。
0285デフォルトの名無しさん
2008/11/05(水) 22:33:11別アセンブリの場合にコンパイラはどうやって判断してるんだ
0286デフォルトの名無しさん
2008/11/05(水) 22:39:36イベントを送るの部分を詳しく・・・・
0287デフォルトの名無しさん
2008/11/05(水) 22:41:22いや、だから、2.0でジェネリックスが導入されたときから、
型のメタデータとしてゲネリックパラメータがco-/contravariantであることを示す
フィールドが用意されてるの。今更、属性を追加する必要なんてないの。
0288デフォルトの名無しさん
2008/11/05(水) 22:41:29だからメタデータにもうあるの。
リフレクションで見たいなら
Type.GenericParameterAttributesプロパティ経由で最初から公開されてる。
ttp://msdn.microsoft.com/ja-jp/library/system.type.genericparameterattributes.aspx
0289デフォルトの名無しさん
2008/11/05(水) 23:25:15public delegate T MyFunc<out T>();
と定義しておいて、
Console.WriteLine(typeof(MyFunc<>).GetGenericArguments()[0].GenericParameterAttributes);
結果
Covariant
コンパイルさえしてしまえば.NET 2.0環境でも動く。
0290デフォルトの名無しさん
2008/11/05(水) 23:29:17デリゲートの共変反変は2.0から使える
0291290
2008/11/05(水) 23:30:19上は間違い
0292デフォルトの名無しさん
2008/11/06(木) 04:13:02単に下のフォームのMouseHogeイベントを呼びたいだけなら、OnMouseHoge()を呼べばいいだけだが、
下のフォームの該当する場所にボタンがあった場合はボタンクリックイベントを呼びたいとか、
datagridviewがあった場合は適切なイベントを呼びたいとかであればかなり泥沼になると思う。
自力でいろいろ用意してMouseHogeイベント時の座標から適切なOnHoge()を呼び出す必要がある。
そのために下のフォームに配置されているコントロール全てをカスタムコントロールにして、
OnHoge()を全てPublicメソッドで公開する必要があるし、そんなことするくらいなら
俺だったら設計自体を考え直す
0293デフォルトの名無しさん
2008/11/06(木) 07:06:20しかしC#は使っていなかった
0294デフォルトの名無しさん
2008/11/06(木) 07:41:160295デフォルトの名無しさん
2008/11/06(木) 09:27:34OnMouseHogeをよぶとMouseHogeイベントに突っ込んどいたデリゲートまでよばれるの?まぁみてきます。
とりあえずコントロールとか一切使ってないんでいわれてる問題はないんだけれど、そこら辺も回避する何かエレガントなイベントスルー方がないかと思ってた・・・
>>294 勘違いをなくすため
0296デフォルトの名無しさん
2008/11/06(木) 16:26:15関数の戻り値の型にverが使えないのと同じ理由だろうね
推論の結果が広範囲に影響を及ぼすってのはC#流じゃないんだろう
0297デフォルトの名無しさん
2008/11/06(木) 16:30:06outだと子方向に伸ばせるわけだろ
全然意味が違うんだから明示するのが普通なんじゃないの
0298デフォルトの名無しさん
2008/11/06(木) 17:13:55Hoge<string> x = new Hoge<object>() // 2
現状は1, 2ともコンパイルエラーになって代入できない。
Hoge<out T> や Hoge<in T>で1か2の代入が可能になる。
前者が1だと思うがちと自信がない。
0300デフォルトの名無しさん
2008/11/06(木) 19:24:08[Q1]
FormをHideすると、システムからトップレベルのウィンドウに来るメッセージが
来なくなるようなんだけど、何かこういうメッセージを拾うことが可能なまま
非表示にする方法ってないだろうか?
Opacity を0にするとかはない方向で一つ。
[Q2]
メインフォームの参照を取得するにはどうしたらいい?
Application.OpenFormsで全部のフォームの参照が取得できるようだから、
後はフォームがメインフォームかどうか判定する方法があればいいように思うんだが…。
0301デフォルトの名無しさん
2008/11/06(木) 19:26:120302デフォルトの名無しさん
2008/11/06(木) 19:29:20早い話、閉じるとアプリが終了するフォームのこと。
別に俺様用語じゃないと思うんだけど、俺の思い違い?
0303デフォルトの名無しさん
2008/11/06(木) 19:37:14そのアプリにしかわからない
0304デフォルトの名無しさん
2008/11/06(木) 19:44:14[1]
this.FormBorderStyle = FormBorderStyle.None;
this.Size = Size.Empty;
でどうよ
0305デフォルトの名無しさん
2008/11/06(木) 19:45:32でHideだからってメッセージ取れないってことは無いと思うが
とりあえずWM_TIMECHANGEは来てるし
0306デフォルトの名無しさん
2008/11/06(木) 20:16:39微妙な感じですね。
2X2ピクセルぐらいの大きさでどうしても表示されてしまう。
(XPのクラシック表示で)
>>305
前半はごめん意味が分からない。
後半は、たしかにおっしゃるとおりでどうやら俺の勘違いみたいだね。
来ないのはフォームのインスタンスを作成後一度も表示してない場合だけで、
一旦表示後Hideした場合はちゃんと受け取れるみたい。
0307デフォルトの名無しさん
2008/11/06(木) 20:25:52タイプセーフのためだよ
そういうルールにしとけば実行時に型エラーが出ない
0308デフォルトの名無しさん
2008/11/06(木) 21:28:00そりゃインスタンス作っただけじゃハンドルは作られてないしな
つか意味分からんとか言う前にまず検索しろよGoogleでもMSDNでも
0309デフォルトの名無しさん
2008/11/06(木) 21:49:250310デフォルトの名無しさん
2008/11/06(木) 21:53:31もう命令口調クンは答えてくれなくていいよ。
前から指摘してるけど、キミって人格的にちょっとおかしいと思うよw
命令口調クンが一人なのかどうか知らないけど。
ちなみに一応反論めいたことも言っておくと、
そもそもApplicationContextに触れる側のコードならメインフォームを
直接取得するのも普通は困らないはずで、だとしたら質問として成立しないはずだよね。
main()のある側のコードに触れないか、触れても触りたくない事情があるから
聞いてるんだよ当然。
端的にはmain()のある側から依存されても依存はしたくない
ユーティリティクラスのメソッドとして欲しいんだけど。
0311デフォルトの名無しさん
2008/11/06(木) 22:05:130312デフォルトの名無しさん
2008/11/06(木) 22:21:32じゃあApplicationContext.AddMessageFilterはどうだろうか?
> 取得するのも普通は困らないはずで、だとしたら質問として成立しないはずだよね
それがなぜかそのことに気づいていない人のほうが多いもんで、
答えるほうもまずそっちを想定してしまう。
0313デフォルトの名無しさん
2008/11/06(木) 22:22:36ドキュメントを生成することはできないのですか?
Doxygen みたいに。
0314デフォルトの名無しさん
2008/11/06(木) 23:07:35なるほど、ダミーのフィルターを作ってそれに食わせてみたけど
確かにそれでも拾えるね。
馬鹿みたいな数同じメッセージを拾っちゃうのをなんとかする必要はあるみたいだけど。
ありがとう勉強になった。
0315デフォルトの名無しさん
2008/11/06(木) 23:08:10Sandcastle
0316デフォルトの名無しさん
2008/11/06(木) 23:11:51横レス失礼するよ
最初に前提述べないほうが悪いと思う
君の同僚との会話じゃないんだから
0317デフォルトの名無しさん
2008/11/06(木) 23:25:59確かにそうかもしれない。
実際>>300を投稿する前にその辺りの事情を詳細に書くべきか迷った。
ただ、相手はこんなスレにいる人たちだし、「Application.OpenFormsで〜」
のくだりとかからだいたいの事情は斟酌してもらえるだろうと最終的には判断した。
あまり長い文章だとそもそも読んでもらえない可能性もあるし。
0318デフォルトの名無しさん
2008/11/07(金) 00:03:220319デフォルトの名無しさん
2008/11/07(金) 01:01:14>前から指摘してるけど、キミって人格的にちょっとおかしいと思うよw
>命令口調クンが一人なのかどうか知らないけど
ここらへんの時点で既に排除されても文句は言えない
0320デフォルトの名無しさん
2008/11/07(金) 09:12:39相手にしたくない質問者の一人だな
0321デフォルトの名無しさん
2008/11/07(金) 16:49:03見てくださいってお願いすればいいの??
0322デフォルトの名無しさん
2008/11/07(金) 17:24:320323デフォルトの名無しさん
2008/11/07(金) 20:04:04騙されたと思ってDoxygenに通してみそ。言語設定をC#にするのを忘れずにね
0324デフォルトの名無しさん
2008/11/07(金) 21:55:230325デフォルトの名無しさん
2008/11/08(土) 02:37:25[END]
いいいいいい
[END]
うううううううう
↑のように書いてあるテキストをdata.txtとして保存して、
sr_init = new System.IO.StreamReader("data.txt", Encoding.GetEncoding("Shift-Jis"));
string raw_str = sr_init.ReadToEnd();
string[] arr_str = raw_str.Split("\r\n[END]\r\n".ToCharArray());
としたらarr_strの中に空のstringがいくつか有ったんですが、これって何が原因なんでしょうか?
誰か分かる人教えてください
0326デフォルトの名無しさん
2008/11/08(土) 02:52:13その文字列に含まれる各文字をセパレータとして使うってことだろう
なので最初の\rに出会ったら分割、次の\nに出会ったら分割・・・となる
0327デフォルトの名無しさん
2008/11/08(土) 02:52:422 つの区切り記号が隣接している場合、
または、区切り記号がこのインスタンスの先頭か末尾に見つかった場合、
対応する配列の要素には Empty が格納されます。
0328デフォルトの名無しさん
2008/11/08(土) 03:02:25ありがとうございます、MSDNよく読めば載ってそうな感じですねごめんなさい。
ちなみに、>>325が想定しているような動作をしてくれるメソッドってあったりしますか?
0329デフォルトの名無しさん
2008/11/08(土) 03:19:440330デフォルトの名無しさん
2008/11/08(土) 03:23:28raw_str.Split(seps, StringSplitOptions.None);
0331デフォルトの名無しさん
2008/11/08(土) 03:30:39それだけだと>>326がクリアできないので…
>>330
ありがとうございます。解決しました!
0332デフォルトの名無しさん
2008/11/08(土) 16:14:28http://www.microsoft.com/japan/msdn/vstudio/downloads/sp/vs2008/sp1/default.aspx
>MSDN Library の技術情報は現在日本語化を行っており、翻訳が完了次第公開されます。
>公開後、このページよりリンクします。翻訳の完了は 9 月中を予定しています。
この翻訳ってまだなんですよね?
0333デフォルトの名無しさん
2008/11/08(土) 18:13:53存在しているかどうかを確認するにはどうしたらいい?
そこに対するアクセス権限がないユーザーで実行した場合でも動作する方法でないと困る。
もちろん中の適当な関数を呼び出して例外が発生するかどうか見ればいいんだろうけど、
もう少しきれいな方法はないもんだろうか。
0334デフォルトの名無しさん
2008/11/08(土) 18:31:150335デフォルトの名無しさん
2008/11/08(土) 18:39:310336デフォルトの名無しさん
2008/11/08(土) 19:48:34MSDN Libraryならとっくの昔に終わってる
翻訳ができてないのはインテリセンス
0337デフォルトの名無しさん
2008/11/08(土) 22:51:26実際やってみた。
Windowsが動かないということはないみたいだけど、
なるほどいろいろ不都合なことが起こるみたいだ。
ということは、少なくとも全てのユーザーがSystem32の読み取り権限を持っていると
仮定していいって事なのかな。
Windowsのこの辺りの知識ってどこで仕入れればいいんだろう。
>>335
なるほどそれいいかもしれない。
0338デフォルトの名無しさん
2008/11/09(日) 10:47:030339デフォルトの名無しさん
2008/11/09(日) 10:53:070340デフォルトの名無しさん
2008/11/09(日) 10:55:30>過去には6万個ぐらい(だったと思うが記憶は定かではない)のXMLファイルを1つのフォルダに入れて扱ったことがありますが、これは公的に定められた手続き上必須の要件でした。
ほんとかよ。
公的に必須てどういうことだ?
言いたいことの本質はもちろん理解できる話なのだが、
Windowsで1フォルダに大量ファイルはできるだけ避けるのが当たり前だと思ってた。
※サブディレクトリに分けるなどしてとにかくできるだけ避ける方向で検討する
0341デフォルトの名無しさん
2008/11/09(日) 10:56:16まあそんな気はしてたけど。
0342デフォルトの名無しさん
2008/11/09(日) 11:00:120343デフォルトの名無しさん
2008/11/09(日) 11:01:380344デフォルトの名無しさん
2008/11/09(日) 11:25:55クライアントとの取り決めでそうなった、という事では?
無茶な設計でも、既に稼働してるシステムだと、受け入れざるを得なかったりするし。
0345デフォルトの名無しさん
2008/11/09(日) 11:30:190346デフォルトの名無しさん
2008/11/09(日) 12:25:090347デフォルトの名無しさん
2008/11/09(日) 16:04:281.0や1,1が2.0になったように
0348デフォルトの名無しさん
2008/11/09(日) 16:37:320349デフォルトの名無しさん
2008/11/09(日) 16:54:30基本的に下位バージョンアセンブリが上位のバージョンでも動くかどうかだろ?
0350デフォルトの名無しさん
2008/11/09(日) 19:19:16医者が「脳味噌にスタンガンでも当てたのか?」とか言ってたからね。
医者の視点から見て、そのくらいのダメージを受けたのは確かな筈。
>>614
全体的に演出は充分過ぎる。今季アニメの中でも、平均以上の出来だよ。
「部分部分で出来が良い所もある」というより、「部分部分で出来が悪い所もある」程度のレベル。
走ってる所も各キャラに視点を当てたりして、なんとかごまかそうとしてるし。
元の話が悪い、としか言えない。
あのシーンのインデックスのセリフを心の声にするなら、
これまでの「インデックスが魔術使うシーン」を全部、インデックスの心の声にしなきゃ不自然だろ?
でもそうしたらロリ先生との時間の会話とか必要なくなる。
そうやって不必要な部分を削っていくと、最終的に「このアニメ自体不必要」という結論が出かねないよw
どうやっても原作が問題だらけなんだよ。
0351デフォルトの名無しさん
2008/11/09(日) 19:25:09___
/ー-ヾ
うっせー禿> /・ ・ ヽ___
____ | ゚ ●/ ̄
ヾニ=_ ‐―-、 ,.-‐-、V⌒ / ゝ ̄ ,ノ___ 〃⌒ヽ
ツト、__\〈〈ノ(・) ヽ -‐=====ニニニ> /i! \ヾ 「ヨニl ! @ )
/ ヽ、ヽヽヽヽ (・)_i -‐=====ニニニ>/ヽ__l \ ヾ、__ノ
ヽ、、、、ノー、 _ノ > > > > __\ l__-、ヽノ―――-----、
 ̄  ̄―  ̄ヽ > > > > ヽ_____〈 /′___  ̄ ̄
ヽヽヽヽヽヽヽヽヽヽトト! / / .ン / / /
 ̄ ̄ ̄ `^ー―-------
0352デフォルトの名無しさん
2008/11/09(日) 19:25:310353デフォルトの名無しさん
2008/11/09(日) 19:29:50原作もアニメも見たことないが
0354デフォルトの名無しさん
2008/11/09(日) 19:39:22こんな奴らがいることがプログラマの社会的評価を下げているわけで、
正直個人的にはキモヲタプログラマは殲滅してやりたいと常々思ってる。
0355デフォルトの名無しさん
2008/11/09(日) 19:42:440356デフォルトの名無しさん
2008/11/09(日) 19:50:42会社で使えない奴、それはワタシ/アイツ [プログラマー]
おまえら・・・
0357デフォルトの名無しさん
2008/11/09(日) 23:16:42独自のコントロールを作ろうと思っています。(なるべくWindows標準っぽく見せたくないので)
ツリーやリストコントロールのスクロールバーを独自のデザインに変更したいと
思っているのですが、可能でしょうか?
0358デフォルトの名無しさん
2008/11/09(日) 23:21:42WPFなら標準的にそういうのがサポートされてるから簡単にできるんだけど
0359デフォルトの名無しさん
2008/11/09(日) 23:25:070360デフォルトの名無しさん
2008/11/09(日) 23:29:34デバイスのコントロールパネルなどで無駄に独自っぽいコントロールとかウィンドウとかマウスカーソルとか
使われると腹立つんですけど……
0361357
2008/11/10(月) 00:08:40WPFを使う予定は今の所ないです。
面倒と言うのは、Windowsコントロールを継承せずに、
Controlクラスを継承してすべて独自で描画するとかでしょうか?
0362デフォルトの名無しさん
2008/11/10(月) 00:11:45統一できないとかえって見苦しいと思う
0363デフォルトの名無しさん
2008/11/10(月) 00:36:12機能に違いが無いのに色や形だけ独自のコントロールは要らないし余計だよなー
0364デフォルトの名無しさん
2008/11/10(月) 01:09:13まあ頑張って書いて下さいとしか言いようがないけど。
0365デフォルトの名無しさん
2008/11/10(月) 02:54:33か似たものになるがな
とそういや。デザイン方面の知識は「きちんと」あるよな?
コントロールのデザインって素人が出来るほど「甘く」ないぞ。
0366デフォルトの名無しさん
2008/11/10(月) 08:57:00こわい
0367デフォルトの名無しさん
2008/11/10(月) 09:02:22Form上でのフレームワーク作ったんだが、結局WPFにニタ部分が結構出てきた。
いまのところWPFより速く重何に使えて満足。
0368デフォルトの名無しさん
2008/11/10(月) 09:03:51「こわく」はないぞ?
0369デフォルトの名無しさん
2008/11/10(月) 22:19:05だけだよ
0370デフォルトの名無しさん
2008/11/11(火) 00:36:490371デフォルトの名無しさん
2008/11/11(火) 01:22:272010年
0372デフォルトの名無しさん
2008/11/11(火) 01:23:400373デフォルトの名無しさん
2008/11/11(火) 01:52:430374デフォルトの名無しさん
2008/11/11(火) 07:06:520375デフォルトの名無しさん
2008/11/11(火) 08:09:050376デフォルトの名無しさん
2008/11/11(火) 08:09:40それは確定。すでに明言されてる。
0377デフォルトの名無しさん
2008/11/12(水) 09:44:28現在C#で作成中のプログラムでネットワークを利用したアップデート機能を作成したいと思っているのですが
プログラム側で特定の文字列データ(バージョンや設定の情報)を自身のホームページへと送り
ホームページ側でどれが相応しいかを返してあげたいと思います。
この様な処理を行うにはCGIを利用するのが適当かと思ったのですが
あいにくCGIはさわりしか知らないので軽く調べてみたところ
ホームページ内にフォームを設置しそれを読み取る方法ばかり当たってしまいました。
他のプログラムからの受け取りなどの処理は初心者向けのページでは取り扱っていないだけなのでしょうか
それとも、こういったことはCGIではできないのでしょうか?
C#の質問とは言えなくなってしまい申し訳ありませんがお教えいただけないでしょうか。
0378デフォルトの名無しさん
2008/11/12(水) 10:21:340379デフォルトの名無しさん
2008/11/12(水) 13:41:42サイト側じゃなくてプログラム側で解析すれば?
最初は普通のtxtとかxmlでバージョン情報が記載されたのを落として
プログラム側で解析、それをもとにもう一回ダウンロード、とか。
あと、C#ならASP.NET……
0380デフォルトの名無しさん
2008/11/12(水) 13:49:51それをやるにはCGI側だけじゃなくて
ブラウザなんかがウェブサーバに送ってるリクエストを理解する必要があると思われ
HTTP GET POSTとかも混ぜてググれば使えそうな情報が出てくるかも、出てこないかも
0381デフォルトの名無しさん
2008/11/12(水) 13:55:100382デフォルトの名無しさん
2008/11/12(水) 15:41:45結論から言うと簡単に出来るが完全なスレ違い
ttp://ja.wikipedia.org/wiki/Common_Gateway_Interface
0383デフォルトの名無しさん
2008/11/13(木) 05:05:31XML-WebService、WCFあたりでどうよ。
0384デフォルトの名無しさん
2008/11/13(木) 11:24:11継承してアイコンの遅延取得してみたかったのに
0385デフォルトの名無しさん
2008/11/13(木) 19:43:410386デフォルトの名無しさん
2008/11/13(木) 23:14:590387デフォルトの名無しさん
2008/11/13(木) 23:30:570388デフォルトの名無しさん
2008/11/13(木) 23:31:50List<T>なんかには使えないよね
せいぜいIEnumerable<string>がIEnumerable<object>として使えるくらいで、
そんなにむちゃくちゃ便利にはならないと思うよ
0389388
2008/11/13(木) 23:36:18out付けたら戻り値限定、in付けたら引数限定
0390デフォルトの名無しさん
2008/11/14(金) 07:10:14あのin out はそういう風に理解したらいいのか。
VS10のCTPはでか過ぎて試せてない。
0391デフォルトの名無しさん
2008/11/14(金) 08:31:08その極めて限定的な機能を今すぐ欲しがる人は結構多いと思うよ。
0392デフォルトの名無しさん
2008/11/14(金) 10:21:27Collection<in TIn, out TOut> where TIn : TOut か
0393デフォルトの名無しさん
2008/11/14(金) 13:27:03class Queue<T> : IQueueIn<T> , IQueueOut<T> {}
interface IQueueIn<in T>{}
interface IQueueOut<out T>{}
0394デフォルトの名無しさん
2008/11/14(金) 13:31:33WriteOnlyCollectionはありえないからReadOnlyCollectionがout Tをとれるようにすりゃ十分
0395デフォルトの名無しさん
2008/11/14(金) 16:01:05親や子のオブジェクトを型指定で得たいとか。
0396デフォルトの名無しさん
2008/11/14(金) 16:03:210397デフォルトの名無しさん
2008/11/14(金) 16:35:140398デフォルトの名無しさん
2008/11/14(金) 20:11:44ICollection<T>以下が実装できないからIEnumerable<out T>からの派生になって超不便になるな
0399デフォルトの名無しさん
2008/11/14(金) 20:19:180400デフォルトの名無しさん
2008/11/14(金) 20:24:310401デフォルトの名無しさん
2008/11/14(金) 20:43:27C#のやり方のほうがどう考えてもわかりやすいよな
0402デフォルトの名無しさん
2008/11/14(金) 20:48:25そりゃ単純に、作ってるやつがクソなんじゃね?
0403デフォルトの名無しさん
2008/11/14(金) 20:48:38ランタイムに大改造を施すのが嫌だったんでしょ。
0404デフォルトの名無しさん
2008/11/14(金) 21:14:27どうせコンパイル後は全部非ジェネリック型になるんだから
0405デフォルトの名無しさん
2008/11/14(金) 21:31:050406デフォルトの名無しさん
2008/11/15(土) 00:33:28周り「おめでとう。パチパチパチパチ」
0407デフォルトの名無しさん
2008/11/15(土) 02:12:16おめでとう
0408デフォルトの名無しさん
2008/11/15(土) 02:29:300409デフォルトの名無しさん
2008/11/15(土) 03:06:01普及率とか、普及率とか、普及率とか
0410デフォルトの名無しさん
2008/11/15(土) 03:30:130411デフォルトの名無しさん
2008/11/15(土) 09:01:160412デフォルトの名無しさん
2008/11/15(土) 09:01:20Java が減っていく気がするけど、
i mode のせいで日本だけ Java が生き残りそうな気もする。
0413デフォルトの名無しさん
2008/11/15(土) 09:14:38この2つが他のものを大きく引き離して、あとはホストとかウニックスとか。CORBAもあったな。その分類の仕方に若干違和感を覚えたが。
0414デフォルトの名無しさん
2008/11/15(土) 15:23:12その構造体の配列を作ったとき、メンバに参照型を含めない場合と違って
配列のひとつひとつの要素がGCの回収対象になったりしますよね?
0415デフォルトの名無しさん
2008/11/15(土) 15:34:58少なくともその配列への参照が残ってる限りは要素がGCに回収されることはない
構造体とか関係ない
0416デフォルトの名無しさん
2008/11/15(土) 15:50:47>その構造体の配列を作ったとき、メンバに参照型を含めない場合と違って
>配列のひとつひとつの要素がGCの回収対象になったりしますよね?
GCで問題になるのは、回収対象の数が純粋に増えて困るというケースと、
オブジェクトの参照関係のグラフが複雑になって困るケースの主に2通り。
前者の方を心配してるみたいだけど、
後者を避けるためにメンバから参照型を排除するというのは実際ある。
ただ、デスクトップCLRのGCは優秀だよ。
XNAで作られたゲームすら、PC実行でGCが問題になったケースは聞いたことがない。
漠然とGCを気にしてるだけなら、そこまで気にする必要はないと思う。
0417416
2008/11/15(土) 15:54:03構造体配列なら、メンバに参照型を持っていようが持っていまいが
配列全体でまとめて寿命管理が行われる。
要素単位で回収されたり回収されなかったりはない。
0418デフォルトの名無しさん
2008/11/15(土) 15:59:32一応Compact Frameworkの話なのですが
問題ないようですね
どうもありがとうございました
0419デフォルトの名無しさん
2008/11/15(土) 16:08:03Compact FrameworkのGCは未だに世代を導入していないので
参照グラフの複雑化がコンスタントに性能に響くことはある。
(どんどんGCの待ち時間が増えていく)
パフォーマンスカウンタの"GC Latency Time"の数字を
まず確認してみるといいんじゃなかろうか。
ttp://msdn.microsoft.com/en-us/library/ms172525.aspx#gc
あとはもう実際試してみて遅くなってるか報告してもらうしか。
0420デフォルトの名無しさん
2008/11/15(土) 16:21:28Silverlight 2 for Mobileが正式リリースされたら、
Compact CLRで実行するより
Silverlight 2 (CoreCLR)の方が速かったりしてw
0421デフォルトの名無しさん
2008/11/15(土) 23:29:480422デフォルトの名無しさん
2008/11/15(土) 23:33:210423デフォルトの名無しさん
2008/11/15(土) 23:34:38デスクトップアプリケーションでもそこそこ使われている感じがする。
実質Windows専用。
P/InvokeやCOM相互運用であっという間にネイティブコードを呼び出せる。
ジェネリックがJavaよりまともという評判。
0424デフォルトの名無しさん
2008/11/15(土) 23:54:21言語の差なんてのは時間の問題でそのうち追いつかれる。
>>422 がすべて。
正直、SUNじゃ話にならん。
0425デフォルトの名無しさん
2008/11/16(日) 00:27:480426デフォルトの名無しさん
2008/11/16(日) 00:28:50鯖屋は鯖だけ売っとけよ
0427デフォルトの名無しさん
2008/11/16(日) 00:29:35すると両方の膨大なクラスを使えるようになるけど、そういうブリッジ用途のライブラリはないの?
0428デフォルトの名無しさん
2008/11/16(日) 00:31:520429デフォルトの名無しさん
2008/11/16(日) 00:34:28後者はJNIとC++/CLIを使えば容易に実現できる。Eclipseのwin32-wpf版とか。
0430429
2008/11/16(日) 00:37:030431デフォルトの名無しさん
2008/11/16(日) 01:14:17あれ?君・・・何か勘違いしてないか!?
0432デフォルトの名無しさん
2008/11/16(日) 01:18:59ネイティブへのアクセスAPI使えばそりゃ誰でも作れますがなw
なんかP/Invokeの延長みたいですけど、その発想だとMSっぽいのが出来るような出来ないような・・・・
0433デフォルトの名無しさん
2008/11/16(日) 01:25:06ISO C++のMSプラットフォーム専用がVisual C++と同じだと考えればいいんじゃないでしょうか。
gccとちがってVC++はISO C++にdot netまで組み込んじゃってMS独自の進化をしてますけどそれと同じなんでしょう。
それと、J#は既に作ったバイトコードをどうこうするのではなくて、java言語の文法でms windows native
のクラスファイル(バイトコード)を作るコンパイラなので、橋渡しの用途では全く使えません。
0434デフォルトの名無しさん
2008/11/16(日) 01:27:350435デフォルトの名無しさん
2008/11/16(日) 02:01:05白人ってあそこの毛は生えないの?
0436デフォルトの名無しさん
2008/11/16(日) 02:04:270437デフォルトの名無しさん
2008/11/16(日) 03:05:07君は鼻くそをほじっている
0438デフォルトの名無しさん
2008/11/16(日) 03:14:050439デフォルトの名無しさん
2008/11/16(日) 04:36:020440デフォルトの名無しさん
2008/11/16(日) 06:38:400441デフォルトの名無しさん
2008/11/16(日) 08:46:59JDK5以降の文法をサポートして欲しい。
0442デフォルトの名無しさん
2008/11/16(日) 08:53:34ところでJSript#の方はJ#と同じくもう.Netではサポートされなくなるの?
0443デフォルトの名無しさん
2008/11/16(日) 09:12:300444デフォルトの名無しさん
2008/11/16(日) 09:14:15JScript.NETなら.NET対応からこっちほとんど進化しとらんね
ジェネリックすら未サポートだしなー
DLR上で動くJScriptはまた別に用意するらしいが今後はそっちをメインにすんのかね
0445デフォルトの名無しさん
2008/11/16(日) 09:37:540446デフォルトの名無しさん
2008/11/16(日) 09:54:12未だにVBの方に投資してるけど、ゲイツの影に怯えてんのかな。
0447デフォルトの名無しさん
2008/11/16(日) 09:59:33IronPython
0448デフォルトの名無しさん
2008/11/16(日) 10:00:55VBの主要アーキテクトがM言語に異動しただろ・・・
0449デフォルトの名無しさん
2008/11/16(日) 10:03:390450デフォルトの名無しさん
2008/11/16(日) 10:26:10Windowsというものがあるわけだから
0451デフォルトの名無しさん
2008/11/16(日) 10:48:32を変更することはできますか?
SendMessageを使えばできるのでしょうか??
0452デフォルトの名無しさん
2008/11/16(日) 11:02:22VB.NETすくりぷと
IronPython
448 名前: デフォルトの名無しさん [sage] 投稿日: 2008/11/16(日) 10:00:55
> 未だにVBの方に投資してるけど、
VBの主要アーキテクトがM言語に異動しただろ・・・
449 名前: デフォルトの名無しさん [sage] 投稿日: 2008/11/16(日) 10:03:39
PowerShell
これらの言語はMS帝国でしか通じないような田舎言語の感じがするんだが・・・
0453デフォルトの名無しさん
2008/11/16(日) 11:06:44PARAFORMAT2を調べてみて
0454デフォルトの名無しさん
2008/11/16(日) 12:11:26どっちにしてもランタイムが必要になるんだし、
JITで実行時にネイティブコンパイルされるし、
なんならngenで予めネイティブにコンパイルしとけばいいし。
0455デフォルトの名無しさん
2008/11/16(日) 12:13:370456デフォルトの名無しさん
2008/11/16(日) 13:01:59ネイティブコンパイラなんて意味ないと俺も思うけども、
アンチは意味とかどうとか関係なくディスりたいだけ。
論理的な思考なんてしてないから。
0457デフォルトの名無しさん
2008/11/16(日) 13:22:110458デフォルトの名無しさん
2008/11/16(日) 14:36:11おまえみたいな文型はとっとと消えろw
0459デフォルトの名無しさん
2008/11/16(日) 15:11:39論理的じゃないやつとはディスりたくない
自分の言いたいこと条件反射で言うだけでディスにならない
0460デフォルトの名無しさん
2008/11/16(日) 15:14:39ディスる
の意味わかってるか?
ディスカッションするの略じゃないぞ
0461デフォルトの名無しさん
2008/11/16(日) 15:16:15わろちw
0462デフォルトの名無しさん
2008/11/16(日) 16:14:31ディスる - 軽蔑し、攻撃すること。 英語で反意語を意味する接頭辞「dis」、もしくは「disrespect」(軽蔑する)に由来。 ヒップホップシーンでは大小さまざまなbeef( 論争)が発生し...
0463デフォルトの名無しさん
2008/11/16(日) 16:19:26ttp://www.youtube.com/watch?v=J94Dj5_Tjdc&fmt=18
0464デフォルトの名無しさん
2008/11/16(日) 17:31:140465デフォルトの名無しさん
2008/11/16(日) 18:09:25互換があると考えてよいのですかね?
前のモジュールではパディングにPKCS5を利用していて、
C#へ置き換えしようとしたら、PaddingMode.PKCS7しかないという。。。
同じ暗号文字列作れたから大丈夫だとは思っているのですが、
埋め込みのしかたに何か違いがあるかなと。。。
なかなかその辺を記載しているページもないので、質問させてもらいました。
0466デフォルトの名無しさん
2008/11/16(日) 18:30:46PKCS#5はブロック長64bitしか考慮してない
PKCS#7では任意のブロック長に対してパディングできるように記述されてる
どっちもパディングの考え方は同じ、余ったオクテットは余ったオクテット数の値で埋める
0467デフォルトの名無しさん
2008/11/16(日) 18:31:310468デフォルトの名無しさん
2008/11/16(日) 19:31:470469デフォルトの名無しさん
2008/11/16(日) 19:48:360470デフォルトの名無しさん
2008/11/16(日) 19:49:32自分の言いたいこと条件反射で言うだけでディスにならないディス。
0471デフォルトの名無しさん
2008/11/16(日) 19:51:270472デフォルトの名無しさん
2008/11/16(日) 20:20:090473デフォルトの名無しさん
2008/11/16(日) 20:28:32using System;
class TestG {
static int ft(int i, int sum) {
return i == 0 ? sum : ft(i - 1, sum + i);
}
static void Main() {
int cnt = 1001;
Console.WriteLine("{0} : {1}", cnt, ft(cnt, 0));
cnt = 1000001;
Console.WriteLine("{0} : {1}", cnt, ft(cnt, 0)); // ここでStackOverflow
}
}
csc /o testg.cs でコンパイル
ildasm /OUT=testg.il testg.exe ディス・アセンブル
testg.il を修正
IL_0008: add
tail. // 追加
IL_0009: call int32 TestG::ft(int32,
int32)
ilasm testg.ilでアセンブル
今度はStackOverflowが起きない。
0474デフォルトの名無しさん
2008/11/16(日) 20:35:23今日、Vista x64入れたんで、試してみようかなぁ。
0475デフォルトの名無しさん
2008/11/16(日) 20:36:54}
括弧の位置がおかしいッス!{
}
0476デフォルトの名無しさん
2008/11/16(日) 20:37:45報告よろしくディス
0477デフォルトの名無しさん
2008/11/16(日) 20:39:22うp用に行数減らしたいのでそういう書き方にしてますディッス!
0478デフォルトの名無しさん
2008/11/16(日) 20:45:500479デフォルトの名無しさん
2008/11/16(日) 20:52:200480デフォルトの名無しさん
2008/11/16(日) 20:56:14}else{
dis();
}
0481デフォルトの名無しさん
2008/11/16(日) 21:00:240482デフォルトの名無しさん
2008/11/16(日) 21:00:50{
return this;
}
0483デフォルトの名無しさん
2008/11/16(日) 21:05:18/// C#, C♯, C#相談室では随時相談を受け付けています
/// </summary>
class Dis : IDispose
{
public void Dispose(bool)
{
Dis();
}
}
0484デフォルトの名無しさん
2008/11/16(日) 21:08:000485デフォルトの名無しさん
2008/11/16(日) 21:11:450486デフォルトの名無しさん
2008/11/16(日) 21:12:25なんかうれしかったのでぃす
0487デフォルトの名無しさん
2008/11/16(日) 21:15:290488デフォルトの名無しさん
2008/11/16(日) 21:26:34is
typeof
の使い方を教えて下さい
0489デフォルトの名無しさん
2008/11/16(日) 21:36:30C#は新しいキーワードが多いぞ
0490デフォルトの名無しさん
2008/11/16(日) 21:39:36objがTにキャストできればキャストし、できなければnullが返るのディス。
bool bl = obj is T;
objがTと互換性があればtrueが返るのディス。
Type type = typeOf( obj );
Type型の変数が返るのディス。
0491デフォルトの名無しさん
2008/11/16(日) 21:41:43○ Type type = typeof( obj );
ディス。
0492デフォルトの名無しさん
2008/11/16(日) 21:43:17typeof は違うのディス。
typeof(T) の形でオペランドは型なのディス。
実行時の型がほしい場合は obj.GetType() を使うのディス。
0493デフォルトの名無しさん
2008/11/16(日) 21:44:18If TypeOf オブジェクト Is 型 Then はC#のisと同じ
If オブジェクト1 Is オブジェクト2 Then は == と同じ (除くOverride)
0494デフォルトの名無しさん
2008/11/16(日) 21:44:450495デフォルトの名無しさん
2008/11/16(日) 21:48:29正直いって大多数の非ヲタグラマにとっては気色悪いんだけなんだよそういうの。
0496デフォルトの名無しさん
2008/11/16(日) 21:51:180497デフォルトの名無しさん
2008/11/16(日) 21:54:44(T)objとどう違うんだ?
>objがTと互換性があればtrueが返るのディス。
互換性とは?class継承しているかinterface実装しているということか?
0498デフォルトの名無しさん
2008/11/16(日) 21:56:54リアルでは関わりたくないディスね
0499デフォルトの名無しさん
2008/11/16(日) 21:58:58> (T)objとどう違うんだ?
キャストは失敗した場合例外が投げられる。
> 互換性とは?class継承しているかinterface実装しているということか?
概ねそういうこと。
参照変換、ボクシング・アンボクシングができるか。
0500デフォルトの名無しさん
2008/11/16(日) 21:59:32(T)objはキャストできなければ例外を投げる。
obj is Tは(obj as T) != nullと同じ。
0501デフォルトの名無しさん
2008/11/16(日) 22:03:21asでは参照変換とボックス化変換しかできないって書いてあった。
http://msdn.microsoft.com/ja-jp/library/cscsdfbt.aspx
0502デフォルトの名無しさん
2008/11/16(日) 22:07:260503デフォルトの名無しさん
2008/11/16(日) 22:13:12だめだった。普通にStackOverflow。
0504デフォルトの名無しさん
2008/11/16(日) 22:15:040505451
2008/11/17(月) 12:00:51private const uint CFM_SIZE = 2147483648; //0x80000000
private const int EM_SETCHARFORMAT = 1092;
[StructLayout(LayoutKind.Sequential)]
private struct CHARFORMAT{
public int cbSize;
public uint dwMask;
public uint dwEffects;
public int yHeight;
public int yOffset;
public int crTextColor;
public byte bCharSet;
public byte bPitchAndFamily;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 32)]
public char[] szFaceName;
public short wWeight;
public short sSpacing;
public int crBackColor;
public int LCID;
public uint dwReserved;
public short sStyle;
public short wKerning;
public byte bUnderlineType;
public byte bAnimation;
public byte bRevAuthor;
}
[DllImport("user32", CharSet = CharSet.Auto)]
private static extern int SendMessage(HandleRef hWnd, int msg,int wParam, ref CHARFORMAT lp);
つづきます
0506451
2008/11/17(月) 12:01:27{
richTextBox1.SelectAll();
CHARFORMAT fmt = new CHARFORMAT();
fmt.cbSize = Marshal.SizeOf(fmt);
Debug.WriteLine(String.Format("size = {0,0:D0}",fmt.cbSize));
fmt.dwMask = CFM_SIZE;
fmt.yHeight = 40; // ←これが改行幅?
int ret = SendMessage(new HandleRef(richTextBox1.Handle, Handle), EM_SETCHARFORMAT, SCF_SELECTION, ref fmt);
Debug.WriteLine(String.Format("ret = {0,0:D0}",ret));
richTextBox1.SelectionStart = 0;
Invalidate();
という感じにやってみたのですが、うまくいきません。教えてくれませんか??
0507デフォルトの名無しさん
2008/11/17(月) 13:08:16yHeightって、ようするにフォントサイズだと思うけど
あと関係ないと思うけどCHARFORMAT2の最後に
BYTE bReserved1
ってメンバが足りてないね
0508デフォルトの名無しさん
2008/11/17(月) 19:25:130509デフォルトの名無しさん
2008/11/17(月) 22:15:55ExcelファイルをダブルクリックしてExcelを開いたとき、
アドインがExcelに表示されません。
共有アドインのConnectクラスのOnConnectionメソッドが
呼び出されていないようです。
どうしてかわかる方いますでしょうか?
ちゃんと表示される方法をご存知のかたお教えください。
ちなみにスタートメニューからExcelを開いたときはアドインは
ちゃんと表示されます。
0510デフォルトの名無しさん
2008/11/17(月) 23:54:540511451
2008/11/18(火) 00:17:46AppendTextでテキストをたして、AppendText(System.Environment.NewLine);で
改行しているのですが、かなり行間があくのです。
これを狭くしたいだけなんですよね・・・
0512デフォルトの名無しさん
2008/11/18(火) 00:25:19先ほど作成したファイルをダブルクリックして開いた
場合でしょうか?
試せる環境が会社にしかないのでわからないです。ごめんなさい。
ファイルの新しい、古いで違いがあるのでしょうか?
0513デフォルトの名無しさん
2008/11/18(火) 02:21:27PARAFORMAT2 用意し
cbSiz dwMask(PFM_LINESPACING) bLineSpacingRule dyLineSpacing を設定し
SendMessage
後はググれ
0514451
2008/11/18(火) 10:39:53private const int MAX_TAB_STOPS = 32;
[StructLayout(LayoutKind.Sequential)]
public struct PARAFORMAT2
{
public uint cbSize;
public uint dwMask;
public ushort wNumbering;
public ushort wEffects;
public int dxStartIndent;
public int dxRightIndent;
public int dxOffset;
public ushort wAlignment;
public short cTabCount;
unsafe public fixed int rgxTabs[MAX_TAB_STOPS];
public int dySpaceBefore;
public int dySpaceAfter;
public int dyLineSpacing;
public short sStyle;
public byte bLineSpacingRule;
public byte bOutlineLevel;
public ushort wShadingWeight;
public ushort wShadingStyle;
public ushort wNumberingStart;
public ushort wNumberingStyle;
public ushort wNumberingTab;
public ushort wBorderSpace;
public ushort wBorderWidth;
public ushort wBorders;
}
const int EM_SETPARAFORMAT = 0x0447;
const uint PFM_LINESPACING = 0x00000100u;
0515451
2008/11/18(火) 10:41:41[DllImport("user32", SetLastError = true)]
static extern int SendMessage(IntPtr hWnd, int Msg, IntPtr wParam, ref PARAFORMAT2 lParam);
で、
PARAFORMAT2 pf = new PARAFORMAT2();
pf.cbSize = (uint)Marshal.SizeOf(typeof(PARAFORMAT2));
pf.dwMask = PFM_LINESPACING;
pf.bLineSpacingRule = 4;
pf.dyLineSpacing = 190;
richTextBox1.SelectAll();
SendMessage(richTextBox1.Handle, EM_SETPARAFORMAT, IntPtr.Zero, ref pf);
これで、行間がつまりました。
pf.dyLineSpacing を190以下にするとフォントがかけていきますが(笑
ありがとうございました。
0516451
2008/11/18(火) 10:42:220517509
2008/11/18(火) 19:35:01> ファイルを新規作成して保存して、Excelを閉じて、
> 先ほど作成したファイルをダブルクリックして開いた
> 場合でしょうか?
試してみたところ、大体だめでしたが、珠にファイルの新古
に関わらずアドインが表示されることがあったので、
タイミングの問題かもしれません。
0519デフォルトの名無しさん
2008/11/19(水) 23:44:10Schemeで言うとcall-with-input-stringみたい感じなヤツ
0520デフォルトの名無しさん
2008/11/19(水) 23:47:020521デフォルトの名無しさん
2008/11/20(木) 00:05:09あるライブラリを使いたくて、それがinput用のStreamとoutput用のStreamを要求してくるんだけど手元にはstring型のデータしかないです…みたいな状況なんだけど…
ちなみに最終的にやりたいことは
http://sourceforge.net/projects/tidynet
↑これ使って"<title>犬好き集まれ<body>だが猫のほうが好きだ<br>ですよね?</body>"みたいな文字列をキレイなXHTMLに変換してほしいとかそういう感じ
0522デフォルトの名無しさん
2008/11/20(木) 00:08:14MemoryStream使えばいいんじゃない?
自分でMemoryStreamの同等物を作ってもいいと思うけど。
0523デフォルトの名無しさん
2008/11/20(木) 00:12:220524デフォルトの名無しさん
2008/11/20(木) 00:20:12あ、なんとなくわかったかも そーゆーのがあるんだねありがと!やってみる!
0525521
2008/11/20(木) 01:11:34なんかがんばったり調べなおしたりしたらできました
ヒントくれたお二方どもアリガト!
参考サイト
ttp://www.nextdesigns.ca/articles/tidy.aspx
0526デフォルトの名無しさん
2008/11/20(木) 17:55:10に変換してくれるメソッドはありますか
0527デフォルトの名無しさん
2008/11/20(木) 18:10:52int.TryParseとかBitConverterとか
エンディアンをどうするつもりか知らないけど
0528デフォルトの名無しさん
2008/11/20(木) 18:15:35System.Convert.ToInt32とかSystem.Drawing.ColorTranslator.FromHtmlも状況によっては使うかな。
0529デフォルトの名無しさん
2008/11/20(木) 18:54:06{
int i;
bytes = null;
if( !String.IsNullOrEmpty( str ) )
{
if( str.StartsWith( "0x", StringComparison.OrdinalIgnoreCase ) )
str = str.Substring( 2 );
if( Int32.TryParse( str, System.Globalization.NumberStyles.HexNumber, null, out i ) )
{
i &= 0xffffff;
bytes = new byte[3];
// 順番は知らん
bytes[0] = (byte)( ( i >> 16 ) & 0xff );
bytes[1] = (byte)( ( i >> 8 ) & 0xff );
bytes[2] = (byte)( i & 0xff );
return true;
}
}
return false;
}
0530デフォルトの名無しさん
2008/11/20(木) 20:00:130531デフォルトの名無しさん
2008/11/20(木) 20:50:24byte[] ConvHexToByteArray(string hex, bool isLittleEndian)
{
hex = hex.TrimStart('0');
List<byte> bytes = new List<byte>();
int readPtr = 0;
int hexLen = hex.Length;
if (hexLen % 2 == 1)
{
bytes.Add(byte.Parse(hex.Substring(readPtr, 1), NumberStyles.HexNumber));
++readPtr;
}
while(readPtr < hexLen)
{
bytes.Add(byte.Parse(hex.Substring(readPtr, 2), NumberStyles.HexNumber));
readPtr += 2;
}
if (isLittleEndian) bytes.Reverse();
return bytes.ToArray();
}
0532デフォルトの名無しさん
2008/11/20(木) 20:56:520533デフォルトの名無しさん
2008/11/20(木) 21:36:53100万桁のhexを処理するとかなら話もわかるが。
0534デフォルトの名無しさん
2008/11/20(木) 21:41:330535デフォルトの名無しさん
2008/11/20(木) 21:46:070536デフォルトの名無しさん
2008/11/20(木) 22:35:090537デフォルトの名無しさん
2008/11/20(木) 22:39:25C Major 7th
0538デフォルトの名無しさん
2008/11/22(土) 20:53:40public static int Count<TSource>(this IEnumerable<TSource> source);
0539デフォルトの名無しさん
2008/11/22(土) 20:56:380540デフォルトの名無しさん
2008/11/22(土) 21:04:50クラス定義とは関係なく別のクラスメソッドを拡張できるのか邪悪だな
0541デフォルトの名無しさん
2008/11/23(日) 02:20:290542デフォルトの名無しさん
2008/11/23(日) 07:24:49便利なメソッドなんだが、クラス本体に入れるのがためらわれるようなヘルパー的なものを拡張メソッドにしてるがこれはどうしようか悩み中
0543デフォルトの名無しさん
2008/11/23(日) 23:03:320544デフォルトの名無しさん
2008/11/23(日) 23:22:56GPって何?
0545デフォルトの名無しさん
2008/11/23(日) 23:27:120546デフォルトの名無しさん
2008/11/24(月) 00:06:080547デフォルトの名無しさん
2008/11/24(月) 00:23:47>グランプリ (grand prix)。
>ジョージアパシフィック社 (Georgia Pacific)。アメリカ合衆国の製紙メーカー。
>ゴールドピーク(Gold Peak Group)電池メーカーなど。
>グラフィックパワー社 (Graphic Power corporation)。
>フランス海外県のグアドループの国名コードおよびccTLD。
>グラウンドプレーンアンテナ (groundplane antenna)
>特色ある大学教育支援プログラム(特色GP: Good Practice)。
>現代的教育ニーズ取組支援プログラム(現代GP: Good Practice)。
>ゲネラルプローベ(Generalprobe[独])。ゲネプロ。
>ゲネラル・パウゼ (General Pause)、全休止。音楽で、全てのパートが休止すること。
>遺伝的プログラミング (genetic programming)
>グリーンプリンティング (Green Printing)。印刷物の環境基準の一つ。
>汎用 (general purpose)
>グループ (group)
>ジープの語源と言われる。
>粗利益 (gross profit)のこと。
>ゲームポットポイント(Gamepot Point)
0548デフォルトの名無しさん
2008/11/24(月) 00:25:200549デフォルトの名無しさん
2008/11/24(月) 00:50:19遺伝的プログラミングです。説明不足ですいません。
0550デフォルトの名無しさん
2008/11/24(月) 01:11:150551デフォルトの名無しさん
2008/11/24(月) 03:17:560552デフォルトの名無しさん
2008/11/24(月) 13:10:31ttp://www.kt.rim.or.jp/~kbk/zakkicho/08/zakkicho0811c.html#D20081123-6
この人生粋のハッカーだと改めて思た。
今でも気に入った仕様は自分で実装してるらしいね。
LINQベータ版についてきてたSequence.csはヘジたん自らが書いたとか。
0553デフォルトの名無しさん
2008/11/24(月) 13:52:000554デフォルトの名無しさん
2008/11/24(月) 14:16:490555デフォルトの名無しさん
2008/11/24(月) 15:11:51おまえはヘジたん波にキモイ
0556デフォルトの名無しさん
2008/11/24(月) 18:09:030557デフォルトの名無しさん
2008/11/24(月) 18:58:47http://pc11.2ch.net/test/read.cgi/tech/1092656075/l50
0558デフォルトの名無しさん
2008/11/24(月) 19:15:380559デフォルトの名無しさん
2008/11/24(月) 19:48:580560デフォルトの名無しさん
2008/11/24(月) 20:09:42ふらっとC#,C♯,C#(初心者用) Part34
http://pc11.2ch.net/test/read.cgi/tech/1227521785/
0561デフォルトの名無しさん
2008/11/24(月) 20:19:46VC++で/clr付けてコンパイル→C#へ逆コンパイル
0562デフォルトの名無しさん
2008/11/24(月) 20:35:19fputs( "using System;\n", fp );
:
:
0563デフォルトの名無しさん
2008/11/24(月) 20:45:060564デフォルトの名無しさん
2008/11/24(月) 20:54:26終了時に削除するんだけど、これ毎回やってたらゴミ箱すごいことになります。
削除する必要がなければ、やはり削除しないほうがいいでしょうか?
0565デフォルトの名無しさん
2008/11/24(月) 20:58:230566デフォルトの名無しさん
2008/11/24(月) 20:59:350567デフォルトの名無しさん
2008/11/24(月) 21:01:040568デフォルトの名無しさん
2008/11/24(月) 21:04:20aliasだとうまくいかなかった。
0569デフォルトの名無しさん
2008/11/24(月) 21:05:290570デフォルトの名無しさん
2008/11/24(月) 21:05:30無理
0571デフォルトの名無しさん
2008/11/24(月) 21:12:48System.Int32 をエイリアスするのだとだめなの?
0572デフォルトの名無しさん
2008/11/24(月) 21:13:20そんなことがしたい動機が理解できないけど、
implicitで暗黙的にintと相互に変換できる構造体を作るとか。
0573デフォルトの名無しさん
2008/11/24(月) 21:15:210574568
2008/11/24(月) 21:23:30実装的にはintそのままで全く問題ないんだけど
意味を持った値なんで、メソッド呼び出しの引数なんかで
明示的に"ただのintじゃないよ"って示したかったんだ。
Int32のaliasだと、VSの入力支援でintって表示されてダメだった
0575デフォルトの名無しさん
2008/11/24(月) 21:28:00アプリケーションハンガリアンとかさ
0576デフォルトの名無しさん
2008/11/24(月) 21:29:20言ってることがやはりよく分からん。
それってIntPtr的なものとも違うよね。
まあ多分根本的になにか考え違いをしてるんだろうな。
0577デフォルトの名無しさん
2008/11/24(月) 21:32:03単にenumで解決するとかって落ちじゃない?
0578デフォルトの名無しさん
2008/11/24(月) 21:34:37C#にaliasというキーワードはちゃんとあるんだね。使いどころがめちゃくちゃニッチだ。
extern alias hogehoge;
0579デフォルトの名無しさん
2008/11/24(月) 21:38:29何がしたいのかわからんがラッパーみたいなことで良いのかな。
struct Hoge { public int Foo; } とかどうよ。
0580デフォルトの名無しさん
2008/11/24(月) 21:41:16思うに、おまいの方が根本的(ry
0581デフォルトの名無しさん
2008/11/24(月) 21:41:59usingで定義した名前空間エイリアスを使っていることを明示するだけの超ニッチな演算子
0582デフォルトの名無しさん
2008/11/24(月) 21:49:32具体的にどうぞ。
いや別に無理せんでもいいよ。
ただのintじゃない、意味を持っていることを示したいんだ、というが、
コード中のどのリテラルも変数も意味を持たないものなんてありえないだろう。
0583デフォルトの名無しさん
2008/11/24(月) 21:52:53それをIntPtr的なものと表現してるんだろう
0584586
2008/11/24(月) 22:03:08>>575
確かにメソッドだけなら引数名で問題ないですね。
ListとかDictionary使ったら、<int>や<int, int>が溢れて
なんだかわけがわからないコードになったので。
どっちかというと、出来あがったライブラリを使う時とかよりも
開発段階で自分が混乱したり煩雑になったりしたので
今後同じような状況になった時の為の回避策はあるのかなあ、と。
>>579
最終的にはとりあえずそんなかんじでInt32の劣化コピーみたいな構造体を作りました。
ただ演算子の再定義(というか複製)を作るだけで100行近くいったので
無駄が多いかなー、と。
>>582
あ、意味のある値じゃなくて、意味のある型・・・ってことでしたすいません
IntPtrとかハンドルはよく分からないですすいません後でぐぐっときます
0586デフォルトの名無しさん
2008/11/24(月) 22:09:21じゃあ struct + implicit でいいんじゃね?
0587デフォルトの名無しさん
2008/11/24(月) 22:15:03顧客リストを永続化されたデータからメモリにロードします。
ロードされたリストは、複数の画面に共通で、Aという画面で変更されたら
B,C,D...の画面でもシンクロして変わります。
私では、うーん。いい方法がおもいつかね。。。
こういったスコープの広いデータは、どのようにもつべきなんだろう。。。
Cのときは、構造体の配列をグローバルにもたせていたのだが、C#では
どうしたらいいでしょうか?
0588デフォルトの名無しさん
2008/11/24(月) 22:18:04その画面を全部一括管理してるクラスのメンバーとか。
その用途だと、Notify パターン使って値の変更を通知するとかでもいい気がするけど。
0589デフォルトの名無しさん
2008/11/24(月) 22:18:070590デフォルトの名無しさん
2008/11/24(月) 22:20:20Observerのことなら,変に気取らないで普通にイベント使うべき
0591デフォルトの名無しさん
2008/11/24(月) 22:29:140592デフォルトの名無しさん
2008/11/24(月) 22:29:43Notifyってことは、Mediatorパターンかとおもうのですが、
あっていますでしょうか?
私は、本当に単にデータをメモリに読み込み、そこを簡単なコードで
登録、閲覧、変更、削除をしたいだけなんです。
Cなら create(a,b,c..), select(...), update(), delete()
みたいにストレートで書いていけてたんですが、C#だと588さんの
いわれてるように、画面一括管理するManagerクラスをつくって
それのメンバーにList<>をもたせて、それを子画面作成の度に
コンストラクタで渡す、のような方法が普通なのかな?
0593デフォルトの名無しさん
2008/11/24(月) 22:33:26List<>を渡すのはさすがにお粗末
0594デフォルトの名無しさん
2008/11/24(月) 22:34:380595デフォルトの名無しさん
2008/11/24(月) 22:38:30各画面にわたし、各画面では、その参照をいじるということですか?
やりたいことの簡単さから離れて、えらくたいそうなことをしている
ように感じるのですが。。。最初だけなのかなぁ
0596デフォルトの名無しさん
2008/11/24(月) 22:41:23Listを直接渡しちゃったら変更の通知とかどうすんの
特別なクラスにしてれば,必要に応じて検索のためのメソッドを追加したりすることもできるでしょ
0597デフォルトの名無しさん
2008/11/24(月) 22:46:27Cでの貧乏くささよりも、富豪的発想で、自由度、可変性をひたすら追求
すると。。。そういう視点で作ってみます。
0598デフォルトの名無しさん
2008/11/24(月) 22:52:490599デフォルトの名無しさん
2008/11/24(月) 23:10:500600デフォルトの名無しさん
2008/11/24(月) 23:14:28ポインタ本の人の言じゃないけど、データクラスを作るというC#っぽい今時の設計でも、
マルチプルインスタンスへの対応が容易ということ以外に違いはあまりないと思うけど。
ただハンドルを引数に取るselect()とかupdate()とかいう「関数」が
ハンドルの代わりにインスタンスで対象を指定する「インスタンスメソッド」に
変わるだけじゃん。
0601デフォルトの名無しさん
2008/11/24(月) 23:15:10そういう目的のシングルトンはグローバル変数と呼ぶ
0602デフォルトの名無しさん
2008/11/24(月) 23:28:430603デフォルトの名無しさん
2008/11/25(火) 08:37:12>>584はC++でいう
#define int HOGE
みたいなことがしたいんじゃね
0604デフォルトの名無しさん
2008/11/25(火) 09:05:18ハンドルはハンドルでしかないけど
インスタンスには型情報その他があるじゃんかよぉ
0605デフォルトの名無しさん
2008/11/26(水) 11:55:17そもそもファイナライザを実装していないクラスならば、
IDisposableを継承していてもSuppressFinalizeする必要はないですよね?
それとも呼ぶことで何かGCコストが下がったりするんでしょうか?
0606デフォルトの名無しさん
2008/11/26(水) 12:14:15ところでIDisposableを継承って違和感
インターフェイスに対してはIDisposableを実装って言わない?
InheritsとImplements
0607デフォルトの名無しさん
2008/11/26(水) 12:33:310608デフォルトの名無しさん
2008/11/26(水) 14:34:32この方法を使ってXMLとしてデータを読み書きしているんですが、
データ件数が1600件ぐらいで、
XMLファイルの行数としては、18000行ぐらいのテキストファイルになるんですが、
読み込みのときに強制終了するようです。
やはりデータが大きすぎるのが原因だと思うのですが、どう解決したらいいのかさっぱりわからない状態です。
どなたか知恵を貸してください
0609デフォルトの名無しさん
2008/11/26(水) 14:39:48ただSAXは使いにくいので、LINQ to XMLあたりを試してみるといいかも。
(あれは確かSAXの上にDOM風のインタフェースを構築してたはず)
0610デフォルトの名無しさん
2008/11/26(水) 14:40:09例外メッセージぐらい書いてくれ
データ件数が少なければ問題ないのか
0611デフォルトの名無しさん
2008/11/26(水) 14:41:17追記です。
XMLから読み込んだデータは、List<Hoge>として受け取って、
すべて読み込んだ(変数に格納した)あとに、
その変数をforeachで回して DataGridViewに表示させています。
foreach (Product product in products)
{
int index = dgv.Rows.Add();
dgv[0, index].Value = product.Code;
dgv[1, index].Value = product.Name;
:
:
全部で9データ(カラム)
}
0612デフォルトの名無しさん
2008/11/26(水) 14:45:31SAX??既にXMLとしてデータがあるのですが大丈夫でしょうか?
>>610
System.InvalidOperationException
{"XML ドキュメント (4462,19) でエラーが発生しました。"}
{"EntityName を解析中にエラーが発生しました。 行 4462、位置 19 です。"}
こんな感じのエラーです。
データを20件ぐらいで読み込むとエラーが出なかったので、
データ量の問題だと思いました。
0613デフォルトの名無しさん
2008/11/26(水) 14:47:33何件までは大丈夫で何件以上は必ず落ちる、ってとこまで検証しないと
データ量と言い切ってしまうのはよくない。
まあ量の問題なのかもしれんけど
0614デフォルトの名無しさん
2008/11/26(水) 14:53:26XMLの4462行をじっくり確認
0615デフォルトの名無しさん
2008/11/26(水) 14:55:36>>612のエラーをもとに、
4462行を含んだデータの1つ前までを読み込むと成功、
4462行を含んだデータを含ませるとエラー、
4462行を含んだデータの次のデータを含ませると成功、、、
やはりこの行に問題があるみたいです。
エラーってちゃんと見るもんですね。。
もう1度検証してみます!ありがとうございました。
0616デフォルトの名無しさん
2008/11/26(水) 14:57:13なんで&はだめなんだろう。。
0617デフォルトの名無しさん
2008/11/26(水) 14:59:49XMLの基礎から勉強してくれ
0618デフォルトの名無しさん
2008/11/26(水) 14:59:560619デフォルトの名無しさん
2008/11/26(水) 15:05:44&とかでおkですか?
0620デフォルトの名無しさん
2008/11/26(水) 15:11:40おかげでなんとかなりそうです。
0621デフォルトの名無しさん
2008/11/26(水) 17:34:49下手に自分で書くより速かったりする
0622デフォルトの名無しさん
2008/11/26(水) 18:15:09で、クエリビルダを組み込みたいのですが、どうすればいいでしょうか?
0623デフォルトの名無しさん
2008/11/26(水) 19:02:230624デフォルトの名無しさん
2008/11/26(水) 20:08:53配布の際に.NET Framework2.0を必須コンポーネントとして指定していて、
必須コンポーネントのインストール場所を"アプリケーションと同じ場所から〜"に設定しているのですが、
うまくいかず↓のページへたどり着きました。
http://forums.microsoft.com/msdn-ja/ShowPost.aspx?PostID=276858&SiteID=7
上記URLのケースを真似ていろいろ試してみたのですがうまくいきません。
2005と2008だとどこか違うのでしょうか?
どなたかご教授願います。
0625デフォルトの名無しさん
2008/11/26(水) 22:06:30うどんふいたわ
0626デフォルトの名無しさん
2008/11/26(水) 23:17:35みたいなことすると hogeが2つとかあるんですけど… って怒られるんだけどこれってなんとかならない?
最悪Regex.Replace(xml, "hoge=\"[^\"]*\", "")みたいな感じにすればナカッタコトにできるんだけどなるべく元の情報落としたくないのです
また、元の情報はWeb上から拾ってくるのでValidなデータを最初っから準備できないのも泣き所
hoge="fuga; hogera"だったかのようにして処理してくれたりとかってできないかな…?
0627デフォルトの名無しさん
2008/11/26(水) 23:21:32VS.NET2005、SQLServer2005、の環境で
.NET上からストアドで一時テーブルを作ると、
そのストアド内でしか一時テーブルが使えません。
cmd.Transaction = tran;
cmd.CommandType = System.Data.CommandType.StoredProcedure;
cmd.CommandText = "sp_CreateTmpTable";←[CREATE TABLE #hoge(name varchar(10))]
cmd.ExecuteNonQuery();
cmd.CommandText = "sp_InsTmpTable";←[INSERT INTO #hoge (name) value ('ほげたほげお')]
cmd.ExecuteNonQuery();←ここで、オブジェクト名'#hoge'は無効ですと言われる
なお、ストアドではなく直接SQLを実行したら一時テーブルは使えました。
クエリアナライザで直接実行して、SQLのエラーでない事も確認しております。
年のため#hogeを##hoheにしてもだめだったのですが、
.NET上からストアドを実行するのに何か必要な事があるのでしょうか?
0628デフォルトの名無しさん
2008/11/26(水) 23:32:09そのドキュメントはそもそもXMLじゃないんだからどうしようもない
0629デフォルトの名無しさん
2008/11/26(水) 23:38:30XmlReaderなら読めない?
もしかしたらXLINQでもいけるかも
0630デフォルトの名無しさん
2008/11/27(木) 00:00:55public static T CloneEx<T>(this T t) where T : ICloneable {return (T)t.Clone();}
とかやってみたらさんざんだったICloneable の使い勝手が随分良くなったと思った。
0631デフォルトの名無しさん
2008/11/27(木) 00:05:350632デフォルトの名無しさん
2008/11/27(木) 00:12:36そーなんだけどXPathとか超便利じゃん…
>>629
ドキュメントさらっとみた感じ希望ありそうかも!ありがと
明日早いからすぐには試せないけどやってみるよ!
0633デフォルトの名無しさん
2008/11/27(木) 19:52:10Webアプリケーションで作った場合にはビルドの項目にあるのですが
Webサイドの場合項目がみあたりません。
作り方をご存知の方はいらっしゃいますでしょうか?
0634デフォルトの名無しさん
2008/11/27(木) 20:09:47NMHDR構造体のidFromがUINT_PTRになってるううううぅ
2005付属のMSDNだとUINTなのにぃぃぃぃぃ
64bitだとC#のコードがうごかなかったのはこれかああああをぁぁぁ
/ ̄ ̄\
/ _ノ \
| ( ●)(●)
. | (__人__) .netにも最新のヘッダファイルを使える仕組みが必要だろ……
| ` ⌒´ノ 常識的に考えて…
. | }
. ヽ }
ヽ ノ \
/ く \ \
| \ \ \
| |ヽ、二⌒)、 \
0635デフォルトの名無しさん
2008/11/27(木) 20:21:300636デフォルトの名無しさん
2008/11/27(木) 20:34:16っ C++/CLI
0637デフォルトの名無しさん
2008/11/27(木) 20:46:340638デフォルトの名無しさん
2008/11/27(木) 21:11:15その他のNM系の構造体とかWM_NOTIFYで使う構造体が軒並みずれてくからなw
0639デフォルトの名無しさん
2008/11/27(木) 23:00:02バックカラープロパティがある丸型のコントロールはあるか?
0640デフォルトの名無しさん
2008/11/27(木) 23:01:24英語でおk
0641デフォルトの名無しさん
2008/11/27(木) 23:30:29まあこんな感じのことがしたいのかな?
private void SetElipseRegion(Control c)
{
GraphicsPath path = new GraphicsPath();
path.StartFigure();
Rectangle rect = c.Bounds;
rect.Offset(-c.Left, -c.Top);
path.AddArc(rect, 0, 360);
path.CloseFigure();
Region r = new Region(path);
c.Region = r;
}
0642デフォルトの名無しさん
2008/11/27(木) 23:36:31背景色的属性用没用円形的操作?
0643デフォルトの名無しさん
2008/11/27(木) 23:38:340644デフォルトの名無しさん
2008/11/27(木) 23:51:200645デフォルトの名無しさん
2008/11/27(木) 23:54:36無理しやがって…。
0646デフォルトの名無しさん
2008/11/28(金) 00:22:19いや北京語じゃないから
0647デフォルトの名無しさん
2008/11/28(金) 00:33:55パンダすげぇ まで読んだ
0648デフォルトの名無しさん
2008/11/28(金) 01:43:271.プログラム1(pro1.exe)からプログラム2(pro2.exe)を呼ぶ
2.pro2.exeの終了コードによってpro1.exeの動きを変える
pro1.exeからpro2.exeを呼ぶ方法と、
pro2.exeの終了コードの受け取り方がわかりません
0649デフォルトの名無しさん
2008/11/28(金) 01:58:170650デフォルトの名無しさん
2008/11/28(金) 07:43:54終了させるときにイベント飛ばせば?
0651デフォルトの名無しさん
2008/11/28(金) 13:37:180652デフォルトの名無しさん
2008/11/28(金) 18:24:40VC++で作るんだけど、C#も対応して欲しいな。
そもそも、ホームページビルダー使うような人たちの多数はVC++のネイティブビルドなんて
つかえないだろ(´・ω・`)
せめて、Pythonとかのスクリプトで対応してほしいな。
0653デフォルトの名無しさん
2008/11/28(金) 18:35:350654デフォルトの名無しさん
2008/11/28(金) 18:39:31ところで、ネイティブアプリから .NET のアセンブリって呼べるん?
0655デフォルトの名無しさん
2008/11/28(金) 18:41:26呼べる。方法はいくつかある。
0656デフォルトの名無しさん
2008/11/28(金) 18:46:42おお!
面白そうだから調べてみるわ。
0657デフォルトの名無しさん
2008/11/28(金) 19:59:090658デフォルトの名無しさん
2008/11/28(金) 22:02:59(具体的にはIPヘッダのTTL値を取得したいです。)
0659デフォルトの名無しさん
2008/11/29(土) 05:16:290660デフォルトの名無しさん
2008/11/30(日) 18:28:17それだと受信パケットのTTLが取れないんです。
やはり普通にRaw Socketでやってみます。
0661デフォルトの名無しさん
2008/11/30(日) 23:28:30フォームがデジモみたいになっちゃいました!
あとは自分で勉強してみます!どうもです!
0662デフォルトの名無しさん
2008/12/01(月) 09:58:54互換性ありますよね? そのまま突っ込んじゃっていいですか?
0663デフォルトの名無しさん
2008/12/01(月) 10:32:59RECTの方は別モンだけど
0664デフォルトの名無しさん
2008/12/01(月) 13:54:23したいのですが、Regex.Escape()はそういう用途には使えないようです。
ほかに方法はないでしょうか?
0665デフォルトの名無しさん
2008/12/01(月) 14:24:08何か誤解している感じがする。具体例を挙げてみて。
0666デフォルトの名無しさん
2008/12/01(月) 19:51:250667デフォルトの名無しさん
2008/12/01(月) 20:00:01おれもないけど心配するな
0668デフォルトの名無しさん
2008/12/01(月) 20:03:580669デフォルトの名無しさん
2008/12/01(月) 23:10:130670デフォルトの名無しさん
2008/12/01(月) 23:36:390671デフォルトの名無しさん
2008/12/02(火) 00:20:44まだ修行の身ですがこの先どのような展開があるのでしょうか?個人的にマウス操作でのI/Oにレスポンスがある事に衝撃を受けてますが、今後USB等外部装置とのやりとりまで発展していけるのでしょうか?
大学でC言語ちょっと勉強したくらいの小心者です。
0672デフォルトの名無しさん
2008/12/02(火) 00:23:58勇気出してもっと堂々とするんだ
0673デフォルトの名無しさん
2008/12/02(火) 00:24:25ほとんどの人は回答に困るんじゃないかと思うんだけど・・・
ソープ池みたいなのりで突っ込んで欲しいんだろうかw
0674デフォルトの名無しさん
2008/12/02(火) 00:24:440675デフォルトの名無しさん
2008/12/02(火) 00:24:46この先か・・・。仕事でやるなら、DB 系かネット系か、機器系じゃないかな。
いろいろプログラムを作ってみるといいと思うよ。
0676デフォルトの名無しさん
2008/12/02(火) 00:35:26これからガンガリます!
0677デフォルトの名無しさん
2008/12/02(火) 00:38:060678デフォルトの名無しさん
2008/12/02(火) 03:04:310679デフォルトの名無しさん
2008/12/02(火) 07:59:440680デフォルトの名無しさん
2008/12/02(火) 08:36:210681デフォルトの名無しさん
2008/12/02(火) 13:06:550682デフォルトの名無しさん
2008/12/02(火) 13:08:060683デフォルトの名無しさん
2008/12/02(火) 14:16:570684デフォルトの名無しさん
2008/12/02(火) 19:26:01中身のをX++;とかしても反映されないんです。
どうすればいいですか?
0685デフォルトの名無しさん
2008/12/02(火) 19:27:120686デフォルトの名無しさん
2008/12/02(火) 19:29:330687デフォルトの名無しさん
2008/12/02(火) 19:36:510688デフォルトの名無しさん
2008/12/02(火) 20:19:04Rectangle rct = hage.RectPropate;
rct.X++;
hoge.RectPropate = rct;
値型だからね
hage.RectPropateで取得した時点でコピーされてhageが持ってる構造体とは
関係なくなってるのね
0689デフォルトの名無しさん
2008/12/02(火) 20:20:56Propateが地味にかっこよくてワロスwwww
0690デフォルトの名無しさん
2008/12/02(火) 20:22:47FormにもXとかYのプロパテーがあるだろ。
0691デフォルトの名無しさん
2008/12/02(火) 20:27:450692デフォルトの名無しさん
2008/12/02(火) 20:31:47どゆこと?
0693デフォルトの名無しさん
2008/12/02(火) 20:44:52public ref RectPropate { get { return ref this.rectPropateField; } }
フィールドへの参照を返せる
もちろんこんなことするとプロパテーの意味がなくなる
0694デフォルトの名無しさん
2008/12/02(火) 20:45:420695デフォルトの名無しさん
2008/12/02(火) 20:49:43GCで行方不明になったりしない「トラッキング参照」ってやつ
0696デフォルトの名無しさん
2008/12/02(火) 21:22:00ThreadPool.QueueUserWorkItem()を使うとWaitHandleを返してくれないから、
自分でManualResetEventを用意しないといけなくてめんどくさい
0697デフォルトの名無しさん
2008/12/02(火) 21:25:270698デフォルトの名無しさん
2008/12/02(火) 22:10:41戻値にrefは使えない。使えるのは引数だけだ。
0699デフォルトの名無しさん
2008/12/02(火) 22:11:30つ BackgroundWorker
0700デフォルトの名無しさん
2008/12/02(火) 22:20:24だから「っぽく」って書いてあるんだろうに。
0701デフォルトの名無しさん
2008/12/02(火) 22:23:550702デフォルトの名無しさん
2008/12/02(火) 22:25:460703デフォルトの名無しさん
2008/12/02(火) 22:29:38System::Rectangle^ RectPropate;
0704デフォルトの名無しさん
2008/12/02(火) 22:31:51サンクス
0705デフォルトの名無しさん
2008/12/02(火) 23:40:170706デフォルトの名無しさん
2008/12/02(火) 23:43:240707デフォルトの名無しさん
2008/12/02(火) 23:52:26それと同じさ。
0708デフォルトの名無しさん
2008/12/03(水) 00:38:550709デフォルトの名無しさん
2008/12/03(水) 15:54:27それは>>693とは違うよ
値型に^付けるとボックス化された値型になる
C#と違って型付けされてるけど,値型のオブジェクトをobject型にキャストするのと同じ
>>693に対応するのはRectangle%
0710デフォルトの名無しさん
2008/12/04(木) 00:44:47フリーで難読化ツールというとNandokuが有名だと思うのですが文字列や外部参照などを隠すことができませんし
Dotfuscatorの製品版はすばらしい性能ですがとても手が届く値段じゃないですし…。
海外製などで良い難読化ツールはないものでしょうか、ご教授ください。
0711デフォルトの名無しさん
2008/12/04(木) 00:52:15何故そんなに隠したいのかが分からない
はっきり申し上げてあなたのプログラムに興味ある人なんていないのです
0712デフォルトの名無しさん
2008/12/04(木) 00:52:360713デフォルトの名無しさん
2008/12/04(木) 01:18:37ttp://madebits.com/netz/index.php
0714デフォルトの名無しさん
2008/12/04(木) 04:20:03逆コンパイルできないようにするとかか?
そんなもん突破しようとする奴は強引に突破するんじゃねえの?
0715デフォルトの名無しさん
2008/12/04(木) 04:54:49その通り、所詮難読化するだけだから。
0716デフォルトの名無しさん
2008/12/04(木) 05:00:460717デフォルトの名無しさん
2008/12/04(木) 05:05:22プログラムしか書けない人向けのツール。 普通は堂々としていればいい。
0718デフォルトの名無しさん
2008/12/04(木) 07:11:350719デフォルトの名無しさん
2008/12/04(木) 07:20:450720デフォルトの名無しさん
2008/12/04(木) 07:22:180721デフォルトの名無しさん
2008/12/04(木) 07:25:550722デフォルトの名無しさん
2008/12/04(木) 07:26:590723デフォルトの名無しさん
2008/12/04(木) 07:32:400724デフォルトの名無しさん
2008/12/04(木) 07:37:130725デフォルトの名無しさん
2008/12/04(木) 08:36:46どっとふぁすけいたー?
どっとふゅーずけいたー?
0726デフォルトの名無しさん
2008/12/04(木) 09:07:200727デフォルトの名無しさん
2008/12/04(木) 10:13:060728デフォルトの名無しさん
2008/12/04(木) 10:18:140729デフォルトの名無しさん
2008/12/04(木) 10:34:430730デフォルトの名無しさん
2008/12/04(木) 11:00:03無駄に手間が掛かり保守性も悪いけど
0731デフォルトの名無しさん
2008/12/04(木) 12:07:460732デフォルトの名無しさん
2008/12/04(木) 12:41:290733デフォルトの名無しさん
2008/12/04(木) 13:00:50どっとふぁすけいたーでないか?本当に正しいかどうかはわからんけど、
俺はそう読んでるw
0734デフォルトの名無しさん
2008/12/04(木) 13:18:440735デフォルトの名無しさん
2008/12/04(木) 14:27:46Path.GetDirectoryNameでフォルダ名だけ取り出せないのって言語仕様的におかしくね?
0736デフォルトの名無しさん
2008/12/04(木) 14:32:52それは言語仕様とはなんの関係もない。
0737デフォルトの名無しさん
2008/12/04(木) 14:36:380738デフォルトの名無しさん
2008/12/04(木) 15:10:320739デフォルトの名無しさん
2008/12/04(木) 15:22:10C:\foo\bar を指すことが一般的じゃない?
でも bar だけ返して欲しいのもわからなくはない
0740デフォルトの名無しさん
2008/12/04(木) 16:21:460741デフォルトの名無しさん
2008/12/04(木) 16:43:49フルパスとbarだけの方
0742デフォルトの名無しさん
2008/12/04(木) 17:01:23だと何返るんすかそれ
0743デフォルトの名無しさん
2008/12/04(木) 17:42:410744デフォルトの名無しさん
2008/12/04(木) 17:46:32おかくしない。というかどちらでもいい。
便利さで言えば
Path.GetFileName(Path.GetDirectoryName(path))
みたいに一個ずつ消しながら全部取れる方が便利。
むしろGetFileNameという命名の方がおかしい。
0745デフォルトの名無しさん
2008/12/04(木) 18:12:55デスクトップ以下のアイテムIDリストとかそういうの。
0746デフォルトの名無しさん
2008/12/04(木) 18:50:32同意
でも全部欲しいときはSplitか正規表現使うから現状で不便ではないな
0747デフォルトの名無しさん
2008/12/04(木) 20:34:060748デフォルトの名無しさん
2008/12/04(木) 21:52:430749デフォルトの名無しさん
2008/12/04(木) 22:04:09ありがとうございます。
パッカーを難読に利用するなんて思いつかなかったです。
ただ、使用してみたところURLを扱うメソッドで
「パスの形式が無効」という例外を吐いて落ちてしまいます。
URLを文字列として直接打っているのが原因なのかなとも思うのですが
オプション設定も見てみたのですがわかりませんでした
重ね重ね申し訳ありませんがご教授いただけないでしょうか
0750デフォルトの名無しさん
2008/12/04(木) 23:11:23永続化という意味ではEntityFrameWork。
Bindingでは依存プロパティとかかな。
Cocoaとちがって、基本オブジェクトの属性ではないが。
0751デフォルトの名無しさん
2008/12/05(金) 00:24:38自己解決しました。
URLとか文字列なんて全く関係なくReflectionを呼んでいたからでした。
ご指導頂きありがとうございました。
0752デフォルトの名無しさん
2008/12/05(金) 16:29:23コンパイルしてもエラーとか出ないしMSDN見たけど触れられてなかった
#region 説明1
・
・
・
#endregion 説明2
0753デフォルトの名無しさん
2008/12/05(金) 16:33:42ttp://msdn.microsoft.com/ja-jp/library/aa691101(VS.71).aspx
0754デフォルトの名無しさん
2008/12/05(金) 16:38:27Thanks!!
0755デフォルトの名無しさん
2008/12/06(土) 22:30:28Marshal.StructureToPtr( Object structure, IntPtr ptr, bool fDeleteOld )
で構造体をコピーしました。
第3引数のfDeleteOld にtrue渡していても、アセンブリにngenをかけていない場合は
アプリケーションは正常動作しているように見えましたが、
ngenかけるとこの場所で落ちるようになりました。
これってどういうことですか偉い人?
とりあえずfDeleteOld にtrueを設定するとどこかのメモリを破壊することはナントナク理解しました。
>このメソッドの実行前に、ptr パラメータに対して Marshal.DestroyStructure メソッドを呼び出す場合は true
↑こいつがなんかやばいやつを解放しちゃった?
しかしネイティブイメージの有無で結果が変わるというのが分かりません
0756デフォルトの名無しさん
2008/12/07(日) 00:25:36トイレットペーパーの最も外側の半径が53mmである。
トイレットペーパーの紙厚が0.1mmのときに、この
トイレットペーパーの長さはおおよそ何mであるかを求めるプログラムを書け。
ただし、長さはm単位で小数第2位まで表示するものとする。
これをvisualstudioで作りたいのですがイマイチわかりません。
どなたか教えていただけないでしょうか?
0757デフォルトの名無しさん
2008/12/07(日) 00:30:050758デフォルトの名無しさん
2008/12/07(日) 00:31:10それはVisual Studioの使い方が分からないのか
それともコードの書き方が分からないのか、はたまたロジックが思いつかないのか
あともし課題なら宿題スレにいけばいい。
0759デフォルトの名無しさん
2008/12/07(日) 00:41:21スレ違いで本当にすみません。
0760デフォルトの名無しさん
2008/12/07(日) 00:54:110761デフォルトの名無しさん
2008/12/07(日) 00:57:19なんか妙に長いトイレットペーパーだな。
0762デフォルトの名無しさん
2008/12/07(日) 00:58:010763デフォルトの名無しさん
2008/12/07(日) 00:58:38じゃあ83.59m
0764デフォルトの名無しさん
2008/12/07(日) 01:23:180765デフォルトの名無しさん
2008/12/07(日) 04:29:54^演算子の意味が分からなくてググったら
この記事ワロタw
C++使いって面白いな
0766デフォルトの名無しさん
2008/12/07(日) 12:54:10try〜finallyの入れ子やらの記述がすんごい面倒なんだねこれ
自作でクラス作って少しは本体側のごちゃごちゃ感を軽減したんだけどもまだイマイチな感じ
だれか似たようなことやろうとした人いたら経験談とか教えてください
0767デフォルトの名無しさん
2008/12/07(日) 13:05:43Marshal.ReleaseComObjectのことかな。まじめに漏れなく書くとめんどいね。
正常系はちゃんと書くが異常時の開放はあきらめてGCまかせにしてる。
0768デフォルトの名無しさん
2008/12/07(日) 13:35:19ReleaseComObjectなんて呼ばないけど、何も問題に遭遇してないけどな。
0769デフォルトの名無しさん
2008/12/07(日) 13:45:030770デフォルトの名無しさん
2008/12/07(日) 13:57:570771デフォルトの名無しさん
2008/12/07(日) 14:18:32このNew features in C# 4.0読むとdynamic lookupの他にも
COMのための機能拡張があるみたいだけどReleaseComObjectについては触れられてないな
でも一切リソースを気にせずにExcelやWordを操作してるサンプルコードが付いてる
どういうことなんだろうね
refだらけになるのを避けるためにrefパラメータに対する値渡しを許すとか
細かい使い勝手に気を配ってるくらいだから,さすがに一番の問題を放置するわけはないと思う
言語とは関係なく,CLR側で対処するのかな
0772デフォルトの名無しさん
2008/12/07(日) 14:25:53使うCOMオブジェクトは全部nullで宣言〜
一番外のfinallyでnullじゃなかったらReleaseComObjectってやってるな
IDisposableなジェネリック再ラッパーとか作ったりしてみたけど
それでも結局usingの嵐になったりするんだよね
0773766
2008/12/07(日) 16:08:01丁寧に真面目に記述していくとごちゃっとするのはある程度仕方ないところもあるのね。
>>772の全部null宣言する形を取るのが一番すっきりしてそう、かなあ。
>>771のURLの内容読もうと思ったがすぐに挫折してしまったw
0774デフォルトの名無しさん
2008/12/07(日) 16:19:340775デフォルトの名無しさん
2008/12/07(日) 16:30:510776デフォルトの名無しさん
2008/12/07(日) 18:10:34ReleaseComObjectやFinalReleaseComObjectが減らしている参照カウンタは
COMの参照カウンタそのものではなくて、RCWの参照カウンタ。
FinalReleaseComObjectを呼んだほうが安全というのは都市伝説に近い。
0777デフォルトの名無しさん
2008/12/07(日) 18:15:20じゃまくさいからお前らやって
0778デフォルトの名無しさん
2008/12/07(日) 18:19:23現在、独習C#を使っていますが、
次のステップには、どのような参考書を使えばよいでしょうか?
どなたか、ご教授いただければ幸いです。
0779デフォルトの名無しさん
2008/12/07(日) 18:25:09あとは使う
0780デフォルトの名無しさん
2008/12/07(日) 19:23:40Excelではないが、IShellFolder関連の
ReleaseComObjectが不要なラッパーを作ったことがある。
usingの嵐にならないようにしたら、
第二のガベージコレクタみたいになってしまったよ。
0781デフォルトの名無しさん
2008/12/07(日) 19:23:56先に理解しようなんて思わなくていい。知らないこといっぱいおっぱい。
何かをしようとする毎につまづくから、そしたらまた調べまくる。
デザイナが作ったコードもサンプルとして良い。
0782デフォルトの名無しさん
2008/12/07(日) 20:23:04最後に開放する場合でも?
COMの参照カウンタ減らすためにはまずRCWの開放が必要で
そのためにはRCWの参照カウンタを減らす必要があって、
とかそういう構造ではないのかな?
場合によってはReleaseComObjectを複数回呼ばなきゃならないことになって、
簡単のためにFinalReleaseComObjectを呼ぶってのは駄目?
まあ俺は良く分かってないから根本的に勘違いしてるかもしれんが。
0783デフォルトの名無しさん
2008/12/07(日) 21:09:36例えば、ComHoge ch1 = new ComHoge(); ComHoge ch2 = new ComHoge(); とした場合の
RCWはch1とch2で別になりカウントは両方1のまま。
また、ComHoge ch3 = ch1 で単に参照を代入しただけの場合も変わらない。
0784デフォルトの名無しさん
2008/12/07(日) 21:13:530785デフォルトの名無しさん
2008/12/08(月) 03:26:53うまくいきません。
DirectoryInfo di = new DirectoryInfo(s調査Path);
foreach (FileInfo fi in di.GetFiles("*.txt", SearchOption.AllDirectories))
{〜〜}
結果はこんなエラーです。
'System.UnauthorizedAccessException' の初回例外が mscorlib.dll で発生しました。
"パス 'X:\\System Volume Information' へのアクセスが拒否されました。"
これってサブディレクトリ検索するためにSearchOption.AllDirectories指定すると出てしまうのですが、
どうすればよいでしょうか?
アクセス権ないのが当たり前のフォルダなので、回避する方法があるような気がしたのですが
見つけられませんでした。
VBのOn Error Resume Nextみたいなのがあって、それを使うのでしょうか?
0786デフォルトの名無しさん
2008/12/08(月) 04:18:18foreach(){
try{ .../}catch(UnauthorizedAccessException){}
}
0787デフォルトの名無しさん
2008/12/08(月) 04:20:040788デフォルトの名無しさん
2008/12/08(月) 12:17:00クリップボードやドラッグ&ドロップですぐリークするんで
結局API直呼びすることになる
0789デフォルトの名無しさん
2008/12/08(月) 14:05:27このライブラリ(添付されてるコンパイル済みDLL)を使いたいんだけど、どういうライセンスなのかわからなくて困ってます
https://svn.mindtouch.com/source/public/sgmlreader/trunk/eula.htm
らしいんだけど、DLLを自分が作ったソフトに添付して配布するのはOKなのかな?
あと、
http://code.msdn.microsoft.com/SgmlReader/Project/License.aspx
が元になってるライブラリのライセンスらしいんだけど上記2つのライセンスが同じものじゃないのはなんでなんだろ?そういうものなのかな?
GPLとは修正BSDライセンスとかはどういうものか最近わかったけど世の中にはいろいろなライセンスがありすぎるよ…
多分スレ違いなんだろうと思うけど適切なスレがどこかわからなかったのでそういうスレがあったら誘導してもらえると嬉しいです…
0790デフォルトの名無しさん
2008/12/08(月) 15:52:32http://pc11.2ch.net/test/read.cgi/tech/1045006087/
一応あるけど過疎具合を見るとageで質問しないとたぶんレス返ってこない
0791デフォルトの名無しさん
2008/12/08(月) 16:14:06うわーありがとー
スレタイみてネタスレかと思って中身チェックしてなかったわ…
いってくるー
0792デフォルトの名無しさん
2008/12/08(月) 19:34:35objectにキャストするしかない?
VBのIsみたいな演算子ってC#にはないんだっけ?
0793デフォルトの名無しさん
2008/12/08(月) 19:42:160794デフォルトの名無しさん
2008/12/08(月) 20:06:560795785
2008/12/09(火) 00:38:57VBのOn Error Goto Resume Nextは
C#のtry catchとはまた別です。
On Error Goto Resume Nextはcatchに飛ばず、
そのまま処理を続行できますので。
ちなみにtry catchはやはりVBでもTry Catchです。
すみません。
>>787
こういう処理は基本ループでフォルダを下っていくものと私も思っていたのですが、
それを簡略化するために「SearchOption.AllDirectories」が指定できるようになった、
という風にヘルプを解釈したわけです。
でもやはりできなくて質問に至りました。
0796デフォルトの名無しさん
2008/12/09(火) 00:43:41On Error Goto Resume Next なんて VB でも使わない方が良い。
デバッグしづらいバグを生み出す原因になってしまう。
0797785
2008/12/09(火) 00:50:39基本的にはそうだと思います。
私もダラダラ書いて要点絞れてないので書き直させてください。
1.C#にVBのOn Error Gotoに相当するものはあるか
(今回はループに回る前にエラー投げるのでそもそも使えませんが)
2.これが↓
DirectoryInfo di = new DirectoryInfo(s調査Path);
foreach (FileInfo fi in di.GetFiles("*.txt", SearchOption.AllDirectories))
このエラーを返すのは
'System.UnauthorizedAccessException' の初回例外が mscorlib.dll で発生しました。
"パス 'X:\\System Volume Information' へのアクセスが拒否されました。"
使い方が間違ってますか?
というのが疑問です。
0798デフォルトの名無しさん
2008/12/09(火) 01:24:42たとえOn Error Resume Nextが出来たとしても、何も値は戻ってこないはずじゃなかったっけ。
別のメソッド内でエラーが起こったら、途中でも強制的に戻ってくる感じで。
(実際にテストしてないから間違ってたらスマソ。)
希望している処理をしたいのなら、再帰させてディレクトリ毎に例外処理しながらやれば良いと思う。
0799785
2008/12/09(火) 01:37:171.について
>たとえOn Error Resume Nextが出来たとしても、何も値は戻ってこないはずじゃなかったっけ
いえ、そうでもないです。
Dim i As Integer = 0
On Error Resume Next
i /= 0
Console.WriteLine("ErrorNumber:" & Err.Number)
Console.WriteLine("Description:" & Err.Description)
--------------------------
2.について
>希望している処理をしたいのなら、再帰させてディレクトリ毎に例外処理しながらやれば良いと思う。
もちろんこれでも可能です。
が、今回質問させていただいてますのは
GetFiles("*.txt", SearchOption.AllDirectories)が使えない理由です。
再帰してくれるようなメソッドが既にあるようなら使いたいのですが
意図したように動かないので悩んでます。
0800デフォルトの名無しさん
2008/12/09(火) 01:51:01再帰してくれるようなメソッドが既にあるようなら使いたいのですが
意図したように動かないので悩んでます。
これとおんなじ
0801デフォルトの名無しさん
2008/12/09(火) 02:08:30C# にはそのような機能はない。try-catch-finally でなんとかする。
http://msdn.microsoft.com/ja-jp/library/cc392473.aspx
> On Error Resume Next ステートメントは、別のプロシージャが呼び出されると非アクティブとなるため、
よって、DirectoryInfo.GetFiles(...) を用いるなら VB でも不可能。
2.
.NET Framework のライブラリには、そのような(アクセス権限による検索のスキップ)機能を持ったメソッドはない。
グダグダ言ってるヒマがあったらコードを書けばいい。
0802デフォルトの名無しさん
2008/12/09(火) 02:11:39呼び出し先のメソッドでも Resume Next されたらそれこそカオスな状況になるwww
0803デフォルトの名無しさん
2008/12/09(火) 02:12:010804デフォルトの名無しさん
2008/12/09(火) 03:23:27ttp://admins.fxdm.net/cmsware/resource/img/h000/h22/img200608041621414.jpg
After
ttp://www.tv-tokyo.co.jp/anime/5no2/
0805デフォルトの名無しさん
2008/12/09(火) 09:37:26全部読むオプションあるんなら。
でないと全部読むオプションの意味ないだろ?って話でしょ?
0806デフォルトの名無しさん
2008/12/09(火) 09:48:50からそう言うオプションを用意してないんじゃないかな
0807デフォルトの名無しさん
2008/12/09(火) 12:12:47そのためのプログラミング言語だろ
0808デフォルトの名無しさん
2008/12/09(火) 12:16:530809デフォルトの名無しさん
2008/12/09(火) 15:13:44psi.UseShellExecute = true;
psi.ErrorDialog = true;
Process.Start(psi);
この4行で Kaspersky が「コード侵入」と「他のプロセスを一時停止」の2つの警告を出してくるんですが
回避方法は何かありませんか?
0810デフォルトの名無しさん
2008/12/09(火) 15:29:390811デフォルトの名無しさん
2008/12/09(火) 16:50:26KGBに通報。
0812デフォルトの名無しさん
2008/12/09(火) 17:08:55| ____ ヽ lニ|ニl | __Lヽ
─|─ / _  ̄ ̄ ̄ /|ヽ| _ レ
| _∠ _. 、--|-、 ──, | |ニニ| | | 口 ヘ,
. ノ|\|_| | ソ /\/ |. / . | |ニニ| | ノ
| 、ノ 'ヽ ヽノ ノ ヽ_ ./\/ ヽ | /\ヽノヽ
| ────  ̄ ̄ ̄
0813785
2008/12/09(火) 17:48:30なるほど、無い、というのが結論のようですね。
サブディレクトリまで検索してくれるようになったのはよいですが
簡易的なものであり、各フォルダに対してアクセス権含め、なんらかの検査が必要な場合は
自分で再帰していかなくてはならないみたいですね。
System Volume Informationなんてアクセスできなくて当然のフォルダなので
回避方法がきっとあるんだろうと思ってましたが甘かったみたいです。
ありがとうございました。
0814デフォルトの名無しさん
2008/12/10(水) 10:53:00だから作れって話になるわけさ
0815デフォルトの名無しさん
2008/12/10(水) 17:18:36if( data == null || data.num == 0)
{
0816デフォルトの名無しさん
2008/12/10(水) 17:23:39を見れ
0817デフォルトの名無しさん
2008/12/10(水) 17:37:20さんくす
0818デフォルトの名無しさん
2008/12/10(水) 18:05:390819デフォルトの名無しさん
2008/12/10(水) 18:09:000820デフォルトの名無しさん
2008/12/10(水) 21:58:470821デフォルトの名無しさん
2008/12/10(水) 22:40:38C#は順序は左から(代入演算除く)って決まってる。
| と || の違いは順序じゃなくて、右が必ずしも実行されないってところだけ。
0822デフォルトの名無しさん
2008/12/11(木) 00:01:27data = null
の場合は、右側の式は評価されない。
0823815
2008/12/11(木) 00:11:150824デフォルトの名無しさん
2008/12/11(木) 01:59:34{
ごにょごにょ();
}
orz
0826デフォルトの名無しさん
2008/12/11(木) 11:34:44自分的にはWindowsでやるならVC++でもいいんじゃないかと思っているのですが、C#がVC++よりも勝っている点を教えてください。
よろしくお願いします。
0827デフォルトの名無しさん
2008/12/11(木) 11:51:130828デフォルトの名無しさん
2008/12/11(木) 11:54:420829デフォルトの名無しさん
2008/12/11(木) 11:58:29えーっと、それは業務アプリなどを手がける会社の仕事での話ですか?
それでしたらC#でしょう。
趣味プログラマならC++にも「やろうと思えば何でもできちゃう」という
Cと同じような捨てがたいメリットがあると思いますが。
0830デフォルトの名無しさん
2008/12/11(木) 12:09:510831デフォルトの名無しさん
2008/12/11(木) 12:12:52>>827
829さんが言われているとおり、自分は業務系ソフト開発をしないといけない立場なのですが、
もし本当にC#でもVC++でも同じなら、VC++を選びたいのです。C#を使えといっている人は、
XMLの処理とか文字列の扱いとかが楽と言ってて、C++でXMLやるのは面倒なのは分かるとしても、
文字列くらいなら慣れてるC++でやってしまってもいいかな、、、と思ってます。
自分の周りでWindowsで開発している人がC#でやってる人ばかりなので、C#いいよという
人しか居ないので、勝っている点しか知りません。でも色々意見を聞いてみると、
「これはC#を使うしかない!」というのがないような気がするのですが、、、、
>>828
IDEはVisual Studioなので、同じではないのですか?
>>829
仕事の話です。
業務アプリならC#だ、というのは何度か言われたのですが、やっぱり開発
が速い(楽?)ですか?
0832デフォルトの名無しさん
2008/12/11(木) 12:14:570833デフォルトの名無しさん
2008/12/11(木) 12:21:130834デフォルトの名無しさん
2008/12/11(木) 12:24:24C++に比べてC#は、簡素なコードで複雑な処理を安全にできる
安全にってのは大事だぜ
俺の場合、あえてC++使う場面と言えば
ウィンドウなんて表示しないし処理速度を重視したいって言う時くらいかなぁ
0835デフォルトの名無しさん
2008/12/11(木) 12:26:27実はそうです。
でも今まで説得力のあったのは、C#の方が文字列の扱いが楽、というのだけだったんですよ?
0836デフォルトの名無しさん
2008/12/11(木) 12:31:110837829
2008/12/11(木) 12:33:56UNIX/Linuxなどのミドルウェア製品の開発を除けば、もうC/C++の選択は有り得ないといって間違いない。
とにかく、.NET上でC#による開発はクライアントから分散系までJava & C/C++にも勝り、圧倒的にムダが
無くて生産性が上がる。高度な技術を楽に使えるようにMSが提供してくれるから仕事屋の強い味方だよ!
おかげで「プログラムを考えながら自分で好きなように操れる感覚が好き」というヲタには不人気だがw
0838デフォルトの名無しさん
2008/12/11(木) 12:34:18みんな使ってる<最大の理由
0839デフォルトの名無しさん
2008/12/11(木) 12:37:55C#の方が開発が圧倒的に楽です。
業務用アプリ開発において工数の短縮という要素が最大のメリットであることはわかるでしょ?
コーティング、テスト、デバッグが非常に楽
0840デフォルトの名無しさん
2008/12/11(木) 12:45:463.0になってからはかなり関数言語的なプログラミングできるようになったのでC++で組む時にも応用利くと思うよ
0841デフォルトの名無しさん
2008/12/11(木) 12:49:520842デフォルトの名無しさん
2008/12/11(木) 12:56:22色々とありがとうございます。2chでここまで言われるとは、、、
一応処理速度重視の3D画像系のアプリなのですが、とりあえずC#で開発を始めてみます。
速度面で問題が出たら、C++を検討します。
0843デフォルトの名無しさん
2008/12/11(木) 13:08:39とにかく、ダミーのガワだけでなく、正常に動作するモノが早く出来上がる。
→ 早く評価できるのでクライアントも嬉しい
評価において、必要があれば部分的にC/C++を用いて処理性能を上げられる。
→ 腕の見せ所を持つあなたも嬉しい
このシナリオ展開の筋書きでどうだ?
0844デフォルトの名無しさん
2008/12/11(木) 13:08:460845デフォルトの名無しさん
2008/12/11(木) 13:45:46併用もできるし、両方使ってからどっちか決めても遅くはない。
0846デフォルトの名無しさん
2008/12/11(木) 14:24:34だんだんC#で開発を始めるのが楽しみになってきた。
でも2chで色々聞いてみて考えを変えました(C#でやってみることにしました)
とは言いにくいなあ。とりあえず上司にもう一回話しを振ってみて、そこでC#で
やれと言われたときに、わかりました、と言ってみる予定です。
0847デフォルトの名無しさん
2008/12/11(木) 14:44:08クソガキかクソジジイのどちらかだな。
0848デフォルトの名無しさん
2008/12/11(木) 14:53:220849デフォルトの名無しさん
2008/12/11(木) 15:03:070850デフォルトの名無しさん
2008/12/11(木) 15:03:520851デフォルトの名無しさん
2008/12/11(木) 15:05:24ゆとり世代のコンプレックスが原因です。
ネットで色々調べて分かりました。
0852デフォルトの名無しさん
2008/12/11(木) 15:06:46C++とC#の比較なんてぐぐればいくらでもあるだろうに
0853デフォルトの名無しさん
2008/12/11(木) 15:32:52駆け引きの未熟さ → クソガキ
といったところ。
0854デフォルトの名無しさん
2008/12/11(木) 19:03:020855デフォルトの名無しさん
2008/12/11(木) 19:03:52>IDEはVisual Studioなので、同じではないのですか?
見た目は一緒だけど、中身の質はかなり違う。
少なくともIntelliSenseの出来は桁違いにC#のほうが良い。
0856デフォルトの名無しさん
2008/12/11(木) 20:48:340857デフォルトの名無しさん
2008/12/11(木) 21:38:16C++は構文解析するの難しすぎて使い勝手のいいIDE作るの難しいってどっかで読んだことあるわ
Javaとかだとリファクタリングの機能とかもはや常識だけどC++でそういうのってないっしょ?みたいな
0858デフォルトの名無しさん
2008/12/11(木) 21:42:360859デフォルトの名無しさん
2008/12/11(木) 22:12:28ガベコレはやっぱ欲しいしなぁ。
C++ でまともに使いやすいコード書こうと思ったら、
自前で参照カウント実装してとかしなきゃいけないし、
そうするとプラットフォーム側でGCしてくれる言語の方が効率いいし、
循環参照気にしだすとものすごい面倒だし。
あと、イテレーターとかLINQとかない言語はもう使えないわ。
0860デフォルトの名無しさん
2008/12/11(木) 22:13:42正直、C++とC#だったら生産性1桁違うと思う。
0861デフォルトの名無しさん
2008/12/11(木) 22:32:11パフォーマンスのこと抜かしたら、言語的にC++でできてC#でできないのって型制約無しGenericsでのとりっきーなもんだけじゃない?
0862デフォルトの名無しさん
2008/12/11(木) 22:37:16業務アプリ程度で速度が求められる事なんて最近はそんなにないし
0863デフォルトの名無しさん
2008/12/11(木) 22:42:05これぐらい違うな。
0864デフォルトの名無しさん
2008/12/11(木) 22:58:070865デフォルトの名無しさん
2008/12/11(木) 23:02:09何がいい言いたいのか意味わかんねえよ。
0866デフォルトの名無しさん
2008/12/11(木) 23:03:56サーバーもWindows Server 使えってこった。
0867デフォルトの名無しさん
2008/12/11(木) 23:10:18C#が動く環境の話してるんだが
0868デフォルトの名無しさん
2008/12/11(木) 23:13:12今までの退屈なC#プログラミングが一気に幅が広がった気がする
C++の変態的なのも楽しいけど今はC#が楽しい
所詮プログラミングなんてコード書いてる時間より考えてる時間の方が長いんだから楽しくないとね
0869デフォルトの名無しさん
2008/12/11(木) 23:28:120870デフォルトの名無しさん
2008/12/11(木) 23:30:57なんだ、CEってやったことないんだけど、.netなら殆ど同じなのかな……
死にてえ。
0871デフォルトの名無しさん
2008/12/11(木) 23:33:49だからおまえはつかえねーんだよ
0872デフォルトの名無しさん
2008/12/11(木) 23:33:550873デフォルトの名無しさん
2008/12/11(木) 23:34:39もうMFCには戻れない。戻りたくない。
0874デフォルトの名無しさん
2008/12/11(木) 23:36:02匿名型とラムダ式はちょっと相性が悪いので・・・
0875デフォルトの名無しさん
2008/12/11(木) 23:39:150876デフォルトの名無しさん
2008/12/11(木) 23:46:32なに相性悪いんだっけ?
>>875
使う。
0877デフォルトの名無しさん
2008/12/12(金) 00:02:48関心度はなぜか異常に高いけど、なんていうか「お前大きなアプリ書けないんじゃないの?」って
感じの人が多いような印象を受ける。
普通にコード書いてる人なら(もちろん新技術もそれはそれで重要ではあるが)
設計レベルの話の方が重要だし関心がありそうに思うんだが、その種の話っていうのは
なぜかあまり盛り上がらないんだよね。
まあ邪推かもしれんが。
0878デフォルトの名無しさん
2008/12/12(金) 00:07:160879デフォルトの名無しさん
2008/12/12(金) 00:12:53勘違いしてた
型推論とラムダ式が相性悪くて匿名型がうまくいかなかっただけだった
0880デフォルトの名無しさん
2008/12/12(金) 00:14:28そういう話題に関心の薄い人は、そもそも設計とか技術全般に関心が薄いような印象。
0881デフォルトの名無しさん
2008/12/12(金) 01:01:510882デフォルトの名無しさん
2008/12/12(金) 01:54:200883デフォルトの名無しさん
2008/12/12(金) 02:01:380884デフォルトの名無しさん
2008/12/12(金) 03:20:48変な分岐やループの解読不能コードよりはるかにマシ
0885デフォルトの名無しさん
2008/12/12(金) 05:20:480886デフォルトの名無しさん
2008/12/12(金) 05:43:49SQL自体は悪くないけど、今時クエリを文字列で扱うとかありえん
0887デフォルトの名無しさん
2008/12/12(金) 07:29:37型推論とラムダは密接に関係あるだろ
0888デフォルトの名無しさん
2008/12/12(金) 08:04:09こういうことができない。
var f1 = i => i * 2;
推論になってないけどキャストは必要になるな。
var f2 = (Func<int, int>) (i => i * 2);
0889デフォルトの名無しさん
2008/12/12(金) 08:30:14SQLライクな組み込みクエリ使わなくても、
集合操作系の関数がそろってるってだけでものすごいありがたい。
C++ で points.Select(p => p.X) 相当のコードを C++ で書くのがどれだけ面倒か。
>>886
そうそう、IntelliSenseとコンパイラによる構文チェックがありがたい。
あと、in-memoryオブジェクトとDBアクセスが同列に扱えるのもありがたい。
>>888
型推論に頼る者同士を重ねて使うと相性悪い。
var とラムダ式もだけど、あと、テンプレートでも時々型推論の問題出る。
まあ、どれか1つ型を明示すればいいだけなんだけども。
0890デフォルトの名無しさん
2008/12/12(金) 08:53:14object foo(object p){ return p.X;}
と同等の無名メソッドって理解でいいのかね
0891デフォルトの名無しさん
2008/12/12(金) 09:00:13そのため p=>p.X の式だけではC#のラムダ式として成立しない。
0892デフォルトの名無しさん
2008/12/12(金) 10:15:520893デフォルトの名無しさん
2008/12/12(金) 10:19:33メンバクラスも同様
0894デフォルトの名無しさん
2008/12/12(金) 10:49:04できればこんなことをしたいけど型推論が無理
Func<int, IQueryable<'a>> みたいになるので明示的宣言もできない
汎用Variantみたいなもの作ってFunc<int, IQueryable<Variant<T1,T2>>>的なことはできるけど冗長になりやすいのでtypedefが欲しくなるし
型推論ができないのは仕方ないとしてせめてローカル型宣言できればなあって
0895デフォルトの名無しさん
2008/12/12(金) 11:06:44var f = Func("ダミーだよ", x => new { X = x });
Console.WriteLine(f("Hello World").X);
こうする。キモいけど。
0896デフォルトの名無しさん
2008/12/12(金) 11:27:51var f = Func( (string x) => new { X = x } );
でいけた
ありがとう
0897デフォルトの名無しさん
2008/12/12(金) 11:37:420898デフォルトの名無しさん
2008/12/12(金) 17:40:090899デフォルトの名無しさん
2008/12/12(金) 18:04:39その前に未実行のデストラクタもちゃんと動くから、
プロセス外のアンマネージドリソースやアウトプロセスサーバーの開放も機能する。
0900デフォルトの名無しさん
2008/12/12(金) 20:20:210901デフォルトの名無しさん
2008/12/12(金) 20:21:27一部はあるけど。
0902デフォルトの名無しさん
2008/12/12(金) 21:45:22元の質問がプロセス終了を意図したものならば、
プロセス終了時の(未解放の)リソース解放はOSが責任を負う
0903デフォルトの名無しさん
2008/12/13(土) 00:25:480904デフォルトの名無しさん
2008/12/13(土) 18:33:340905デフォルトの名無しさん
2008/12/13(土) 19:32:30return new { Result = true, Message = "うどん>そば" };
とかを返すような関数って型宣言どうすればいいの?
0906デフォルトの名無しさん
2008/12/13(土) 19:35:11匿名型返す非匿名メソッドは無理。
ちゃんと Result と Message 持つ型作るしかない。
4.0 なら dynamic で返せばいいんだけど。
0907デフォルトの名無しさん
2008/12/13(土) 19:39:03マジか ありがとう
4.0ならいけるのか… C#はバージョン上がるたびに気持ちよく書けるようになるな
0908デフォルトの名無しさん
2008/12/13(土) 19:56:53ADOXのカタログ使って*.mdbファイル作ってるんだが
複数の主キー設定する方法がわからないんだ…
ADOX.KeyClass pk = new ADOX.KeyClass();
で宣言してColumnsに列名追加してやってるんだが
Keys.Append(pk,ADOX.KeyTypeEnum.adKeyPrimary,"","","");
ではダメらしい…orz
0909デフォルトの名無しさん
2008/12/13(土) 20:01:01でも、そんなののためにdynamic使うのはどうかと思うけどなぁ。
匿名型はメソッド内だけで使え。
0910デフォルトの名無しさん
2008/12/13(土) 20:29:240911デフォルトの名無しさん
2008/12/13(土) 22:02:31自動プロパティとイニシャライザでだいぶいい感じにはなるから
0912デフォルトの名無しさん
2008/12/13(土) 22:08:51もし推測が可能でも意味的におかしいからありえない
0913912
2008/12/13(土) 22:12:12dynamic x = "a";
これはインテリセンスが効いてもおかしくはない
0914デフォルトの名無しさん
2008/12/13(土) 22:15:450915デフォルトの名無しさん
2008/12/13(土) 22:49:12LINQって何? おいしいの? データベースなんか触らないボクに関係ある?
ラムダ式ってなに=>あの矢印。べつにデリゲートでいいじゃん。こないだやっと理解したばっかなのに。
ダイナミックてw ダイクマかよw
0916デフォルトの名無しさん
2008/12/13(土) 22:50:460917デフォルトの名無しさん
2008/12/13(土) 22:58:56その場合ならvar使えばいいと思う。
0918デフォルトの名無しさん
2008/12/13(土) 23:06:11右辺にdynamicを返すメソッドが来ないかぎりは推測できるはず
0919デフォルトの名無しさん
2008/12/13(土) 23:09:440920デフォルトの名無しさん
2008/12/13(土) 23:53:57データベース関係なくても、Enumerableクラスで
配列やコレクションに対する操作を行うメソッドが充実しているのは便利。
0921デフォルトの名無しさん
2008/12/14(日) 00:00:470922デフォルトの名無しさん
2008/12/14(日) 00:12:47ToLookupが便利だよ。ここだけは勧める。
ToLookupとかToDictionaryとか一時変数なしでさっくり処理できるのが嬉しい。
ToLookupしてToDictionary(it => it.Key, it => it.ToList())とかToDictionary(it => it.Key, it => it.First())とかよく使う。
LookupはDictionaryと違ってキーがなくても長さ0のコレクションが返ってくるのでそれも便利。
linqをデータベースに適用するのはデータ量的にも予想できそうにない処理速度的にも怖くて出来ない。
0923デフォルトの名無しさん
2008/12/14(日) 00:17:56軽いし
0924デフォルトの名無しさん
2008/12/14(日) 00:21:14俺が単にまだぽつりぽつりと使うぐらいで、きちんと使いこなして
いないせいなのかもしれないけど。
0925デフォルトの名無しさん
2008/12/14(日) 00:22:27データベース相手でも、複雑でなければLINQ使っても直にSQL使ってもそう変わらないと思うけど。
0926デフォルトの名無しさん
2008/12/14(日) 00:43:110927デフォルトの名無しさん
2008/12/14(日) 00:53:15クエリ式は正直いらなかった
0928デフォルトの名無しさん
2008/12/14(日) 00:55:14LINQでも直にSQLでも同じクエリが実行されるなら普通にSQL書いて欲しいよ。
「そう変わらない」って表現できるように違うクエリになる可能性があるとなると
ちょっとでも違うのが原因で予想外な実行プランになるのが怖いんだよ。
SQLServerをプロファイラでチェックして重いクエリを見つけたときに
SQLが直接書かれていれば簡単にgrepできるのに
LINQだとどこで実行されたクエリか探すのが大変なことになるよ。
0929デフォルトの名無しさん
2008/12/14(日) 00:58:09分けて考えたほうが無難だと思うよ。
0930デフォルトの名無しさん
2008/12/14(日) 01:20:510931デフォルトの名無しさん
2008/12/14(日) 02:09:130932デフォルトの名無しさん
2008/12/14(日) 02:10:02いやいや、それはない。
LINQ to SQL、LINQ to Entity は、C# ソース中に型安全で IntelliSense とコンパイラの構文チェック付きで書けるってのが何よりもおいしい。
確かにパフォーマンス最優先なら結局 SQL 文直接書いてぎりぎりまでチューニングした方がいいんだけども。
それは「C++ は遅いからアセンブラ書け」って発想と大差ない。
0933デフォルトの名無しさん
2008/12/14(日) 04:03:40複雑で難儀するものこそ技術者コミュニティの美徳という、サグラダ的なリナ糞系では生まれない
洗練された技術だしな。
0934デフォルトの名無しさん
2008/12/14(日) 04:44:30SQLとかクエリ式とかおまけもおまけだろ
0935デフォルトの名無しさん
2008/12/14(日) 05:03:510936デフォルトの名無しさん
2008/12/14(日) 08:51:32なくても実現できないものがあるわけではない
でおk?
0937デフォルトの名無しさん
2008/12/14(日) 08:52:28お前さんにはそれでいいよ。
0938デフォルトの名無しさん
2008/12/14(日) 08:54:17ズーズー弁なら発音は正しい。
0939デフォルトの名無しさん
2008/12/14(日) 09:03:06分からないなら黙っててください。ウザいだけです。
0940デフォルトの名無しさん
2008/12/14(日) 09:05:380941デフォルトの名無しさん
2008/12/14(日) 09:06:32SQL文字列を自前でトークナイズしてたら実行時になっちゃうし
0942デフォルトの名無しさん
2008/12/14(日) 10:03:490943デフォルトの名無しさん
2008/12/14(日) 10:37:11どうでもいいループなら消した方がいいと思うけどどんなの?
0944デフォルトの名無しさん
2008/12/14(日) 11:33:560945デフォルトの名無しさん
2008/12/14(日) 13:50:38定形処理までLINQにされると読みにくいんじゃないのか?わからんけど
今までの書き方のほうが見た瞬間わかる!とかはあるじゃん
ようするに俺らの脳内が時代に追いついてませんwwwみたいな
0946デフォルトの名無しさん
2008/12/14(日) 13:53:02http://mamono.2ch.net/test/read.cgi/newsplus/1229229316/
0947デフォルトの名無しさん
2008/12/14(日) 13:53:280948デフォルトの名無しさん
2008/12/14(日) 14:20:09だからそれもコピペだろ? 馬鹿なの?
0949デフォルトの名無しさん
2008/12/14(日) 14:27:35ワロタw確かに使ってるww
「〜やろ。いやよう知らんけど。」みたいなw
でもそれが大阪の味やねんからほっといて。
よう知らんけど・・・
0950デフォルトの名無しさん
2008/12/14(日) 17:11:29アプリ内でフォームに入力した内容をMS Word、Excelに出力する事はできるのでしょうか?
メニューを作り、txtファイルに出力されるようにはしているのですが、
そこから印刷する時にいつもWordを開いてコピペしてやっているので、
直でWord形式で出力はできないのか?と思いました。
0951デフォルトの名無しさん
2008/12/14(日) 17:23:110952デフォルトの名無しさん
2008/12/14(日) 17:23:34できるよ。「オートメーション」で調べてみ
0953デフォルトの名無しさん
2008/12/14(日) 17:58:40同じXHTMLをXmlDocumentに食わせるとxdoc.SelectNodes("//hoge:a", hogenm)とかで全部取れるんだけど…
Parseしたときに怒られたりしないからこれで取れてほしいんだけどなぁ…
ttp://blog.asura.co.jp/takehara/70a91a6b2c354b7489c36c41e5e7ea17/entry.aspx
ここらへんを参考にやってみたけど同じようにできんかった…
0954デフォルトの名無しさん
2008/12/14(日) 18:09:25ありがとうございます。やってみます。
0955デフォルトの名無しさん
2008/12/14(日) 19:35:05XNamespaceで解決するかも、しないかも
0956デフォルトの名無しさん
2008/12/14(日) 21:35:37そこは「よう知らんけど」を使わないとw
0957デフォルトの名無しさん
2008/12/14(日) 21:56:11同感、もう手放せないったら手放せない
ほかの言語に行くのが怖い・・・
0958デフォルトの名無しさん
2008/12/14(日) 22:16:00やってみたけど解決しなかったわ… や、よう知らんけどな
0959デフォルトの名無しさん
2008/12/14(日) 22:17:080960デフォルトの名無しさん
2008/12/14(日) 22:22:17出たよヲタグラマ用語。本当に気色わるいな。
ゴ〜ニョゴニョゴニョヲタクの子
0961デフォルトの名無しさん
2008/12/14(日) 22:23:01""ttp://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"">
<html xmlns=""ttp://www.w3.org/1999/xhtml"" xml:lang=""ja-JP"">
<head><title>タイトル</title></head>
<body><p><a href=""ttp://www.example.com"">リンク</a></p></body>
</html>";
var doc = XDocument.Load(new StringReader(xml));
var hrefs = (from a in doc.Descendants("{ttp://www.w3.org/1999/xhtml}a")
where a.Attribute("href") != null
select a.Attribute("href").Value);
foreach (var href in hrefs)
Console.WriteLine(href);
問題なく取れるな
0962デフォルトの名無しさん
2008/12/14(日) 22:29:33ローカル変数をラムダ式(もしくはクエリ式中の式)に取り込むとクラスが生成されるけど
LINQとは直接関係ない
一番アセンブリが汚くなるのはyieldだな
結構な量の汚いコードを生成する
0963デフォルトの名無しさん
2008/12/14(日) 22:35:24ただそろそろ整理しないと言語が崩壊する…
0964デフォルトの名無しさん
2008/12/14(日) 22:41:010965デフォルトの名無しさん
2008/12/14(日) 22:46:400966デフォルトの名無しさん
2008/12/14(日) 22:55:04あるぇー?(´・ω・`)
わざわざコード書いてくれてあんがと
喰わせたXHTMLがダメだったんかな… どうやって追いかければいいんだ…
0967デフォルトの名無しさん
2008/12/14(日) 23:02:40良く知らないけどw
もし行番号でているなら手で開業売ってみたらええのでは
0968デフォルトの名無しさん
2008/12/14(日) 23:06:540969デフォルトの名無しさん
2008/12/14(日) 23:29:28一応例外は飛ばないんだ…
で、doc.Descendants("{ttp://www.w3.org/1999/xhtml}a")的なことをしたとき\なんもねぇ!/ってなるんだ…
>>968
mjd…根性あるなぁ
jayとか使うの?
0970デフォルトの名無しさん
2008/12/14(日) 23:35:190971デフォルトの名無しさん
2008/12/14(日) 23:42:51根性のRegexクラスで全パース
0972デフォルトの名無しさん
2008/12/14(日) 23:45:020973デフォルトの名無しさん
2008/12/15(月) 00:04:130974953
2008/12/15(月) 00:10:12>>961が書いてくれたコードをコピペしたら動くようになった よう知らんけど
で、そのあと自分の流儀でもっかい書き直してみた 動いた
元のコードと新しく書いたコードを見比べてみて特に違いがわからない
何で動くようになったのか全然わからなくて嬉しいけど気持ち悪い
ほとんど変わってないけど以下動いたコード
XDocument x = XDocument.Parse(xml);
XNamespace xn = "http://www.w3.org/1999/xhtml";
var hrefs = from a in x.Descendants(xn + "a")
where a.Attribute("href") != null
select a.Attribute("href").Value;
foreach(var href in hrefs) {
Console.WriteLine(href);
}
0975デフォルトの名無しさん
2008/12/15(月) 00:11:490976デフォルトの名無しさん
2008/12/15(月) 10:16:480977デフォルトの名無しさん
2008/12/15(月) 14:33:21xdoc.Descendants("{http://www.w3.org/1999/xhtml#}a")
XNamespaceを使ったほうがいいと思うが、
最初のが動かなかったのは#が抜けてるからだろう。
0978デフォルトの名無しさん
2008/12/15(月) 14:42:400979デフォルトの名無しさん
2008/12/15(月) 15:57:17表示されていますが、あのようにアイコンを淡い色で表示するためには
どういったクラスでできるのでしょうか。
0980デフォルトの名無しさん
2008/12/15(月) 18:41:03アルファを半分くらいにするとそれっぽくはなるが
http://dobon.net/vb/dotnet/graphics/hadeinimage.html
0981デフォルトの名無しさん
2008/12/15(月) 20:00:03ご指導ありがとうございます!!
この方法をアイコンの表示に使う場合にはどうするか、
わかればいいのですね。また調べてみます。
またわからないときにはお聴きします。
0982デフォルトの名無しさん
2008/12/15(月) 20:59:590983デフォルトの名無しさん
2008/12/15(月) 22:01:29Vs韓国戦の砲弾が劣悪らしいんだ
戦争できねえっうぇえっっw
0984デフォルトの名無しさん
2008/12/15(月) 22:33:590985デフォルトの名無しさん
2008/12/15(月) 23:14:040986デフォルトの名無しさん
2008/12/16(火) 00:05:190987デフォルトの名無しさん
2008/12/16(火) 10:54:440988デフォルトの名無しさん
2008/12/16(火) 17:57:47コンソールで上の行に戻ることはできますか?
C言語ならば\x1b[2Aのようなエスケープシーケンスで戻ることができたのですが
C#ではこれが使用できませんでした
何か方法があったら教えてください
0989デフォルトの名無しさん
2008/12/16(火) 17:59:202.0以降ならConsoleクラスにカーソル関係のプロパティとか用意されてる
0990デフォルトの名無しさん
2008/12/16(火) 18:02:270991デフォルトの名無しさん
2008/12/16(火) 18:35:520992デフォルトの名無しさん
2008/12/16(火) 19:10:22返答ありがとうございます
なるほど,Consoleクラスにあるんですね…盲点でした
0993デフォルトの名無しさん
2008/12/16(火) 23:01:450994デフォルトの名無しさん
2008/12/16(火) 23:02:13レス数が950を超えています。1000を超えると書き込みができなくなります。