C#, C♯, C#相談室 Part82

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
2デフォルトの名無しさん:2013/12/11(水) 21:14:18.72
墜つ
3デフォルトの名無しさん:2013/12/12(木) 08:50:58.56
DoEventsをawait Taskで描き直したいのですが

for(int t = 0; t < 1000; ++t){
//なんか処理
//Application.DoEvents();
await Task.FromResult<object>(null); //(1)
await Task.Delay(0); //(2)
await Task.Delay(1); //(3)
}

(1)と(2)はメッセージループに戻ることなく、関数が継続してしまいます。
(3)だとメッセージループに戻って、他のイベントを処理してから
戻ってきますが、他のイベントがない場合でも1ms戻って来ないです。

DoEventsのように、イベントがなければすぐ戻ってくる方法はありませんか?

BeginInvokeとフェーズ管理を自分でやればできることは分かっていますが
上記と同じくらい簡潔に書ける方法はありませんか?
4デフォルトの名無しさん:2013/12/12(木) 10:11:28.72
>DoEvents
ブビ厨脳のお前には無理
5デフォルトの名無しさん:2013/12/12(木) 11:19:12.16
根本的にTaskの仕組みを理解してないな
思い込みを捨てて基礎からやったほうが良いぞ
6デフォルトの名無しさん:2013/12/12(木) 12:17:55.39
//なんか処理 はListView更新とかがメインなので
タスクのスレッドプールでは実行できません。
だから、非同期メソッドの構文をウェイトを挟むのに使いたいです。
非同期メソッド以外にも、簡潔に書ける方法があったら教えてください。
7デフォルトの名無しさん:2013/12/12(木) 12:23:40.05
簡潔に書ける方法がDoEventsだろ間抜け
8デフォルトの名無しさん:2013/12/12(木) 12:36:20.88
DoEventsを使うなって聞き齧ったか何かで書き直そうとしてるんだろうな
仮にTaskで出来たとしても、DoEventsと同じ動作をするなら意味無いぜ
9デフォルトの名無しさん:2013/12/12(木) 14:43:09.93
やってることはControl.BeginInvoke使うのと一緒だが、
Taskを使うならスケジューラーを交互に換えるとそれっぽくなる。

var task = Task.Factory.StartNew<int>(() => { Thread.Sleep(1000); return 10000; });
for (int i = 0; i < 10; i++) {
 task = task
  .ContinueWith<int>((t) => { textBox1.Text = t.Result.ToString(); return t.Result; }, // 表示処理
    TaskScheduler.FromCurrentSynchronizationContext())
  .ContinueWith<int>((t) => { Thread.Sleep(1000); return t.Result + 1; }, // 時間のかかる処理
    TaskScheduler.Default);
}
10デフォルトの名無しさん:2013/12/12(木) 17:35:22.45
FromCurrentSynchronizationContextというのがあるんですね。
スレッドプールでしか実行できないと思っていました。
試してみます。ありがとうございました。
11デフォルトの名無しさん:2013/12/12(木) 19:07:36.49
TcpClientででかいデータを一発でやりとりすんのってどうやってやるんですか?
別に一発じゃなくてもいいですが、できれば一発がいいです。
12デフォルトの名無しさん:2013/12/12(木) 19:08:44.22
>>11
お前すぐ死ねよカス
13デフォルトの名無しさん:2013/12/12(木) 19:09:22.07
そんな方法はありません
14デフォルトの名無しさん:2013/12/12(木) 21:58:46.32
ロジックのスレッドからUIスレッド操作はデリゲート使わないと出来ないこともわからないのかブビ厨はwww
マジでVBとかこの世から消えて欲しいんだよね、なんなのあれ?闇のソナタ?ひと目見るだけで目が腐るわwww
15デフォルトの名無しさん:2013/12/13(金) 00:16:56.41
ブビ厨にスレッドをさわらせるとロクなことがない
16デフォルトの名無しさん:2013/12/15(日) 11:06:11.03
(なんでみんなYで始まるアレを教えてあげないんだろう・・・?)
17デフォルトの名無しさん:2013/12/15(日) 17:37:50.06
YANMARはこの際関係ないと思うが
18デフォルトの名無しさん:2013/12/15(日) 17:50:09.01
YAZAWAだろ
19デフォルトの名無しさん:2013/12/15(日) 19:28:45.96
YOSHIDAが最強だよね
20デフォルトの名無しさん:2013/12/15(日) 19:29:46.85
誰だよ
21デフォルトの名無しさん:2013/12/16(月) 14:11:55.08
private void wb_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
  HtmlElementCollection hec = wb.Document.GetElementsByTagName("a");
  foreach (HtmlElement he in hec)
  {
// 〜 略 〜 一定のクリック対象の条件を満たした場合
    InvokeMember("click"); ・・・@
  }
}

グーグルで検索を行い表示された検索結果のうち
特定サイトをクリックすると、 @を実行した直後に
wb_DocumentCompleted イベントが発生しなくなってしまいます。

クリックしたサイトが表示されるページが大半なのに
なぜ特定サイト ( suumo ・ 2ch)の場合だけ、ページが表示されてもDocumentCompleteが
発生しなくなるか理由が分かりません。いった何が原因なのでしょうか?
22デフォルトの名無しさん:2013/12/17(火) 23:03:31.55
いろんなアプリを使ってるとたまに
OpenFileDialogのような外観と操作性のフォルダ選択画面があるんですが
.NETの標準ではそういう物は無いですか?
23デフォルトの名無しさん:2013/12/17(火) 23:10:04.12
APICodePackに入ってる奴か?
24デフォルトの名無しさん:2013/12/17(火) 23:18:30.98
コピペプログラマ卒業したいのにWin32APIだとコピペになっちゃう
やっぱC++覚えないと駄目なんか・・・
25デフォルトの名無しさん:2013/12/19(木) 00:14:10.61
>>24
windows7 api codepackはMSご謹製のライブラリーであってwin32APIとは別物ですよ
nugetにてcodepackを検索すれば出てくるのでインストールは簡単です
使い方はぐぐってね
26デフォルトの名無しさん:2013/12/19(木) 09:30:12.03
自作C++ライブラリを呼ぶとかならアレだけど
Win32APIをDllImportするなんて約束事を幾つか覚えれば簡単でしょう
27デフォルトの名無しさん:2013/12/19(木) 19:54:24.77
Comとか文字列とか含んだ構造体とかは結構わからなくなる
28デフォルトの名無しさん:2013/12/19(木) 22:10:34.67
>>23
まさにこれです
ありがとうございました
29デフォルトの名無しさん:2013/12/19(木) 22:18:12.89
いえいえ
30デフォルトの名無しさん:2013/12/20(金) 18:45:04.78
拡張メソッドだとオブジェクトがnullか判定できちゃうのな
例えば

public static bool IsNull( this object obj )
{
 return obj == null;
}

-------

Object o = null;
bool fNull = o.IsNull(); // ぬるりかと思いきやtrue

キモいw
キモいけど便利かも
31デフォルトの名無しさん:2013/12/20(金) 18:46:46.50
へー、勉強になった
多分役に立たないけど
32デフォルトの名無しさん:2013/12/20(金) 22:52:55.49
string.IsNulOrrEmptyと一緒かな?
33デフォルトの名無しさん:2013/12/21(土) 04:41:57.99
>>32=バカ
見た目上nullに対して(null).method()
が実行できてしまうことの
気持ち悪さを言っているというのに
34デフォルトの名無しさん:2013/12/21(土) 11:37:51.81
C#初心者用だと答えが返ってこなかったのでここで質問します

http://keyboardmousehooks.codeplex.com
ここのKeyboardHook Classを利用してフックは出来たんですが、メッセージの書き換え方がわからないんです
どうすればいいか教えてください
それと、何故かEnterキーを一度しか押してないのにメッセージボックスを開くとキーが2回押されてるようでメッセージボックスがすぐ閉じてしまいます
これも原因がわからないんのでアドバイスお願いします
35デフォルトの名無しさん:2013/12/21(土) 11:42:57.74
663 名前:デフォルトの名無しさん[sage] 投稿日:2013/12/20(金) 22:02:32.23
見てないけどLLの方なら書き換えはできないよ
握りつぶして代わりにSendInputとかで改めて送信

帰って来てますので>>34はスルーでお願いします
36デフォルトの名無しさん:2013/12/25(水) 10:05:10.28
ちょっとオブジェクトがどうなるか自信が無いので教えてください
C# 4.0、Framework 4.0で作成してます
下の様なTaskを使った処理を作ろうとしてるのですが、
StartNewでタスクが作成された後、StartTask関数は抜けますが
その時に自動変数なので変数としてのClientは無効になると思うのですが
タスクに渡されたTcpClientのインスタンス自体は
タスク無いで保持されてるので消滅しないと思って間違いないでしょうか?

private void StartTask() {
 var Client = Listener.AcceptTcpClient();

 Task.Factory.StartNew((ClientSck) => {
  while(!TaskCancelation.IsCancellationRequested) {
   // ソケットを使用した通信処理
  }
 }, Client, TaskCancelation.Token);
}
37デフォルトの名無しさん:2013/12/25(水) 10:10:27.20
うん
38デフォルトの名無しさん:2013/12/25(水) 10:39:28.46
ご変換してますね
タスク無い、じゃなくて、タスク内、ですね

>>37
ありがとうございます
これでやってみます
39デフォルトの名無しさん:2013/12/25(水) 16:10:25.63
RichTextBoxの選択範囲について教えてください
今、私はVS2012のC#を使ってエディタを作成しているのですが
選択範囲のテキストをドロップドラッグするためにTextBoxではなくRichTextBoxを使って作成しています
そして質問したい事なのですが
RichTextBox内のテキストを選択すると一番最後に空文字の様なものが入ったり
4行の文字列があるとするとその行末に選択できる空白(消すと改行が消える)があったりします
とりあえず改行をマウスで選択出来てしまいます
それを無くしたいのですが
どの様にしたら良いのでしょうか
具体的には
何のイベントにどの様な事を記述すれば良いのでしょうか
40デフォルトの名無しさん:2013/12/25(水) 17:02:24.57
改行選択できないエディタ見たことないんだが
41デフォルトの名無しさん:2013/12/25(水) 17:39:05.54
「リッチテキスト 改行文字」でググれ
42デフォルトの名無しさん:2013/12/25(水) 18:32:20.55
>>40
さくらエディタ見たいなヤツを作りたいです
>>41
ググって見ましたが分かりません
43デフォルトの名無しさん:2013/12/25(水) 19:38:18.36
>>42
さくらのソース公開されてるだろう
44デフォルトの名無しさん:2013/12/25(水) 19:50:43.24
改行はたぶん>>39の手に負えない内容だと思う
それって別にエディタの動作として再優先な機能じゃないんだろ?
とりあえず放置してほかの部分作っとくのがいいと思う
45デフォルトの名無しさん:2013/12/25(水) 19:58:37.27
>>43
C#しかやった事がないもので
>>44
メモ帳としての基本機能はつけ終わりました
46デフォルトの名無しさん:2013/12/25(水) 20:03:37.03
>>45
notepad.exe起動してメニュー見てみ。地味に多いぞ。全部パクるんだ
47デフォルトの名無しさん:2013/12/26(木) 03:13:51.22
今時エディタなんて誰が喜ぶんだよ・・・
48デフォルトの名無しさん:2013/12/26(木) 03:26:55.11
おまえらいつも喜んでんじゃん
49デフォルトの名無しさん:2013/12/26(木) 21:12:31.39
てす
50デフォルトの名無しさん:2013/12/29(日) 22:19:12.60
PureC#のエディタってあるの?
51デフォルトの名無しさん:2013/12/29(日) 22:35:18.76
C#ってVC++より生産性が高いと評判ですが
http://static.sourceforge.jp/magazine/blob/d0/d098ec96fd4de9b17ff4ff1bf419e7d2.png
見たいなUIも簡単に作れるんですか?
もしくは最初っからあります?
52デフォルトの名無しさん:2013/12/29(日) 22:38:55.47
探せばあるんじゃね
53デフォルトの名無しさん:2013/12/29(日) 22:38:57.05
うん
54デフォルトの名無しさん:2013/12/29(日) 22:56:37.16
こういう質問する奴には簡単には作れないよ
生産性が高いっていうのは、わかってる奴が作ると手間が掛からないってだけ
55デフォルトの名無しさん:2013/12/29(日) 22:57:41.00
ほなら、VC++だっていっしょじゃん
56デフォルトの名無しさん:2013/12/29(日) 22:58:23.67
>>54
>わかってる奴が作ると手間が掛からないってだけ
激しく同意
57デフォルトの名無しさん:2013/12/29(日) 23:01:47.69
>>55
そうよ
夢がぶっ壊れてよかったね
58デフォルトの名無しさん:2013/12/29(日) 23:09:59.10
>>51
大して難しくないだろ
面倒なだけ。
やれば終わる仕事だよ
59デフォルトの名無しさん:2013/12/30(月) 00:04:21.86
>>51
ふらっとにもきた?

>Windows API Code Packを使うと、割と簡単にできる

だって
60デフォルトの名無しさん:2013/12/30(月) 00:25:45.89
でも.NETはフレームワークってほど便利じゃないんだよね
あくまでもVC++と比較して.NETは生産性が高いってだけで
.NETが用意してくれていない(UIに関してはほとんど)ことを実装しようと思うと言語仕様を理解してる前提で言えば手間はかわらないんじゃない?
RailsやjQueryみたいなチートフレームワークが.NETでも出てくればいいね
61デフォルトの名無しさん:2013/12/30(月) 00:31:11.61
そういう意味のフレームワークならASP.NET MVCがある
評判上々でかなり上手くいってるぞ
62デフォルトの名無しさん:2013/12/30(月) 00:58:38.32
Threadクラス使って別スレッドで結構長い時間がかかるループ処理をしているんだけど、
自分でスレッドを強制終了したいためこういうコードにしたのよ。
while(!AbortRequest)
{

〜省略〜
}
でスレッド終了したいときにメインスレッドからAbortRequestをTrueにして抜けるようにしたんだけど
なぜだかわからないけどwhile文の最後までいかず途中で終了してしまうのよ。ファイル書き込みも途中で終わってしまう
せめてファイル書き込みを終わらせてから終了させたいんだけど、どういうふうに対策したらいいの?
あとなんでこんなことがおきるの?
63デフォルトの名無しさん:2013/12/30(月) 01:05:31.01
それだけじゃどの「?」にも答えられませんわ
64デフォルトの名無しさん:2013/12/30(月) 01:09:48.48
変な最適化くらってんじゃないの
65デフォルトの名無しさん:2013/12/30(月) 01:17:39.34
>>62が変なことをしているから。
バックグラウンドスレッドに設定してメインスレッドを終了させているとか、
Thread.AbortやInterruptを呼び出しているとか、
サブスレッドが使用するリソースを破棄して例外が出ているとか。
何もしなければwhile条件以外で終わるはずがない。
66デフォルトの名無しさん:2013/12/30(月) 01:31:41.32
あきらかに.NETからプログラミングを始めましたって感じのコードだなw
67デフォルトの名無しさん:2013/12/30(月) 01:44:39.57
冷やし中華でしたか。
68デフォルトの名無しさん:2013/12/30(月) 02:07:50.89
IsBackground==trueでは?
バックグラウンド スレッドは、プロセスの終了を回避しないので
69デフォルトの名無しさん:2013/12/30(月) 03:40:32.46
つーか単にそれのインスタンスをどこも持ってなくてGC回収食らってんじゃないの
70デフォルトの名無しさん:2013/12/30(月) 04:41:20.48
資源回収でしたか。
71デフォルトの名無しさん:2013/12/30(月) 04:47:27.30
ないない
72デフォルトの名無しさん:2013/12/30(月) 05:24:38.13
岡村さんでしたか。
73デフォルトの名無しさん:2013/12/30(月) 07:15:41.55
>>69はバカ
7418:2013/12/30(月) 09:04:41.13
>>69
この発想はなかったわ。
こんな奴が近くにいなくてよかった〜 (w
75デフォルトの名無しさん:2013/12/30(月) 12:42:41.17
ふらっとにFormClosingでAbort呼んでといった質問があったので同一人物だろう
原因もきっとそれだ
76デフォルトの名無しさん:2013/12/30(月) 13:14:45.49
ふらっとスレ立て遅れてるからこっち来たのか
77デフォルトの名無しさん:2013/12/30(月) 13:30:40.23
たったお〜
ふらっとVisual C#,C♯,C#(初心者用) Part110
http://toro.2ch.net/test/read.cgi/tech/1388377636/l50
7862:2013/12/30(月) 14:26:29.48
>>75
同一人物だけど、Abortは呼ばないようにしたんだけどうまくいかない
ふらっとがたったのでそっちいきます
79デフォルトの名無しさん:2013/12/30(月) 17:34:40.23
やっぱMSの人間って頭わるいんでしょうね
こんな独善的な言語、時間の膨大な浪費になるところでした。
で、脱MSへのトリガーともなりました。
ちかれた。。。
80デフォルトの名無しさん:2013/12/30(月) 17:56:16.58
おめでとう
君は今邪悪なソフトウェアの呪縛を逃れたのだ
次に君がすべきことはFSFへの帰依である
81デフォルトの名無しさん:2013/12/30(月) 18:05:19.84
あ、C#じゃなくて .NETか
こりゃ失敬
82デフォルトの名無しさん:2013/12/30(月) 19:21:42.10
TreeViewコントロールを貼ったフォームを用意して
Loadイベントの中で
Process.GetProcesses()を使ってウィンドウを持つ全プロセスを列挙し
取得した各プロセスのトップレベルウィンドウのハンドル値をテキストにしてTreeViewのノードを追加し
その後Win32APIのEnumChildWindowsを使用して
取得済みの全トップレベルウィンドウの子ウィンドウを列挙して各ウィンドウノードの子ノードとして追加しようとしているのですが、
子ウィンドウの列挙が最初のトップレベルウィンドウしか行われないまま終わってしまいます。
しかし、ステップ実行で動きを追うと、すべての列挙が正常に行われます。
どうしたらちゃんと列挙できるんでしょうか?

VisualStudioは2010、フレームワークはVer.4.0です
83デフォルトの名無しさん:2013/12/30(月) 19:26:22.12
それだけではなんとも
EnumChildWindowsに渡すデリゲートをGC.KeepAliveなりフィールドに置くなりでインスタンス維持してない可能性とかぐらいか
8482:2013/12/30(月) 20:01:33.40
すいません、動かしたコードを載せます。

public class Win32API {
  public delegate bool WndEnumProc(IntPtr hWnd, IntPtr lParam);

  [DllImport("user32.dll")]
  private static extern int GetWindowText(IntPtr hWnd, StringBuilder lpString, int nMaxCount);

  [DllImport("user32.dll")]
  public static extern bool EnumChildWindows(IntPtr hWndParent, WndEnumProc lpEnumFunc, IntPtr lParam);

  [DllImport("user32.dll")]
  public static extern IntPtr GetParent(IntPtr hWnd);

  public static string GetWindowText(IntPtr hWnd) {
    var Buf = new StringBuilder(MAX_PATH);
    GetWindowText(hWnd, Buf, Buf.Capacity);
    return Buf.ToString();
  }
}
8582:2013/12/30(月) 20:02:04.50
public partial class MainForm : Form {
  private Win32API.WndEnumProc CallbackFunc;
  private GCHandle EnumParam;
  private void Form_Load(object sender, EventArgs e) {
    CallbackFunc = new Win32API.WndEnumProc(MainForm.EnumChildProc);
    EnumParam = GCHandle.Alloc(WindowTree);
    EnumWindows();
  }
  private void Form_Closing(object sender, FormClosingEventArgs e) {
    if(EnumParam != null && EnumParam.IsAllocated) {
      EnumParam.Free();
    }
  }
  private void EnumWindows() {
    foreach(var Proc in System.Diagnostics.Process.GetProcesses()) {
      if(Proc.MainWindowHandle != IntPtr.Zero) {
        WindowTree.AddNode(IntPtr.Zero, Proc.MainWindowHandle, Proc.MainWindowTitle);
      }
    }
    foreach(WindowTreeNode Node in WindowTree.Nodes) {
      Win32API.EnumChildWindows(Node.WindowHandle, CallbackFunc, GCHandle.ToIntPtr(EnumParam));
    }
  }
  private static bool EnumChildProc(IntPtr hWnd, IntPtr lParam) {
    var ParentHandle = Win32API.GetParent(hWnd);
    var TreeView = ((GCHandle)lParam).Target as WindowTreeView;
    TreeView.AddNode(ParentHandle, hWnd, Win32API.GetWindowText(hWnd));
    return true;
  }
}
8682:2013/12/30(月) 20:04:47.41
フォームのコンストラクタはデフォルトのままなので省略してます。
EnumChildWindowsを呼び出してるforeach部分をtry〜catchしてみたりもしましたが
特に例外は返ってきませんでした

AddNodeはメソッド内でハンドル値を元に子ノードを追加すべきノードを検索して子ノードを追加するメソッドです
87デフォルトの名無しさん:2013/12/30(月) 20:11:00.14
EnumChildProcでTrace.WriteLineやってみてちゃんと出力はされてる?
88デフォルトの名無しさん:2013/12/30(月) 20:40:49.18
コールバック内でTrace.WriteLineしてみましたが
1つ目のトップレベルウィンドウの分の列挙分は出力されましたが、
その後は出力されませんでした。
デバッグでステップ実行するとやはり全部出力されます。
89デフォルトの名無しさん:2013/12/30(月) 20:49:54.01
exeで実行しプロセスにアタッチでデバッグするとどうなる?
90デフォルトの名無しさん:2013/12/30(月) 21:55:40.48
なんでEnumChildProcだけstaticなんだよw
91デフォルトの名無しさん:2013/12/31(火) 17:10:43.19
以前、C#でWindowsAPI使う時にコールバック関数の使い方調べたことあるが
その時に見つけたサイトで、EnumWindowsを使って例を書いてたが
そこではコールバック関数をstaticにしてあったな
同じようなの見たんじゃないかな?
92デフォルトの名無しさん:2013/12/31(火) 17:32:03.15
MSDNのGCHandleのサンプルをベースにしたんだろ
EnumChildWindowsは同期型のコールバックだから、
あんまり問題は出ないはずだけどね
93デフォルトの名無しさん:2014/01/04(土) 15:20:03.85
VisualC# 2010で作成したソリューションファイルを
Visual Studio 2013 for Windows Desktopのものに変換するにはどうすればいいでしょうか?
94デフォルトの名無しさん:2014/01/04(土) 15:20:50.92
ダブルクリック
95 忍法帖【Lv=40,xxxPT】(1+0:5) :2014/01/08(水) 21:00:44.99
C#ってもうオワコンなの?
96デフォルトの名無しさん:2014/01/08(水) 21:39:09.46
オワコンだよ!
97デフォルトの名無しさん:2014/01/09(木) 21:01:01.73
ロボコンだよ!
98デフォルトの名無しさん:2014/01/09(木) 21:02:20.28
2chがオワコン
99デフォルトの名無しさん:2014/01/09(木) 21:14:54.93
終わってんのはおまえら
100デフォルトの名無しさん:2014/01/09(木) 22:44:14.14
まぁ、人類が終わってルナーと感じる事は最近頓にある
101デフォルトの名無しさん:2014/01/10(金) 06:52:11.62
そろそろ次のステージに進化しないとな
102デフォルトの名無しさん:2014/01/10(金) 12:08:42.43
次はC##かな
103デフォルトの名無しさん:2014/01/10(金) 12:12:30.16
CX(シー ダブルシャープ)
でお願いします
104デフォルトの名無しさん:2014/01/10(金) 21:52:33.77
C丼
105デフォルトの名無しさん:2014/01/10(金) 21:56:17.10
Cシャープ(音楽記号)
106デフォルトの名無しさん:2014/01/10(金) 21:59:54.37
>>104
気に入った!
107デフォルトの名無しさん:2014/01/10(金) 22:00:37.44
C囲
108デフォルトの名無しさん:2014/01/11(土) 12:49:42.76
C#++
10918:2014/01/11(土) 13:12:51.08
D♭
110デフォルトの名無しさん:2014/01/13(月) 09:52:12.05
まあ、こんなのが面白いんだから、終わってるな
111デフォルトの名無しさん:2014/01/13(月) 10:15:21.49
冬休みだからしょうがない
112デフォルトの名無しさん:2014/01/13(月) 13:48:23.13
冬休みは5日までじゃね?
113デフォルトの名無しさん:2014/01/13(月) 14:07:12.23
C??
114デフォルトの名無しさん:2014/01/13(月) 14:07:53.44
あ、UNICODE出ないのか
プログラム板なのに
115デフォルトの名無しさん:2014/01/14(火) 11:01:41.85
プログラム板なのに下らないカキコしてんじゃねー
116デフォルトの名無しさん:2014/01/18(土) 03:43:12.59
ユニコード=ウイルス
使用例:もっと強力なウイルスありませんか?
117デフォルトの名無しさん:2014/01/18(土) 05:07:10.51
強力なユニコードありませんか?じゃね。
118デフォルトの名無しさん:2014/01/18(土) 09:20:08.66
超漢字のサポートはまだですか?
119デフォルトの名無しさん:2014/01/19(日) 17:13:49.27
dataGridViewを使っています。
セルのタイプがDataGridViewComboBoxCellだったらという条件で処理を分岐させようと考えていますが、条件の書き方が分かりません。

if (dataGridView1.Columns[n].CellType.Name ==

ここまでは分かっていて、左辺の値はDataGridViewComboBoxCellが取れているのですが
右辺を固定文字列以外の形式で表現する方法は無いでしょうか。
120デフォルトの名無しさん:2014/01/19(日) 17:35:18.46
Columns[n] is DataGridViewComboBoxColumn
じゃあかんの? 行ごとにセルの型が違うとか?
121デフォルトの名無しさん:2014/01/19(日) 21:46:25.32
これでいけるんじゃね

if (dataGridView1.Columns[n].GetType() == typeof(DataGridViewComboBoxColumn))
{
  処理
}
122デフォルトの名無しさん:2014/01/21(火) 13:26:36.20
抽象クラスAで、publicな実装済みメソッドbのほか、protectedな抽象メソッドaを定義しました。
この実装済みメソッドbでは、 抽象メソッドaを呼び出すコードを書きます。

そして派生クラスでは、この 抽象メソッドaの実装のみします。

今、この派生クラスを実体化し、publicな 実装済みメソッドbを呼び出すと、 実装されたメソッドaが機能するでしょうか。

基底クラスから派生クラスのメンバを呼び出しているように見えるので、大丈夫なのかなと。

お願いいたします
123デフォルトの名無しさん:2014/01/21(火) 14:58:59.77
ゴミ
124デフォルトの名無しさん:2014/01/21(火) 18:24:08.70
カス
125デフォルトの名無しさん:2014/01/21(火) 18:28:06.83
つーかテストコード書いてみりゃわかることでしょうが。
そもそも機能しなかったとしたらメソッドbはいったい何を呼ぶのか
126デフォルトの名無しさん:2014/01/21(火) 22:35:41.60
>>122
Template Methodでぐぐってみな
127122:2014/01/22(水) 09:53:25.02
レス頂きありがとうございます!

>>125
そうですかできますか!
今日、開発環境(VS2010)をインストールしおわったので、いよいよ試してみたいと思います。

>>126
まさにそれです。なんかわかってもらえた感じがあって嬉しい。
128デフォルトの名無しさん:2014/01/22(水) 19:37:16.04
>>125-126
無事、成功しました。うまくできました!
ありがとうございます。
129デフォルトの名無しさん:2014/01/23(木) 11:11:58.30
C#のWindows アプリケーションにて、
System.Data.OleDb.OleDbConnection クラスを使い、
ローカルディスク上のmdbファイルに接続する場合、
時間経過でタイムアウトが起こることはあり得ますか?

下記の様な接続文字列を用いて接続することを想定しています。ODBCは使いません。
Connection.ConnectionString = "provider=Microsoft.Jet.OLEDB.4.0;Data Source=ファイル名;"

また、タイマーコントロールやスレッドなどを使わず、
OleDbConnectionやmdbの機能だけで
故意にタイムアウトを起こすことは出来ますか?
(接続プーリングのことではなく、接続そのものをタイムアウトで自動切断させる)
もし有ればその方法をお教え願えたらと思います。
130129:2014/01/23(木) 11:24:41.62
申し訳ありません。
説明不足でしたが、上記のタイムアウトはOpenメソッドでのタイムアウト
(ConnectionTimeoutプロパティ)ではなく、
接続確立後にアイドル時間が一定以上経過した後のタイムアウトを想定しています。

アプリケーションを起動して数十分や数時間放置したあと、タイムアウトが起きるか?
もし起きるならその条件は?という質問です。

もしよろしければお教えいただけると幸いです。
131デフォルトの名無しさん:2014/01/23(木) 11:58:07.24
usingでリソース管理する
132デフォルトの名無しさん:2014/01/23(木) 14:51:37.13
mdbに接続後のアイドル時間でタイムアウトってあるのかい?
133デフォルトの名無しさん:2014/01/23(木) 20:53:56.85
どうでもいい話だけど、ミュータブルなクラスのコンストラクタに関して、

(1) なるべく多くのオーバーロードを用意する。

(2) 名前付き引数を使う。

(3) どうせオブジェクト初期化子が使えるんだから、必要最小限の引数を取るものを1つだけ用意する。

この3つの方針でよく迷うんだけど皆さんはどう?
134デフォルトの名無しさん:2014/01/23(木) 21:03:27.92
(4) オプション引数を使う
135デフォルトの名無しさん:2014/01/23(木) 21:14:07.63
ああ、名前付き引数ってのは呼び出す側から見た時の呼び方で
オプション引数って書いた方がよかったか。

まあ同じことだと思うんだけど。
136デフォルトの名無しさん:2014/01/23(木) 21:21:24.50
違います
137デフォルトの名無しさん:2014/01/23(木) 21:25:57.31
馬鹿っぽい反応だね
138デフォルトの名無しさん:2014/01/23(木) 21:48:23.47
PythonとかRubyみたいなLLから来た子だろ
C#では全然違う
139デフォルトの名無しさん:2014/01/23(木) 22:37:35.82
確かに厳密に言えば違うか。

名前付き引数なんて省略可能な引数使って定義されたメソッドを呼び出す時以外に
使いどころがないとは思うけど
140デフォルトの名無しさん:2014/01/24(金) 00:03:45.96
可哀相な子がいるな
誰か彼の魂を開放してやりなさい
141129:2014/01/24(金) 00:28:54.14
厳密に言わなくても全く別物ですがね
知識不足を指摘されてみっともなくいつまでも言い訳して居座ってるんじゃないよ
邪魔だ
142デフォルトの名無しさん:2014/01/24(金) 00:34:00.84
おぉ、神よ。どうか、129の魂が天に召されんことを
143デフォルトの名無しさん:2014/01/24(金) 00:38:30.10
>>141
俺にとってはお前みたいな奴こそ邪魔。
幼稚くんに言っても始まらないが、下らない揚げ足取りの前に建設的なことの1つも言ってみろバカ。
144デフォルトの名無しさん:2014/01/24(金) 00:40:46.93
主観的視点で邪魔と切り捨てる慧眼はさすが幼稚としか言いようがない

ん?その観点だと幼稚は2人いるみたいだな
145デフォルトの名無しさん:2014/01/24(金) 00:43:14.12
それが主観に過ぎないことの自覚があるのとないのでは違うと思うんだけどね。
って中学生じみた話だな
146デフォルトの名無しさん:2014/01/24(金) 08:12:48.96
ここまで幼稚
147デフォルトの名無しさん:2014/01/24(金) 11:12:08.34
イミュータブルなクラスにもオブジェクト初期化子が使えたらいいなと思うこの頃
148デフォルトの名無しさん:2014/01/24(金) 15:56:37.27
>>147
なにそれ、初めてきいた
免疫と関係するものですか
149デフォルトの名無しさん:2014/01/24(金) 17:30:12.04
MSは既存の用語があるのにいちいち新語・無意味な新仕様使うから調べる手間が増える
150デフォルトの名無しさん:2014/01/24(金) 18:09:51.28
おじいちゃんには大変ですよね
151デフォルトの名無しさん:2014/01/24(金) 18:20:04.27
>>150
若い奴が貴重な時間を浪費する方が遥かに不憫だ、と普通は思うけどな
152デフォルトの名無しさん:2014/01/24(金) 19:28:45.72
イミュータブルはMS語じゃないだろ
153デフォルトの名無しさん:2014/01/24(金) 20:43:41.60
>>151
一回読んだら250ミリ秒くらいで覚えるけど
154デフォルトの名無しさん:2014/01/25(土) 22:47:59.43
なんで独自フレームワーク(笑)作る糞PG・SEってやたら深い階層アーキテクチャにすんだ?
何層ものレイヤーがまったく同じ処理を繰り返す意味ってなんなの?
サブシステム\からアクセスする共通ライブラリに書かず、それぞれのレイヤーで同じ処理をPrivateなメンバで持つって低能すぎませんか?
こういう糞コード見る度に設計(笑)とかInterface(笑)とか馬鹿にやるせるな・使わせるなっていつも思うんだが
こういうの手直しさせられる身にもなれよ糞PG・SEども
155デフォルトの名無しさん:2014/01/25(土) 22:54:19.13
仕事選べないって残酷だね
156デフォルトの名無しさん:2014/01/25(土) 22:55:21.02
俺の経験では、2chくんだりでそうやってクダ巻いてる奴こそ例外なく無能。
157デフォルトの名無しさん:2014/01/25(土) 23:05:40.56
>>154
分割してから別のところに発注するからだろ
そういう無駄があるからこそお前は飯が食えてるんだから上流様に感謝しろよ
158デフォルトの名無しさん:2014/01/26(日) 07:35:00.63
>>155
仕事したことないって夢のようだね
159デフォルトの名無しさん:2014/01/26(日) 10:08:43.02
君は夢に手が届かないのか
いかんなあ努力が足りないよ
160デフォルトの名無しさん:2014/01/26(日) 11:27:23.29
21世紀だというのになぜ人類が働かなければならないのか
機械とロボットだけが働いて、全人類がそのアガリで生きていける時代になるべきだ
161デフォルトの名無しさん:2014/01/28(火) 14:40:31.64
後方互換性を破壊しないで属性を拡張する方法ってないの?

プラグインのクラスにつける属性に機能を追加することを想定してます
古い実行ファイルでもプラグインの新しい部分は無視するようにしたい

既存のFooAttributeに新しいプロパティを追加すると
古い実行ファイルがGetCustomAttribute()したときにCustomAttributeFormatException 投げる(新しいプロパティなんて知らねーよって)し

FooAttributeの他にBarAttributeをつけても
新しい属性の型を解決できないのでGetCustomAttribute()でTypeLoadException

やっぱ古い方が参照してるpluginlib.dllを更新しないとダメ?
162デフォルトの名無しさん:2014/01/28(火) 17:50:56.60
>>161
・pluginlib.dllはそのままで、pluginlib2.dllを追加してBarAttribute。
・古いexeのアプリケーション構成ファイルを弄っていいならバージョンリダイレクトして
互換性のある新しいpluginlib.dllを参照させる。(ただしpluginlib.dllに署名がないとダメ)
163デフォルトの名無しさん:2014/01/28(火) 19:36:39.02
>>161
System.AddIn
164デフォルトの名無しさん:2014/01/28(火) 20:35:10.95
属性ってテキストだしメタデータだから型は緩いのかとかちょっと思ったら
やっぱり型ぎちぎちなんだぬ
165デフォルトの名無しさん:2014/02/02(日) 23:29:50.94
MSモノにはヘルプのヘルプが必要という昔からの謎がある
166デフォルトの名無しさん:2014/02/02(日) 23:45:41.88
MSのドキュメントはずば抜けて丁寧すぎるから、勘違いしてOfficeと同じようにお客様感覚で使ってる人が多いんだよ
MS以外のゴミみたいなドキュメントで開発したら二度とそんなこと言えなくなる
167デフォルトの名無しさん:2014/02/02(日) 23:52:07.57
VS2010のヘルプはコピーが一部しかできないし、
MSDNは翻訳で変な日本語だし、ソース部分のコメントは英語だし、例が難しすぎたり的外れだったり・・・
で、結局、個人のサイトやブログのおかげでなんとかプログラムが書ける、というのが現状^^;
168デフォルトの名無しさん:2014/02/03(月) 00:06:48.74
>>167
最新のは翻訳が追いついていないのが歩から、機械翻訳のページは少し古いのみるといい
169デフォルトの名無しさん:2014/02/03(月) 02:17:34.16
>>166
俺も昔はMSDN読んでもイミフでなにこの糞とか思ったけどそれなりのレベルになってきたらMSDN見るのが一番早いもんな
他社のフレームワークのドキュメントとか読むとマジでどんだけMSDNわかりやすいか良くわかるわ
っつーか日本語あるだけでありがたい
170デフォルトの名無しさん:2014/02/03(月) 07:50:47.78
>>167
翻訳が必要って時点でゴミグラマ確定
171デフォルトの名無しさん:2014/02/03(月) 20:22:46.93
バイリンだけどブログラムは一行も書けない。
ここ何?
変な所に飛ばされた。
172デフォルトの名無しさん:2014/02/03(月) 20:26:12.15
梅淋って病気2つ持ってるのか
173デフォルトの名無しさん:2014/02/03(月) 20:28:22.03
淫らな梅林
174デフォルトの名無しさん:2014/02/03(月) 22:32:01.30
この雌豚め!
175デフォルトの名無しさん:2014/02/04(火) 22:19:02.12
他の人が作ったライブラりーをC#で使っていて、その中でエラー発生の
例外処理でMessageBoxが表示される仕様になっているのですが、
それを出さないようにできないでしょうか?ソースコードを変更できないので、
何か別の方法で。
176デフォルトの名無しさん:2014/02/04(火) 22:31:40.37
酷すぎ
親のWndProcに何かメッセージとかきてないかな
177デフォルトの名無しさん:2014/02/04(火) 22:43:48.45
>>175
ildasmして修正してilasm
178デフォルトの名無しさん:2014/02/04(火) 23:03:04.38
VCのプロジェクトファイルを弄ってみたいのですが分からんことが有ります。
vcproject.dllの参照渡してから次を実行すると、InvalidCastException吐き出されます。
new Microsoft.VisualStudio.VCProjectEngine.VCProjectEngineObject();

'Microsoft.VisualStudio.Project.VisualC.VCProjectEngine.VCProjectEngineShim' のオブジェクトを
型 'Microsoft.VisualStudio.VCProjectEngine.VCProjectEngineObject' にキャストできません。

見当外れなことしてる気がするんだけど、結局分からんという。
179デフォルトの名無しさん:2014/02/04(火) 23:33:18.98
180デフォルトの名無しさん:2014/02/04(火) 23:54:58.71
>>179
あざます!
ttp://connect.microsoft.com/VisualStudio/feedback/details/685149/cannot
ほぼ同じ内容ですが、こっちも見て解決出来ました。

ttp://connect.microsoft.com/VisualStudio/feedback/details/662744/visualstudio-vcprojectengine-10-0-create-project-issue
で、次に合わせてこっちも見たら解決しました。おまけのような何かとして。
181デフォルトの名無しさん:2014/02/07(金) 04:59:30.04
sqlserverの10万行以上あるテーブルを別のデータベースのテーブルに移すために、
sqlcommandオブジェクトでinsertストアドプロシジャを毎行ループさせて呼び出しています。
ループごとに、sqlcommandを新生させていますが、明示的にディスポーズしてません。
多分、10万行分のsqlcommandが新生されながら、自動的にガベージコレクトされているのだと思います。

質問です。
ループ内部にusingステートメントを使ってsqlcommandをディスポーズさせる必要はないのでしょうか。
182デフォルトの名無しさん:2014/02/07(金) 06:35:33.03
SqlBulkCopy使えよ
183デフォルトの名無しさん:2014/02/07(金) 07:11:53.74
馬鹿は死ね
184デフォルトの名無しさん:2014/02/07(金) 09:24:30.42
すいません、自分以外の意見がほしいので聞きたいです。
LaLena.comというサイトのtsp.exe.zipについてです。
こちらのプログラムで使用している交叉は欲張り法にだと思うのですがどう思いますか?
185デフォルトの名無しさん:2014/02/07(金) 09:27:33.24
よくわからないニダ
186デフォルトの名無しさん:2014/02/07(金) 14:48:29.48
>>182
そんなクラスがあるなんて知りませんでした。ありがとうございます。
これって、移動先と移動元のテーブル構造が異なる場合でも、
insert文のように列ごとにコピー方法を設定できるのでしょうか。
187デフォルトの名無しさん:2014/02/07(金) 19:48:10.91
SQLServerにコピーするんじゃなくて、SQLServerからコピーするんだろ
別のデータベースってのは別のDBMSって意味じゃないのか?
そのデータベースでバルクコピーがサポートされてないとだめなんじゃね

別のデータベースってのが同じSQLServerのインスタンスのってなら、SQL一発で終わるんだが
188デフォルトの名無しさん:2014/02/07(金) 20:12:05.93
最小ログ操作の成立条件は厳しいから
Bulk使っても速くならん事が多いよ

SqlCommandの件だがPrepareしなけりゃ
開放しなきゃいけないようなリソースは抱えてない
気にるならしとけばいい程度
189デフォルトの名無しさん:2014/02/08(土) 01:08:17.52
>>187
>別のデータベースってのは別のDBMSって意味じゃないのか?
>別のデータベースってのが同じSQLServerのインスタンスのってなら、SQL一発で終わるんだが

すみません、用語が不正確だった
同一マシンで動作するSQLSERVERの異なるインスタンス間でのテーブル間コピーをしたいんです

ところで、もし、同じインスタンスのテーブルコピーだったら、一発で(超高速という意味でしょうか?)終わる?

>>188
>Prepareしなけりゃ開放しなきゃいけないようなリソースは抱えてない
わざわざ、開放のための準備(Prepare)をする必要はないってこと?
ガベージコレクトされるのをまってりゃおk?

>>181で自分が想像しているとおり、
「10万行分のsqlcommandが新生されながら、自動的にガベージコレクトされている」っていう考えでよい?


レスありがとうございます。
190デフォルトの名無しさん:2014/02/08(土) 01:25:52.40
>>189
正確にはGCされてるかどうかはそのときの状況次第
開放されたオブジェクトがすぐにGCされるわけではない

>ところで、もし、同じインスタンスのテーブルコピーだったら、一発で(超高速という意味でしょうか?)終わる?
超高速かどうかはしらんが同一インスタンスならDB名で修飾してinsert select 1文実行するだけ
別インスタンスなり別DBMSなりなら、俺ならまずリンクサーバ検討するがな
まあ、これ以上はDB板かどっかで聞け
191デフォルトの名無しさん:2014/02/08(土) 01:59:03.44
>>190
すみません、ありがとうございます。

ガベージコレクトの状況については、物理メモリの利用の推移をタスクマネージャーの動きで確かめてみたいと思います。

同一インスタンス内の異なるデータベース間でのテーブルコピーができるだけでも便利そうですね。> SqlBulkCopyクラス
192デフォルトの名無しさん:2014/02/08(土) 02:41:37.40
>>191
なんか勘違いしてそうだけど、DB名で修飾とか、リンクサーバとかは
SqlBulkCopyクラス関係ない話だぞ

つか、普通はループの外でコマンド生成するようにするだろ
193デフォルトの名無しさん:2014/02/08(土) 03:33:35.48
>>192
>普通はループの外でコマンド生成するようにする
そう思ったんですが、ループ毎にきちんと、COMMANDオブジェクトを初期化できる自信がなかったんで
194デフォルトの名無しさん:2014/02/08(土) 03:35:22.36
>>192
>DB名で修飾とか
勘違いでした。SQL文で、テーブルをデータベース名で修飾するわけですね
195デフォルトの名無しさん:2014/02/08(土) 11:35:50.76
>>193
パラメータの使い方がわからず、SQLにテキストで埋め込んでるのか?

あと、disposeは外部リソースを開放するもので、
マネージドメモリを開放するのはあくまでもGCだよ。
196デフォルトの名無しさん:2014/02/08(土) 17:02:35.09
C#でのTwitterクライアント開発の質問はここでいいのでしょうか?
197デフォルトの名無しさん:2014/02/08(土) 17:04:56.26
>>196
そんなもん出来合いのオープンソースなライブラリが腐るほどあるから好きなの選んでサンプルの通りに使うだけ
以上
198デフォルトの名無しさん:2014/02/08(土) 17:32:18.32
>>195
ディスポーズされると、即座に.netフレームワークに目をつけられてガベージコレクトされるものなのだと思っていました。

sqlcommandオブジェクトなのですが、ストアドプロック呼び出しで、パラメタオブジェクトを追加してます。
ループの外でnewしたsqlcommandオブジェクトを使いまわすと、
さっき追加したパラメタオブジェクトを初期化しないと、次のループで誤動作するのではないかと思ったんです。

ループ内で、パラメータオブジェクトをcommandオブジェクトに.addするので、
初期化しないと、二重に.addされることになってしまいます。
ループ内で最初に、commandオブジェクトのパラメタなどの設定がクリアする方法があればいいのですが。
199デフォルトの名無しさん:2014/02/08(土) 18:08:32.85
sqlcommand.Parameters.Clear()
200デフォルトの名無しさん:2014/02/08(土) 18:52:35.58
普通コマンドにパラメタaddするまでループの外でやるもんじゃ...
201デフォルトの名無しさん:2014/02/09(日) 00:43:07.82
System.Drawing.Imaging.Encoderで画像ファイルの保存を行おうと思っているのですが、
それぞれのEncoderがどのEncoderParameterをサポートしていてどういう値を設定できるか、
どこで調べられるのでしょうか?
とりあえずpng/bmp/jpgがわかればいいので、どこかに書かれたものを参照できれば
それでもかまいません。
202デフォルトの名無しさん:2014/02/09(日) 01:00:03.01
画像のメタデータから判断するのがいいんじゃないかな
203デフォルトの名無しさん:2014/02/09(日) 01:32:07.59
>>199
ああ!そんな便利そうなやつ、あったんだ!

>>200
そうなんですか。慣れていないもので。


どうもありがとうございました。

うー、抽象メソッドを実装するメソッド内に、sqlcommandオブジェクトの新生まで記述してしまっている。
また、その具象クラス数が多いので、修正するのが非常に面倒だなあ。
1000件処理するのに、0.5秒ほどかっているのが、もっと早くなって半分くらいになるなら、直す価値があるなあ。
204デフォルトの名無しさん:2014/02/09(日) 08:23:22.57
全体の数パーセントをいくら短縮しても
数パーセント以上に速くなることはないな
205デフォルトの名無しさん:2014/02/09(日) 08:28:40.98
1件INSERT×1000行で0.5秒って既に無茶苦茶早いだろ
206デフォルトの名無しさん:2014/02/09(日) 10:10:19.29
>>202
そういう話じゃなくて、Encoderがどういう設定に対応しているかが知りたいんですが。
たとえばJPEGエンコーダはQualityを設定できるのは知っていますが、他のEncoderでは
どうなのかとか、それぞれのEncoderで有効なColorDepthの値は何かとか。
207デフォルトの名無しさん:2014/02/09(日) 11:03:31.87
GetEncoderParameterListでも使っとけ
208デフォルトの名無しさん:2014/02/09(日) 11:46:02.85
画像毎ではなくて事前に求めておきたいと思ったんですが、MSDNのサンプルも
ダミーのBitmapからGetEncoderParameterListで求めてるんですね。失礼しました。
209デフォルトの名無しさん:2014/02/09(日) 13:20:20.04
c#で書いたオッパイスクリプト系プログラムってある?
210デフォルトの名無しさん:2014/02/09(日) 15:31:28.62
>>205
1000ループで、ドットを1個吐くようにしていて、
だいたい、1秒ほどでドットが2個吐き出されるようすを確認しました。

じゃあ、毎ループにsqlcommand新生のままで行こうかな。
直すの、面倒だし。
211デフォルトの名無しさん:2014/02/10(月) 07:43:30.83
まじめに計測しようよ
212デフォルトの名無しさん:2014/02/10(月) 11:09:16.52
SqlCommandの内部実装ってかなり良くできてる気がする
おんなじようなコード見つけてループの外に出したことあるけど
あんまり速度差でなかったんだよなぁ
213デフォルトの名無しさん:2014/02/10(月) 11:18:02.16
bcpでロードしたときの速度を参考にすれば、
クライアント側でどこまで改善可能かの指標になるよ

>1000000 行コピーされました。
>ネットワーク パケット サイズ (バイト): 4096
>クロック タイム (ミリ秒) 合計 : 120359 平均 : (8308.48 行/秒)

あとはDBスレにでも行ってくれ
214デフォルトの名無しさん:2014/02/10(月) 11:52:20.55
ローカルにMySQLをインストール。
WinFormではデータテーブルと、グリッドビューを配置。

実行時にDBデータがグリッドビューに表示されるようにしているんだけど、
2万行、40列くらいのデータを表示するのに5秒くらいかかる。

ちょっと遅い気がするんだけどそんなもん?

ちなみにコードは1行も書いてないっす。
215デフォルトの名無しさん:2014/02/10(月) 12:25:09.46
表示分だけ随時データとれよ
216デフォルトの名無しさん:2014/02/10(月) 12:27:03.50
妄想で事実を疑うってヤツだ。
217デフォルトの名無しさん:2014/02/10(月) 16:36:59.02
フォルダーやファイルのアクセス権について質問

■アクセス権の取得方法
・File.GetAccessControlを使用して、FileSystemAccessRuleの値から
アクセス権とユーザ・グループを取得
・WindowsPrincipal.IsInRoleを使用して自分が利用可能
(ユーザー・グループに該当するか)かどうかを判定

■質問
1.このやり方が一般的なのでしょうか?
2.所有者のアクセス権はフルコントロール扱いなんでしょうか?

2については、所有者が自分自身で、読み書きの制限が無いフォルダーが、
上記アクセス権の取得方法では、読み取りぐらいしか出来ないことになっていておかしい。
所有者のアクセス権の扱いが知りたいです。
218デフォルトの名無しさん:2014/02/10(月) 17:41:42.63
スレ違いは去れ
219デフォルトの名無しさん:2014/02/10(月) 22:26:49.94
ASP.NETスレッドがないので、ここで御願いします。

ASP.NET4からURLルーティングという機能が使えるようになり、
クエリストリングで指定していたパラメタを、ディレクトリ形式で指定し、ルーティング先ASPXページオブジェクト内で、取得できるようになりました。

さて、このディレクトリ形式で指定できるURLは、ビルトインのユーザ認証機能で、
アクセス許可設定はできるのでしょうか。

web.configの、locationタグで、URLを指定してから、子要素で認証関係の設定を行うだけで良いのでしょうか。

おねがいします
220デフォルトの名無しさん:2014/02/11(火) 01:36:57.20
WebProg板にあるっちゃあるが、あっちも過疎ってるしな
221デフォルトの名無しさん:2014/02/11(火) 03:31:41.37
222デフォルトの名無しさん:2014/02/11(火) 04:04:03.82
>>221
非常に良く分かりました!良いページをありがとうございます。

URLルーティングされる静的URLも、物理URLに対するのと同様にアクセス制御ができるとわかりました。
また、 CheckPhysicalUrlAccess プロパティによって、
その静的URLだけでなく、ルーティング先の物理URLについてもアクセス制御が可能だと分かりました。

ありがとうございます。
223デフォルトの名無しさん:2014/02/11(火) 11:39:39.22
C#にはiniファイル読み書きクラスはないのか?
224デフォルトの名無しさん:2014/02/11(火) 11:41:43.78
そんな時代遅れなものはない
XMLかJSONを使え
225デフォルトの名無しさん:2014/02/11(火) 11:45:26.87
>>223
ふらっとVisual C#,C♯,C#(初心者用) Part110
http://toro.2ch.net/test/read.cgi/tech/1388377636/
226217:2014/02/11(火) 12:33:12.79
ファイラー作ってんだけど、

例外回避したいからアクセス権で処理の可否を事前確認しようとしているんだけど、
アクセス権取得(GetAccessControl)で例外発生して使えない
どうすりゃいいっての?

まあ、>>217の■アクセス権の取得方法 で例外が発生した場合、
アクセス権が無いと判断すれば、やりたいことはやれるだけど
MSはACLでnull返すとか、個数0を返すとかしてくれれば良かったのに。
227デフォルトの名無しさん:2014/02/11(火) 13:28:50.10
>>224
今時iniとかありえないよな
でもユーザーが直接触る可能性のあるものはやっぱiniだわ
228デフォルトの名無しさん:2014/02/11(火) 13:41:37.86
>>227
何その自己矛盾

って思ったら、相手をあえて肯定しつつ若干反論になる自分の意見を主張してたのね
コミュ力高いと見た!
229デフォルトの名無しさん:2014/02/11(火) 13:43:52.34
まあAPI呼ぶのが無難かと
230デフォルトの名無しさん:2014/02/11(火) 13:57:01.83
JSONなら手書きもいけるっしょ
最近の人ならiniよりむしろ馴染みがあるのでは
231デフォルトの名無しさん:2014/02/11(火) 17:06:05.00
xmlもjsonも先方にわからないって怒られるからダメ
232デフォルトの名無しさん:2014/02/11(火) 17:08:51.93
おれおれフォーマットでいいならいくらでも作ればいいだろ
233デフォルトの名無しさん:2014/02/11(火) 17:09:45.50
そもそもiniの仕様がわからない
234デフォルトの名無しさん:2014/02/11(火) 17:20:51.01
[section]
key=value
;コメント
;まぁ大体こんな感じ
235デフォルトの名無しさん:2014/02/11(火) 17:27:17.75
xmlにしとけよ
iniはきちんと実装しようとすると沼にハマる
236デフォルトの名無しさん:2014/02/11(火) 17:29:48.81
xmlの沼よりマシな気がするけど
237デフォルトの名無しさん:2014/02/11(火) 17:30:44.23
なんで設定ファイルごときの仕様を厳密に守る必要があるんだ
238デフォルトの名無しさん:2014/02/11(火) 17:39:02.12
後で泣くのは自分だから
239デフォルトの名無しさん:2014/02/11(火) 17:47:06.95
iniは「”」とか微妙なところで個人差があるから独自フォーマットの方がマシ
240デフォルトの名無しさん:2014/02/11(火) 18:13:01.70
>>236
> xmlの沼

ってなに?
241デフォルトの名無しさん:2014/02/11(火) 18:18:10.32
>>239
そういう意味では、ini自体独自フォーマットでしょう。
242デフォルトの名無しさん:2014/02/11(火) 18:20:10.16
最近日本語が通じなくなってきたorz
243デフォルトの名無しさん:2014/02/11(火) 18:33:17.00
>>239
そういうのは標準のAPIを使ってない「iniモドキ」だろ。
244デフォルトの名無しさん:2014/02/11(火) 18:42:55.46
>>243
標準()のAPIでも挙動が異なるんだよ
245デフォルトの名無しさん:2014/02/11(火) 18:51:58.22
>>244
具体的には?
246デフォルトの名無しさん:2014/02/11(火) 19:07:24.45
「個人差」
247デフォルトの名無しさん:2014/02/11(火) 19:56:10.55
iniはvalueがコレクションとかだと面倒だけど
xmlは場合によっては&gtとかユーザーがやるんでしょ?
うーん
248デフォルトの名無しさん:2014/02/11(火) 19:59:46.41
CDATAの使い方でも教えとけよ
249デフォルトの名無しさん:2014/02/11(火) 20:22:43.87
普通のテキストファイルに設定データ書けばいいじゃん
250デフォルトの名無しさん:2014/02/11(火) 20:30:49.58
iniもxmlも普通のテキストファイルですが?
251デフォルトの名無しさん:2014/02/11(火) 20:34:09.34
>>249
だからその書式をどうするかの話だろ。
ひょっとして .ini とか XML がテキストファイルでないと思ってる?
252デフォルトの名無しさん:2014/02/11(火) 20:38:26.66
設定ファイルはXAMLもどきにしてコンポジションを定義するのに使ってる
253デフォルトの名無しさん:2014/02/11(火) 20:38:55.97
だから自分で勝手にフォーマットを決めろよ
APIなんか使わなくてもいいよ
254デフォルトの名無しさん:2014/02/11(火) 20:53:57.68
そうやって、一見似てるけど微妙に互換性がないフォーマットが増えていく
255デフォルトの名無しさん:2014/02/11(火) 20:55:45.39
XML≠テキストファイル
256デフォルトの名無しさん:2014/02/11(火) 21:30:31.23
互換性なんて幻想
257デフォルトの名無しさん:2014/02/11(火) 21:37:39.49
>>246
俺が「個人差」と言った意味がわかったろ
2万年ROMれ
258デフォルトの名無しさん:2014/02/11(火) 21:45:41.73
iniファイルの互換性って意味不明すぎる
259デフォルトの名無しさん:2014/02/11(火) 22:00:58.57
2chにいるガキ=甘ったれの能無し がデフォになりつつあるな
2chももうすぐ完全終了かもw
260デフォルトの名無しさん:2014/02/11(火) 22:42:33.53
先輩!前はどうだったんすかwww
261デフォルトの名無しさん:2014/02/11(火) 23:48:03.69
鼻ったれの種無し
262デフォルトの名無しさん:2014/02/12(水) 00:44:24.12
韓国人の強姦性は?
263デフォルトの名無しさん:2014/02/12(水) 01:04:23.91
映画「インスタント沼」
超お勧め しない
264デフォルトの名無しさん:2014/02/12(水) 02:10:18.91
クラスA
{
 クラス1
 クラス2
 クラス3
}

こんな風に、複数クラスをクラスAに「集約」させて定義するのは、
クラスAの機能がクラス123に強固に依存するからなんでしょうか。

クラスAを実体化させた場合でも、当然、内部クラス123は、別々に実体化する必要がありますよね。
当たり前か。

こんな風にクラスを定義することってよくあることなんですか
265デフォルトの名無しさん:2014/02/12(水) 02:18:31.98
うん
266デフォルトの名無しさん:2014/02/12(水) 02:59:09.17
>>264
クラス1〜3が絶対にクラスAでのみ使われるのなら
私も同じ様に書きますね
でもバラして書く人もいるでしょうね
結局は人それぞれなのでは?
267デフォルトの名無しさん:2014/02/12(水) 06:50:28.93
普通によく有る。
というか既存クラス123で提供されている機能を再利用するごく当たり前の方法。

別々に実体化といっても、確かに外部からオブジェクトを渡されて保持する場合も有るけど、
普通にクラスAのコンストラクタで生成すればいいだけ。
268デフォルトの名無しさん:2014/02/12(水) 07:07:49.60
>>264
単なるグループとしてAを使うならそうだけど、
本来は逆で、123がAに強く依存してる場合に使う
123はAのプライベートメンバに自由にアクセスできるからね
269デフォルトの名無しさん:2014/02/12(水) 07:09:20.54
両方向あるだろ
270デフォルトの名無しさん:2014/02/12(水) 07:20:04.73
264はネストクラスと言うことで良いのかな
271デフォルトの名無しさん:2014/02/12(水) 09:08:03.76
C#を使ってたら学校で恥ずかしい奴と言われました
みんなJavaを使っています
何とか言い返してやりたいのですが
簡潔に相手をギャフンと言わせるような文言はありませんか?
多勢に無勢で言われ放題はとても口惜しいです
272デフォルトの名無しさん:2014/02/12(水) 09:47:08.44
「ギャフン」と書いた紙を見せてこれ読んでみてと言う
273デフォルトの名無しさん:2014/02/12(水) 09:56:57.77
こんなバカの巣窟に依頼しても何も得られんよ
274デフォルトの名無しさん:2014/02/12(水) 09:59:19.62
>>273
バカの巣窟で釣られる人はバカの王様かなぁ
275デフォルトの名無しさん:2014/02/12(水) 10:48:00.85
C#はJavaと違って多重継承ができると言ってやれ
学校中の笑いものになれるよ
276デフォルトの名無しさん:2014/02/12(水) 11:38:00.43
コピペ元特定班の報告はまだなの?
277217:2014/02/12(水) 12:25:06.00
アクセス権について注意事項をここにまとめておきますね。
お礼は要りません。
FileSystemRightsのReadAttributesについて調べました。
属性って何が属性やねんと思われる方がお読みください。
ここでいう、属性はエクスプローラのプロパティで見れる属性と
イコールではありません。

■ファイルの読み込み属性のみの拒否
親ディレクトリでListDirectoryを拒否し、ファイルのReadAttributeを拒否すると、
File.Exists()自体でfalseが返ってくる。
つまり、なんの情報も得られないどころか、存在しないことになる。

■ファイルの読み込み属性のみの拒否2
親ディレクトリでListDirectoryを許可し、ファイルのReadAttributeを拒否しても、
File.Exists()はtrueが返ってくる。
更に、ファイルの属性(読み取り専用、SYSTEM等)が読み込めるだけでなく、
サイズ、時間(タイムスタンプ等)の基本情報の読み込みは可能。
つまり、下記のMSDNの注釈の意味はそういうことである。

■ファイルの読み込みデータのみの拒否
親ディレクトリでListDirectoryを拒否し、ファイルのReadDataを拒否すると
ファイルの属性(読み取り専用、SYSTEM等)が読み込めるだけでなく、
サイズ、時間(タイムスタンプ等)の基本情報の読み込みは可能。
当然データの読み込みは拒否される。

■File.GetAccessControl メソッド
http://msdn.microsoft.com/ja-jp/library/8e1fc3b8(v=vs.110).aspx
NTFS 環境では、ユーザーが親フォルダーに対して ListDirectory 権限を
持っている場合、ReadAttributes および ReadExtendedAttributes が
そのユーザーに付与されます。
ReadAttributes および ReadExtendedAttributes を拒否するには、
親ディレクトリで ListDirectory を拒否します。
278デフォルトの名無しさん:2014/02/12(水) 12:31:38.96
調査乙ではあるが、OSバージョンによっても微妙に差異がありそうなんだが
vista前と以後とかで
279217:2014/02/12(水) 12:37:23.89
ついでに、FileSystemRightsの16進表示も書いておきます。
こちらの方が、意味が分かりやすい。
フィルだーとファイルについては対応するものは同じ値が割り振られています。

■FileSystemRights
ListDirectory 0x000001
ReadData 0x000001
CreateFiles 0x000002
WriteData 0x000002
CreateDirectories 0x000004
AppendData 0x000004
ReadExtendedAttributes 0x000008
WriteExtendedAttributes 0x000010
ExecuteFile 0x000020
Traverse 0x000020
DeleteSubdirectoriesAndFiles 0x000040
ReadAttributes 0x000080
WriteAttributes 0x000100
Delete 0x010000
ReadPermissions 0x020000
ChangePermissions 0x040000
TakeOwnership 0x080000
Synchronize 0x100000


Write 0x000116
Read 0x020089
ReadAndExecute 0x0200A9
Modify 0x0301BF
FullControl 0x1F01FF
280217:2014/02/12(水) 12:38:27.92
>>278
調査環境は
OSWindows8.1
281218:2014/02/12(水) 12:41:05.16
>>278
調査環境は
OS Windows8.1
.NET .NET FrameWork4
ファイルシステム NTFS

です。
282デフォルトの名無しさん:2014/02/12(水) 19:45:28.85
親となるAクラスと継承した子クラスBがあります。
それぞれに同じ名称のint型の変数oneがあったとします。
Aにはメソッドtest()がありone++;を実行するとします。

BからAのメソッドをtest()を呼び出す場合、test(one)とoneを引数とせずにAのoneではなくBのoneを++;する記載方法はありますでしょうか?
283デフォルトの名無しさん:2014/02/12(水) 19:50:28.19
あえてなら
class A {
&nbsp; &nbsp; private int one;
&nbsp; &nbsp; public void test() {
&nbsp; &nbsp; &nbsp; &nbsp; this.one++;
&nbsp; &nbsp; &nbsp; &nbsp; this.ontest();
&nbsp; &nbsp; }
&nbsp; &nbsp; protected virtual void ontest() { }
}
class B {
&nbsp; &nbsp; private int one;
&nbsp; &nbsp; protected override void ontest() { this.one++; }
}
こんなん
でも意図が分からないからこれがベストかどうかは知らん
ただ名前が同じというのは何の意味も関係もないのは確か リフレクション使うってんなら別だが
284デフォルトの名無しさん:2014/02/12(水) 19:53:08.03
>>282
そんなアホなコードは書かないのが正解。

どうしてもやるならoneはフィールドでなくプロパティーにしてBはそれを
オーバーライドする。
285デフォルトの名無しさん:2014/02/12(水) 20:20:17.85
ありがとうございます
ここいうメソッドtest()はAでもBでも使用するのですが、全く同じ内容で共通の名称の変数oneの内容が違えば使いまわせたので
使いまわす方法がないか気になってました
実際は引数が複数あるのであまり追加したくなかったのですが、素直に引数を追加します
286デフォルトの名無しさん:2014/02/12(水) 22:27:43.62
別にアホではないだろ
典型的なテンプレートメソッドパターンじゃないか
287デフォルトの名無しさん:2014/02/12(水) 23:27:10.10
らうめん
288デフォルトの名無しさん:2014/02/12(水) 23:35:24.08
つけぅめん
289デフォルトの名無しさん:2014/02/12(水) 23:37:49.04
ブレッドアンドバターじゃないか、にみえた
290デフォルトの名無しさん:2014/02/12(水) 23:52:47.85
どうやら
291デフォルトの名無しさん:2014/02/12(水) 23:55:43.41
ペドロアンドカプリシャス
292デフォルトの名無しさん:2014/02/13(木) 01:56:15.28
>>265 おおっそうですか。
>>266
>クラス1〜3が絶対にクラスAでのみ使われるのなら
「のみ」がポイントですね。子クラスをばらして使うことは考えないので大丈夫です。でも、あえて子クラスのみを実体化しようと思えば、
親クラス.子クラス()のようにして、親クラスのメンバとしての子クラスについてそのコンストラクタを呼んでいいのかな。

>>267
>普通にクラスAのコンストラクタで生成すればいいだけ。

なるほど、クラスAに子クラスを集約した場合には、クラスAのコンストラクタで連鎖的に、子クラスを実体化したいと思います。
ありがとうございます。

>>268
>123はAのプライベートメンバに自由にアクセスできるからね

なるほど、クラスAに複数の子クラスを集約した場合、子クラスからは親クラスAのプライベートメンバにもアクセスできるようになるのか。
重要な知見です。でも、ちょっとカプセルが破けた感じかな。

>>269
>両方向あるだろ
親クラスが子クラスに強固依存、あるいは、子クラスが親クラスに強固に依存
この両方のことですね。今回は、親クラスが子クラスの機能に大いに利用し依存し、また、外部から子クラス単独を使うことはないという場合になります。

みなさま、ありがとうございました。
整理がついてきました。
293デフォルトの名無しさん:2014/02/13(木) 03:14:08.62
整然とした集約がいいなら子クラスをインターフェースに書き換えるとかも手だね
294デフォルトの名無しさん:2014/02/13(木) 10:42:27.49
>>293
そのインターフェイスを実装するクラスの定義はどこに書くんだ?
295デフォルトの名無しさん:2014/02/13(木) 15:07:20.80
>>294
チラシの裏
296デフォルトの名無しさん:2014/02/13(木) 15:10:28.39
>>294
絵馬
297デフォルトの名無しさん:2014/02/13(木) 16:17:18.62
>>294
割り箸の袋の裏
298デフォルトの名無しさん:2014/02/13(木) 21:51:50.59
>>294
お前のカーチャンが寝てる隙に腹に油性ペンで
299デフォルトの名無しさん:2014/02/14(金) 02:34:56.13
>>294
頭の中で動いてたら
別にわざわざコードに書く必要なくね?
300デフォルトの名無しさん:2014/02/14(金) 12:57:33.92
>>299
現実と頭の中との区別がついていない
301デフォルトの名無しさん:2014/02/14(金) 16:05:20.88
[DllImport("user32.dll", SetLastError = true)]
public static extern uint keybd_event(byte bVk, byte bScan, uint dwFlags, UIntPtr dwExtraInfo);

この使い方でDLL のプリロード攻撃は問題ないのでしょうか?
http://support.microsoft.com/kb/2389418/ja
302デフォルトの名無しさん:2014/02/14(金) 16:39:56.84
wellknown dllだから問題なす
303デフォルトの名無しさん:2014/02/14(金) 17:12:05.87
SetDllDirectory呼んどけ
304デフォルトの名無しさん:2014/02/14(金) 18:16:39.56
最近C#始めたのですが、switchでbreak;を省略できないので、
困っています。他の言語でbreak;を省略する方法で記述した
プログラムをC#に移植する場合は、どうするのが一般的でしょうか?
305デフォルトの名無しさん:2014/02/14(金) 18:25:48.43
驚愕のgoto
306デフォルトの名無しさん:2014/02/14(金) 18:29:18.98
case 1:
case 2:
処理
このようにcaseの中になにも書かない場合に限りbreak省略OK
何らかの処理をしてからフォールスルーしたいときはbreakの代わりに明示的にgotoを記述する
307デフォルトの名無しさん:2014/02/14(金) 18:31:47.36
switch で break; 使うのはCからのお約束だし、
割り切って全ソースの switch 検索して追加してく以外無いんじゃない?
どうせそれ以外の部分だって修正無しに使えるわけ無いんだし
308デフォルトの名無しさん:2014/02/14(金) 18:48:13.19
みなさん素早いコメントありがとうございます。
goto文を使う方法があるなんて知らなかったです。
少し抵抗がありますが、さっそく使ってみます。
309デフォルトの名無しさん:2014/02/14(金) 20:32:34.62
 
 使 う な 

 
310デフォルトの名無しさん:2014/02/14(金) 20:44:17.23
case 1: goto Case_2;
case 2: Case_2:
311デフォルトの名無しさん:2014/02/14(金) 21:35:04.00
goto case 2;
goto default;

でいいよ〜
312デフォルトの名無しさん:2014/02/14(金) 22:28:02.96
後藤さんと愛を育もうとしたのですが、この愛は壊れてしまいました
goto                          break
313デフォルトの名無しさん:2014/02/14(金) 22:32:31.04
C#でgotoなんて使ったこと無いな。
314デフォルトの名無しさん:2014/02/14(金) 22:38:02.39
多重ループでbreak代わりに使うわ
315デフォルトの名無しさん:2014/02/14(金) 22:53:53.86
マウスで地形になるやつはJavaScriptで作れますか?
316デフォルトの名無しさん:2014/02/14(金) 22:55:49.43
複雑な分岐とか書く場合にifの括弧に複雑な式を書くぐらいなら
単純な式のifを多く並べてgotoで飛ばした方がむしろ可読的に書ける場合とかあるけど、
使いどころの選択と(こっちは一般にあまり強調されないが)ラベル名の命名センスが問われるね。

俺は割とgoto使うけど、無頓着なダメグラマが乱用したら害しかないのは間違いない。
317デフォルトの名無しさん:2014/02/14(金) 23:32:39.52
前に飛ぶのか後ろに飛ぶのか一目で分からないのが痛い
318デフォルトの名無しさん:2014/02/14(金) 23:59:19.27
アセンブラじゃあるまいし構造化ができる言語で前に飛ぶgotoなんて使わないよw
319デフォルトの名無しさん:2014/02/15(土) 00:01:46.65
ループ前後での制御に使うのがgotoだと思っておけばいいんじゃないの
320デフォルトの名無しさん:2014/02/15(土) 00:03:16.99
オブジェクト指向言語で何の話してんだw
321デフォルトの名無しさん:2014/02/15(土) 01:17:25.28
そもそもなんでCと違うようにして
ダサい方法でそれをできるようにしたのか
322デフォルトの名無しさん:2014/02/15(土) 02:30:53.36
gotoなんて、つかうのは、BASIC
もううんざり
323デフォルトの名無しさん:2014/02/15(土) 02:38:14.67
gotoはコンパイラ警告出しても良い時代だと思う
324デフォルトの名無しさん:2014/02/15(土) 02:52:04.18
>>323
そう思う。

>>316を悪く言っているわけではないが、
>ラベル名の命名センスが問われる
にはいらいらを覚えてしまった。

アセンブラで組んでいたときは、jmpの連発で、何がなんだかわからなくなってしまう。

Basicやってない

VBAで組んでいるスパゲッティアプリを修正、改良していると、
もうどうでもよくなって、その場しのぎでとにかく動けばいいものを組んでしまう。

C,C++,javaやってない

C#だとオブジェクト指向でクラス設計と関係を重視して、
あとで振り返りやすい美しいものになる。

いまここ。
325デフォルトの名無しさん:2014/02/15(土) 06:31:09.00
c#にもgotoあるのかよ
326デフォルトの名無しさん:2014/02/15(土) 06:56:48.88
switch文が縦に長くなりがち。
327デフォルトの名無しさん:2014/02/15(土) 07:01:49.88
今回の質問者のようにCとかC++のような言語からの移植を考慮してあるんでしょ。
しっかりオブジェクト指向でやれば、そもそもswitch/case文すらあんまり使わなくなるし。
328デフォルトの名無しさん:2014/02/15(土) 07:12:10.68
あえてgotoを残したのはcとの互換のほか、
特に禁止にしなくても「おまいらわかってるだろ」てことらしい
329デフォルトの名無しさん:2014/02/15(土) 07:26:08.93
gotoは宝だ!
330デフォルトの名無しさん:2014/02/15(土) 07:58:45.51
後藤さん
331デフォルトの名無しさん:2014/02/15(土) 10:31:00.19
>>327どうしてswitch/case文使わなくなるん?
なに使えばいいの?
332デフォルトの名無しさん:2014/02/15(土) 10:42:27.99
単純に処理の振り分けってことを考えたらどうせ似たような文書くんだから同じ
使ってないんじゃなくて他の書き方で使ってるだけ
333デフォルトの名無しさん:2014/02/15(土) 11:03:30.56
オブジェクト指向だと多態とか継承を使うからswitchをあまり使わないという
昔からある言説
334デフォルトの名無しさん:2014/02/15(土) 11:18:58.51
固定長の配列を受け取る関数を作ろうと思ったら
固定長の配列のみをメンバーに持つclassにして
それを受け取るぐらいしかないでしょうか。
335デフォルトの名無しさん:2014/02/15(土) 11:30:11.15
そのままreturnすれば?
336デフォルトの名無しさん:2014/02/15(土) 16:33:23.25
>>333
コンパイラとか書けば、switch文は必ず使うよな。
337デフォルトの名無しさん:2014/02/15(土) 16:37:34.11
組込み型とか内部見たらifもswitchも使いまくりじゃん
内部実装なんてどうでもよくないか?
オブジェクト指向に必要なのはモジュール化する意味だろ?
使用者が内部実装なんて気にせず簡単かつ便利に使えることが一番重要だろーが
ブラックボックステストで内部実装把握しろみたいな糞実装多過ぎるんだよカスPGども
338デフォルトの名無しさん:2014/02/15(土) 17:14:41.79
ごみん
339デフォルトの名無しさん:2014/02/15(土) 17:15:41.80
>>337
>オブジェクト指向に必要なのはモジュール化する意味だろ?

あと、継承させることによる、プログラミング中の整理のつき易さ
340デフォルトの名無しさん:2014/02/15(土) 17:53:56.88
>>338
素直に謝れる奴って好きだぜ///
341デフォルトの名無しさん:2014/02/15(土) 18:33:35.70
>>340
そのユーモアがいいね

ところで、
c#コードも大事だけど、
SQLのテーブルとテーブル構造とストアドプロシジャは、なかなか修正できないので、
最初の設計って大切だなと思うこの頃です。
もう14年もたったデータベースがまだ使われているし、特に困ったこともない。
342デフォルトの名無しさん:2014/02/15(土) 19:46:57.04
>>331
例えば、スーパーマリオで、
通常マリオ、スーパーマリオ、ファイアマリオという状態に対するイベントの組み合わせを
条件分岐を使わずに書くと。

基底クラス、通常マリオ、スーパーマリオ、ファイアマリオを作って、
コントローラの操作やらゲーム内のイベントをそれぞれメソッドで定義し、
呼び出し側は基底クラスで参照しておく。

キノコ、フラワー、敵にぶつかった時は、各クラスが自分の次の状態のマリオの
インスタンスを返してやる。

こうすれば、イベントに対して、各マリオクラス固有に動作を実装するだけでよくて、
そこに条件分岐というものはどういう形であれ全く入って来ない。

言葉だけだと分かりずらいので、この辺参考にして貰えればいいと思う。
http://d.hatena.ne.jp/hkhumanoid/20090528/1243473358
343デフォルトの名無しさん:2014/02/15(土) 19:55:45.38
実際にマリオ作ろうと思ったらそんな設計にするやつは少数派だろうな・・・
344デフォルトの名無しさん:2014/02/15(土) 19:56:11.70
多段ifも禁止
345342:2014/02/15(土) 20:11:52.61
こんなこと書いてるが、普段の仕事はC言語で
おもいっきりスパゲティー、1関数何百行、10段ぐらいのネスト、
コメント無しの技巧的なコード、グローバル変数の名前がaとかbとか1文字でコメント無し、
そしてgoto文使いまくりの最低なソースと大格闘しているわけだ。

C#の仕事したいよ。。。
346デフォルトの名無しさん:2014/02/15(土) 20:14:51.25
説明するのもバカバカしい話だけど、本来の話は多態で無くせるswitchがあるよっていう話で、
当たり前だけど多態使えばswitchを全廃できるなんて馬鹿な話じゃない。

そんな訳ないでしょ。
347デフォルトの名無しさん:2014/02/15(土) 20:18:23.09
誰が全廃って言ってる?
348デフォルトの名無しさん:2014/02/15(土) 20:21:17.37
また荒れてきそうだな
雪でも被って来いよ
349デフォルトの名無しさん:2014/02/15(土) 20:26:29.00
>>347
鳥頭か。
誰も言ってないが、誰かがそう言ってるという前提で話をしている人ならいる。
350デフォルトの名無しさん:2014/02/15(土) 20:33:28.90
ざっと見る限り>>331だけだな。
ちなみに、>>327,>>342も俺な。「あんまり」という言い方してる。
351デフォルトの名無しさん:2014/02/15(土) 20:46:51.71
ああそうか。
何故かデザインパターンという言葉に噛み付いてくる奴が居るから使わずに、
Stateパターンのケースを紹介しただけのつもりだったけど、
確かに全て条件分岐を無くせると誤解されそうだな。すまなかった。
352デフォルトの名無しさん:2014/02/15(土) 20:54:26.10
>>350
現実には「あんまり」と評するほどもswichの使用頻度なんか変わらない。

同じ話を繰り返したくないが、正しくは「多態で無くせるswitchがあるよ」という程度のインパクトしかない。
353デフォルトの名無しさん:2014/02/15(土) 21:07:07.23
プロジェクトのフォルダの管理に関して上級者の皆さんにお聞きしたいのですが、
VS2008とVS2013をインストールしていて、7:3くらいでVS2008を使っています。
デフォルトの保存先はCディスクのそれぞれ、
My Documents\Visual Studio 2008\Projects
My Documents\Visual Studio 2013\Projects
ですが、ちょっとしたテストはこれらのフォルダに適当にサブフォルダを作って保管しています。
一方、本格的なプロジェクトはDesktopにそれぞれ専用のフォルダを作って、
プロジェクト1
プロジェクト2
みたいに管理しています。
でも、自己流なので混乱気味です。もっと良いお勧めの方法ありますか?
354デフォルトの名無しさん:2014/02/15(土) 21:14:48.78
フォルダ分けで混乱しそうになるほどソリューションを乱造しない
355デフォルトの名無しさん:2014/02/15(土) 21:26:46.85
最近は仮想環境に作ったDebianのgitlabに全部突っ込んでる

俺適当にサクサク消すからさーサクサク涙が出るんだよね後で
356デフォルトの名無しさん:2014/02/16(日) 18:21:11.30
文字列をgoogleみたいに
and or ""などの演算子を使って検索するライブラリ教えて

正規表現で実装してたら、ユーザーが使えなくて文句が出たわ
357デフォルトの名無しさん:2014/02/16(日) 18:42:46.51
それライブラリ必要か?
358デフォルトの名無しさん:2014/02/16(日) 18:45:26.59
必要なんだよ
理解しろよ上級者
359デフォルトの名無しさん:2014/02/16(日) 18:53:47.99
ユーザには使えないけど、あんたは出来るだよね?
じゃあちょっとラッパー書いてやればいいだけじゃないか。
360デフォルトの名無しさん:2014/02/16(日) 18:53:51.54
ローカル画像検索のライブラリ無いっすかね?
361デフォルトの名無しさん:2014/02/16(日) 18:57:51.51
Windowsの検索を利用するライブラリはないでしょうか
362デフォルトの名無しさん:2014/02/16(日) 18:58:58.51
Eigenみたいな高速な行列演算をおこなうライブラリはないでしょうか?
363デフォルトの名無しさん:2014/02/17(月) 00:01:00.25
抽象クラスの存在意義ってあるのか?
364デフォルトの名無しさん:2014/02/17(月) 01:10:22.38
テキストボックスのテキストを取得したいのですが、うまくいかないので質問させてください。
対象とするアプリケーションは、kabuステーションという株ドットコム証券の専用ツールです。
これの現物買発注ダイアログで、テキストボックスに入力した値(例えば証券コードのボックス)を取得したいのですが、うまくいきません。
今やっている方法は、sendmessageのWM_GETTEXTを使う方法です。
他のアプリケーションのテキストボックスや、kabuステーションのラベル(例えば、数量や執行条件など)のテキストは同じ方法で取得できるのですが、
なぜかkabuステーションのテキストボックスに入力した値だけは取得できずに困っています。

具体的なプログラムは以下です。
(hWndはウィンドウハンドルであり、正しく取得できていることを確認しています)

[DllImport("USER32.dll")]
private static extern IntPtr SendMessage(IntPtr hWnd, int msg, IntPtr wParam, IntPtr lParam);
[DllImport("USER32.dll", CharSet = CharSet.Auto)]
private static extern IntPtr SendMessage(IntPtr hWnd, int msg, int wParam, [MarshalAs(UnmanagedType.LPTStr)] System.Text.StringBuilder buff);
private const int WM_GETTEXT = 0xD;
private const int WM_GETTEXTLENGTH = 0xE;


//WindowのTextのバイト数を取得
int byteLength = SendMessage(hWnd, WM_GETTEXTLENGTH, IntPtr.Zero, IntPtr.Zero).ToInt32();
System.Text.StringBuilder buff = new System.Text.StringBuilder(byteLength + 1);

//WindowのTextのバイト数を取得
byteLength = SendMessage(hWnd, WM_GETTEXTLENGTH, IntPtr.Zero, IntPtr.Zero).ToInt32();
buff = new System.Text.StringBuilder(byteLength + 1);
//Textを取得(wParamは文字数,lParamはTextを受け入れるバッファ)
SendMessage(hWnd, WM_GETTEXT, byteLength + 1, buff);
365デフォルトの名無しさん:2014/02/17(月) 01:17:27.05
Lengthは取得できるの?
それと、本当にテキストボックスか?spy++とかで見てみろ
366デフォルトの名無しさん:2014/02/17(月) 01:20:02.78
lengthが取得できていないのかと思って、10文字固定でやってみましたがダメでした。
spy++は入手できていないのでウィンドウエクスプローラを使っているのですが、
テキストボックスかどうかって、どこを見ればわかりますか?
367デフォルトの名無しさん:2014/02/17(月) 01:56:51.39
ウィンドウクラス名を見る
368デフォルトの名無しさん:2014/02/17(月) 02:10:36.96
他のを見たところ、editなどとなっていましたが、取得したいボックスには
そういうのは入っておらず、謎の文字列が並んでいました
こういう場合、根本的に取得できないのでしょうか?
(settextならできたのですが)
また、これ以外の方法で取得する方法はあるのでしょうか?
369デフォルトの名無しさん:2014/02/17(月) 02:21:06.17
UIAutomationとか
370デフォルトの名無しさん:2014/02/17(月) 11:36:24.33
>>367
クラス名は
WindowsForms10.Window.8.app.0.2e0c681
となっています。
一部の入力ボックスは
WindowsForms10.EDIT.app.0.2e0c681
となっており、テキストの取得が可能でした。
EDITが入っているものは取得できるのですが、そうでないものはどうすればいいのか分かりません。
371デフォルトの名無しさん:2014/02/17(月) 15:37:52.36
ドトネトじゃねーか
Reflectorにアセンブリをドロップしてみそ
372デフォルトの名無しさん:2014/02/17(月) 19:38:52.35
サウンド関連は今もDirectXや外部ライブラリに頼るしかないって感じでしょうか?
Win8.xみたいなメトロアプリでもそこらへんは変わらないんでしょうか?
373デフォルトの名無しさん:2014/02/17(月) 19:50:03.09
WPFならMediaElementとかがある
ストアアプリも同様
374デフォルトの名無しさん:2014/02/17(月) 19:50:51.13
もっと下層の、効果音をミキシングとかその辺はまあ…
375デフォルトの名無しさん:2014/02/17(月) 19:56:40.92
>>373
ありがとうございます
調べてみます
376デフォルトの名無しさん:2014/02/17(月) 20:21:30.43
>>371
やってみました。
私のC#の知識では、どこをどう見ればいいのか全然分かりませんでした・・・
377デフォルトの名無しさん:2014/02/17(月) 23:57:41.72
ILSpyでデコンパイルしたプロジェクトってエラーだらけでリビルド出来ないのだがこんなもんなのか?
割と期待して導入しただけにこれにはがっくし来たよ
謎の$記号とかなんなんだろうなあれ
378デフォルトの名無しさん:2014/02/18(火) 00:27:01.22
コンパイラが自動生成してる部分があるからね。まぁ諦めろ。
379デフォルトの名無しさん:2014/02/18(火) 00:32:32.09
なるほど自動生成か
あーステップ実行したいよ…
380デフォルトの名無しさん:2014/02/18(火) 01:39:38.20
デバッガをアタッチすればILでステップ実行はできるでしょ
ILはC#がわかってりゃ十分読める
381デフォルトの名無しさん:2014/02/18(火) 01:58:53.83
MicrosoftがWindows/Windows Phone上でAndroidアプリを実行可能にする計画と報じられる

http://mobile.slashdot.jp/story/14/02/15/1954256/

C#でアンドロイド開発・・・
382デフォルトの名無しさん:2014/02/18(火) 02:03:20.59
ASP.NETにはドロップダウンリストコントロールはありますが、
コンボボックスはあるんでしょうか。

ドロップダウンリストは、データソースから導出されたリストから一列を値として取得できるだけです。
コンボボックスというのは、ドロップダウンリストの能力も持ちながら、テキストボックスのように任意の文字列の入力もできます。
383デフォルトの名無しさん:2014/02/18(火) 02:06:43.76
一応、次の記事を見つけました。

http://www.atmarkit.co.jp/fdotnet/dotnettips/930aspajaxcombobox2/aspajaxcombobox2.html

ASP.NETのAJAXという機能を使ってコンボボックスを利用できそうです。
AJAXって、JAVAスクリプトを駆使しているものですよね。
384デフォルトの名無しさん:2014/02/18(火) 03:09:55.78
>>381
Win32APIも呼ばせろ
385ぴんく:2014/02/18(火) 15:59:07.18
ぴんくちゃんねるで画像認証が導入されたせいで書き込みが自由に出来ないので
浪人BETAで発行される メールアドレス・ハッシュキーを使って画像認証をスキップ出来る
ブラウザを開発しています。
386デフォルトの名無しさん:2014/02/18(火) 16:17:42.41
続きはこちらでどうぞ
https://twitter.com/
387デフォルトの名無しさん:2014/02/18(火) 17:03:33.62
もう普通に書けるらしいぞ
388デフォルトの名無しさん:2014/02/18(火) 18:07:30.29
ERROR!
ERROR:CAPTCHAを記入する必要があります
画像認証無しで投稿できます!

JaneXenoで浪人を使えます。
Live2chで浪人を使えます。
Respoolで浪人を使えます。アンドロイド
2chA1Foxで浪人を使えます。ア>ンドロイド
2chスマホ ブラウザ(iand2ch.net)で画像認証なしでPINKへ投稿できます。

2chスマホ ブラウザ(i.bbspink.com)で画像認証なしでPINKへ投稿できます。開発中


>>387
どこが
389デフォルトの名無しさん:2014/02/18(火) 18:22:30.28
普通に書けたけどな
荒らし対策で一時的にオンにしたって言ってたぞ。
●入れてたりしないか?
390デフォルトの名無しさん:2014/02/22(土) 08:47:46.47
プログラミングやっていると、頭が精密になってくるのか、生来のものなのか、他の人の言葉の羅列が理解できなくなる。
仕様決定のための打ち合わせをしていても、頭に入ってこない。
わからないが聞いているうちにわかるだろうと相槌を打つと、
どんどんと手続き言葉の羅列が流し込まれてくるので、ますますわからなくなる。
反応をしないでいるが、頭が悪いと思われているかもしれないと考えると、余計に気が散ってしまう。

で、後でじっくりとノートに図式を書きながら理解していく。
すると、ブロックがきちりきちりとはまっていく感じに理解していく。
するとたった一つの言葉で語られていたことが、たくさんの場合わけが必要だとも気づき、用語も新生することになる。
表にまとめてそれぞれの条件も綺麗に整理する。
ここまできてようやく理解できる。

だから、あのシリアル化ストリームから即座に理解するなんてありえないんだと思った。
自分の頭の構造がちょっと違うのだと気づいた。
391デフォルトの名無しさん:2014/02/22(土) 08:49:18.05
かわいそうに。疲れているんだね。
392デフォルトの名無しさん:2014/02/22(土) 09:50:33.48
なんだ、その打ち合わせは口頭でしかやってないのか?
何か図を描いた資料を用意してないのか?
もしくはホワイトボードに書きながらとかやらないのか?
そりゃ、分からんだろ。
393デフォルトの名無しさん:2014/02/22(土) 09:52:34.61
かわいそうに。釣られてしまったんだね。
394デフォルトの名無しさん:2014/02/23(日) 06:19:41.46
>>392
レスありがとうございます

私だけではないんですね。よかった。
後で思ったんですけど、プログラマの理解はプログラミングに通じるような、必要なすべてを考慮あるいは定義することになります。
しかし、業務に携わっている人の業務の理解は全く違う。だから具体例ばかりをあげられる。
で、そこから本質を抽出するのがわれわれなんだと思いました。
この頭の構造でなんの後悔もありません。

プログラマは本質をつかめます。つかめなければちょっとしたプログラムなんてかけないはずです。
だから人にわかりやすく教えることも長けています。私がそうです。
物事を幼稚園児にもわかりやすく教えられそうにいつも思っているくらいです。
395デフォルトの名無しさん:2014/02/23(日) 09:20:33.82
マ板でやれ
396デフォルトの名無しさん:2014/02/23(日) 18:19:07.87
>人にわかりやすく教えることも長けています。私がそうです
>>390,394を見る限り、どうみてもそれは間違っています
つまり、あなたは単に頭の悪い人です
397デフォルトの名無しさん:2014/02/23(日) 18:20:48.89
マ板でやれ
398デフォルトの名無しさん:2014/02/23(日) 18:23:27.84
今日はマ板君がんばってるな
399デフォルトの名無しさん:2014/02/26(水) 21:34:05.48
Int32.Parseにアルファベット食わせた時にFormatExceptionをキャッチしているのに
コンソールに
A first chance exception of type 'System.FormatException' occurred in mscorlib.dll
って出ちゃうんだけどこれってなんとかならん?
400デフォルトの名無しさん:2014/02/26(水) 21:48:17.75
コンソールに? 出力ウィンドウじゃなくて?
401デフォルトの名無しさん:2014/02/26(水) 22:17:24.21
むしろそんなもの何とかしたいという発想が謎
402デフォルトの名無しさん:2014/02/26(水) 22:20:12.34
>>399
そんなもんキャッチするな
失敗するのがわかってるんならTryParseを使え
403デフォルトの名無しさん:2014/02/26(水) 22:50:15.15
いや、失敗するのがわかってたらパースしようとするなとw
404デフォルトの名無しさん:2014/02/26(水) 23:37:00.87
男なら、危険を顧みず、死ぬと分かっていても行動しなければならない時がある
負けると分かっていても戦わなければならないときがある
405デフォルトの名無しさん:2014/02/27(木) 00:14:02.62
ポエマーきもっ、まで読んだ。
406デフォルトの名無しさん:2014/02/27(木) 00:23:11.82
ハーロック△
407デフォルトの名無しさん:2014/02/27(木) 00:54:29.96
女子校生だったらどうよ?
408デフォルトの名無しさん:2014/02/27(木) 01:03:56.03
>>402
バリデーションの為だから失敗する前提と言うのは確かだな。
なんか本末転倒な気もするけどTryParseでスッキリしたわ。ありがとう。
しかしキャッチ自体はできるのにイチイチログはくとか気持ち悪いな。
例外処理で引っかけるとコスト高いし折角スッキリ書けるのに勿体ない。
409デフォルトの名無しさん:2014/02/27(木) 01:20:06.64
それってデバッグ情報をfullとかpdb-onlyで実行してるからじゃないの?
410デフォルトの名無しさん:2014/02/27(木) 11:14:22.34
環境も何も書かんで言われても解らんわな
変なデバッガアタッチしてたりするかもしれん
411デフォルトの名無しさん:2014/02/27(木) 13:11:22.28
例外がコスト高いってなら、極力発生しないように
IsNumericとかで先にチェックしてからやればいんじゃね。
念のためTryはするとして。
412デフォルトの名無しさん:2014/02/27(木) 13:16:19.15
>>409 >>410
VisualStudio2013のWPFアプリ、.NET4Full向け。Release版。
プロジェクト設定は特に変更せずって感じ。
413デフォルトの名無しさん:2014/02/27(木) 13:19:57.09
>>411
うん、そう。
だから例外処理一本で出来ればコード的にはスッキリするのになって愚痴だよ。
念の為にしかならないのは仕組みとしてもったいないなって話。
今回のログはく話とは全然違う話ではあるけど。
414デフォルトの名無しさん:2014/02/27(木) 13:27:40.72
UIに凝ると、その部分のコードがコテコテになる。
415デフォルトの名無しさん:2014/02/27(木) 13:29:48.56
自家用書き捨てコードは、ちょっと変な入力しただけでハングするけど何の問題もない。
416デフォルトの名無しさん:2014/02/27(木) 14:23:55.00
ハングするのはないな
最低限のエラーチェックはするけど、エラー処理ルーチンまでは書いてられないので、いきなり異常終了しちゃうが
417デフォルトの名無しさん:2014/02/27(木) 16:47:49.53
>>416
適当な階層でcatchして無視するなり、リスタートするなりすればいいじゃん、
418デフォルトの名無しさん:2014/02/27(木) 17:31:52.72
>>403
一般的にパースのエラーはパースしないと分からない(事前チェックとパースは本質的に同じ処理コスト)なので
「失敗するのがわかってたらパースしようとするな」はない。TryParseが正解
419デフォルトの名無しさん:2014/02/27(木) 17:34:42.04
Try...パターンがout Exceptionパラメータ持ってくれてたら嬉しかったんだけどなー
420デフォルトの名無しさん:2014/02/27(木) 19:20:00.50
そもそもエラーとは何かって哲学的な問題になる
421デフォルトの名無しさん:2014/02/27(木) 19:21:07.04
何にせよTryParseがあるだけJavaよりマシだろ
あのクソ
422デフォルトの名無しさん:2014/02/27(木) 19:24:03.97
TrayParse、.Net 1.1 とか Compact Framework には存在しないけどな
423デフォルトの名無しさん:2014/02/27(木) 19:32:03.42
>>419
情報集めたり親切なメッセージ作ったりするのにコストがかかるから意味内
424デフォルトの名無しさん:2014/02/27(木) 19:43:53.57
非同期処理なんかだとどう書けばいいか分からずそんな感じになる
425デフォルトの名無しさん:2014/02/27(木) 20:25:49.16
非同期処理だとコールバックの引数に例外渡すことはあるが
outはないだろ
426デフォルトの名無しさん:2014/02/28(金) 01:34:49.92
LeftToRightに設定したFlowLayoutPanel1に画像とラベルを追加して、SetChildIndexで先頭に持って行きたいのですが、

FlowLayoutPanel1.Controls.Add(this.PictureBox[n]);
FlowLayoutPanel1.Controls.Add(this.Label[n]);
FlowLayoutPanel1.Controls.SetChildIndex(this.Label[n], 0);
FlowLayoutPanel1.Controls.SetChildIndex(this.PictureBox[n], 0);

とすると一番最後の FlowLayoutPanel1.Controls.SetChildIndex(this.PictureBox[n], 0); の部分で
「'子'はこの親の子コントロールではありません。」とのエラーがでます。
Labelの方のSetChildIndexではエラーは出ないのですが、どういうことなのでしょうか。
427デフォルトの名無しさん:2014/03/01(土) 01:32:32.90
C++の世界からやって来ました
C#にはC++のsmart_ptrのようなクールななクラスはないのですか?
毎回いちいちusingを書くのはタイピングが面倒ですしネストが無駄に深くなる酷いパターンです
しかしリソースの解放はシビアな課題なのでやる気のないGCには任せられません
我々C++プログラマは楽をしつつリソース解放のタイミングを完全に制御したいのです
428デフォルトの名無しさん:2014/03/01(土) 01:54:44.81
そんなにリソース開放する場面あるか?
429デフォルトの名無しさん:2014/03/01(土) 05:07:44.29
>>427
そんなにメモリ気にするならCでゴリゴリ書けよ。
そんなの自分で制御できないGCに依存するものを選択した時点で間違ってるわ。
そもそもusingって何か理解してるか?
430デフォルトの名無しさん:2014/03/01(土) 05:44:55.75
C、C++の世界に戻るのが吉ですね。
431デフォルトの名無しさん:2014/03/01(土) 07:43:39.31
usingはファイルだとか、描画オブジェクトの開放とか、アンマネージなリソースでしか必要無いぞ。
432デフォルトの名無しさん:2014/03/01(土) 09:12:00.07
RAIIなら意味は通るがスマートポインタとか言ってる時点でレベルが知れるな
スマートポインタはいつ解放すべきか決めるのが難しい時に使うもんで、いわば欠陥の多いGCだ
433デフォルトの名無しさん:2014/03/01(土) 09:22:18.31
Formのレイアウトで、

|ボタン1 ボタン2 ボタン3|

と横一列に並べる
ボタン1,3はサイズ固定、ボタン2はサイズ可変だが最小値あり
加えてこの一行を水平方向にFillしたい場合、どうすればよいでしょうか?
434デフォルトの名無しさん:2014/03/01(土) 09:25:23.52
>>433の補足

|■□■|

|■□□■|
...
|■□□□□□■|

のように、ウィンドウサイズによりボタン2のみサイズを変えたい場合です
435デフォルトの名無しさん:2014/03/01(土) 09:39:06.94
Anchor = Left|Right なPanelに突っ込んで
それぞれのAnchorをLeft, Left|Right, Rightにする
最小値はPanelのMinSizeでも設定すれば
436デフォルトの名無しさん:2014/03/01(土) 09:41:07.26
必ずtry{}finallyブロックがほしいオブジェクトの場合
リソース握ってなくてもIDisposableにする場合あるだろ

ネストが怖くてC#できるかっての
437デフォルトの名無しさん:2014/03/01(土) 09:47:33.40
usingはブロックをネストせずに複数重ねられるし
C++でも細かく寿命を制御したいときにはブロックをネストすることはある
438デフォルトの名無しさん:2014/03/01(土) 10:56:10.59
いいから失せろC++カス
439デフォルトの名無しさん:2014/03/01(土) 14:30:19.31
C言語の次世代って、何?
なんか言ってたよな。立ち読みで日経プログラミングで見たとき。
440デフォルトの名無しさん:2014/03/01(土) 15:05:46.49
アスペ脳の恐怖、まで読んだ。
441デフォルトの名無しさん:2014/03/01(土) 15:07:12.79
Croatia言語の次はRussia言語
442デフォルトの名無しさん:2014/03/01(土) 15:33:58.60
D言語って使っている人いるの?
443デフォルトの名無しさん:2014/03/01(土) 16:12:46.94
C#のここがダメ!俺ならこう!→やっぱり糞だからやめて互換性切るわ
Dはひたすらこれの繰り返しでC#の先見性を証明しただけの言語
444デフォルトの名無しさん:2014/03/01(土) 17:29:55.66
.netなければC#なんて使ってないけどな
後からツギハギしてるだけのC#のどこに先見性があるのかと
445デフォルトの名無しさん:2014/03/01(土) 17:45:07.79
>>444
互換重視の言語がつぎはぎだらけになるのは仕方が無い気もする
446デフォルトの名無しさん:2014/03/01(土) 18:04:39.99
TIOBEで一桁に入って来れない言語がメジャー面すんな
お前よりはC++の方がいいわ
447デフォルトの名無しさん:2014/03/01(土) 20:33:26.59
グローバルマウスカーソルの情報を取得したいと考えています。
具体的には、グローバルマウスカーソルのアイコンが変化したことを確認したいのですが、方法が分かりません。
GetCursorInfoを使えばいいというのはわかったのですが、どういう風にプログラムを組めばよいのか、
サンプルも見つからず困っています。
教えてください。よろしくお願いします。
448デフォルトの名無しさん:2014/03/01(土) 20:45:47.87
449デフォルトの名無しさん:2014/03/01(土) 21:00:48.59
すいません、さっぱりです
何かいいサンプルはないでしょうか?
450デフォルトの名無しさん:2014/03/01(土) 21:08:28.25
451デフォルトの名無しさん:2014/03/01(土) 21:43:14.11
usingを省いてもスコープアウトでリソース解放して欲しいならそういうコンパイラを書けばいいだけ
幸いにもマイクロソフトが頑張ってるからプログラマは楽できる
並の職業プログラマなら半月分の昼休みがあれば可能だろう
452デフォルトの名無しさん:2014/03/01(土) 22:34:32.28
>>450
ありがとうございます。
カーソルのハンドルまではどうやら取得できたようですが、カーソルの形状はどのように取得すればよいのでしょうか?
453デフォルトの名無しさん:2014/03/01(土) 22:35:31.03
>>452
Api
454デフォルトの名無しさん:2014/03/01(土) 22:47:51.16
ありがとうございます。
うまくできたようです。
大変お世話になりました
455デフォルトの名無しさん:2014/03/02(日) 00:35:11.06
どういたしまして。
456デフォルトの名無しさん:2014/03/02(日) 19:18:10.04
ファイルの暗号化を行っているのですが、せっかくなのでファイル名の暗号化を考えています。
取り敢えず手っ取り早くBASE64エンコードを考えていたのですが
スラッシュ("/")はファイル名に使用できませんでした。
何か手軽に文字列として出力できる暗号方法は無いでしょうか?
457デフォルトの名無しさん:2014/03/02(日) 19:19:52.53
置換も出来ないのか
458デフォルトの名無しさん:2014/03/02(日) 19:22:07.36
BASE64は暗号じゃないが?
暗号化したファイル名をどうエンコードするかという話なら、ふつうに16進でいいんじゃないの?
459デフォルトの名無しさん:2014/03/02(日) 19:30:46.19
>>457
取り敢えず元ファイル名が分からなくなればいいけど何かライブラリとか無いかなと思って。

>>458
自前で暗号化(Cryptography)した後のバイナリデータだとファイル名に出来ないから最後にBASE64で文字列に変換してる。
多少長くなるが取り敢えず運用上問題ない。
460デフォルトの名無しさん:2014/03/02(日) 19:33:32.14
長くなっていいならHEXDUMPやろ
461デフォルトの名無しさん:2014/03/02(日) 19:40:22.50
/が使えないならほかの記号とかに置き換えればいいやん?って457が
462デフォルトの名無しさん:2014/03/02(日) 19:40:39.24
/を別の記号に変えればいいじゃん
463デフォルトの名無しさん:2014/03/02(日) 19:46:30.99
%エンコードしてたらUriクラスが誤動作するようになって・・・
使えねー奴
464デフォルトの名無しさん:2014/03/02(日) 19:57:29.87
>>461>>462
なるほど。自分の頭では考えが及びませんでした。
置換する事によりBASE64の仕様から外れるため、一見BASE64とは思われなくなると言う効果も期待できそうです。
ありがとうございました。
465デフォルトの名無しさん:2014/03/02(日) 20:15:08.18
一見BASE64とは思われない効果?
466デフォルトの名無しさん:2014/03/02(日) 20:16:20.88
そこは触れないでやれよ
「組織」か何かに狙われてんだろ
467デフォルトの名無しさん:2014/03/02(日) 20:21:47.96
シード固定の乱数でも使って適当にパターン生成すればいいんじゃねえの
468デフォルトの名無しさん:2014/03/02(日) 20:25:56.36
暗号化した上でそういう目的の置換俺はよくやってるな
意味ないけどw
469デフォルトの名無しさん:2014/03/02(日) 22:09:41.85
お触り程度の置換
470デフォルトの名無しさん:2014/03/02(日) 23:54:46.47
>>465
まあ素の Base64 デコードはできなくなるからイージーハック対策にはなるんじゃね?

>>467
すでに暗号化してるらしいんだが...
471デフォルトの名無しさん:2014/03/03(月) 01:28:29.63
struct CELL
{
public int Xposition;
public int Yposition;
public int life;
};

    private void pictureBox1_MouseDown(object sender, MouseEventArgs e)
{
List<CELL> cell = new List<CELL>();
cell.Add(new CELL(e.X,e.Y,100));
           ~~~~~~~~~~~~~~~~~~~~~~~~
って書いたら"'LifeGame.Form1.CELL' に、引数を 3 個指定できるコンストラクターがありません。 C:\Users\******\documents\visual studio 2012\Projects\LifeGame\LifeGame\Form1.cs 50 22 LifeGame"
ってエラーが出ます。どうしたらよいでしょうか?
472デフォルトの名無しさん:2014/03/03(月) 01:54:30.45
引数三個指定できるコンストラクタ書けばいいだろ
473デフォルトの名無しさん:2014/03/03(月) 11:28:48.44
>>463
#もあるとおかしくなるよね>Uri
474デフォルトの名無しさん:2014/03/03(月) 18:31:44.99
複数の byte[] のデータを ひとつの byte[]にしたい(順番にくっつけたい)場合、
どうやると効率がいいのでしょうか。
475デフォルトの名無しさん:2014/03/03(月) 18:39:35.42
全部のLengthを合計したbyte[]を作ってBuffer.BlockCopyあたり
476デフォルトの名無しさん:2014/03/03(月) 18:46:38.62
LINQのConcat().ToArray()以外は実行効率はともかくコード書く効率が悪すぎてやってられんわ
計測もしてないからLINQが速いか遅いかは知らんが、まあそのうち最適化されんじゃねぇの
477デフォルトの名無しさん:2014/03/03(月) 20:30:37.18
List<byte>にAddRangeすればいいじゃない
478デフォルトの名無しさん:2014/03/03(月) 20:43:36.27
せめてMemoryStreamに
479デフォルトの名無しさん:2014/03/03(月) 22:38:51.26
MemoryStreamもToArray()するとBlockCopyされた奴が返ってくるんだよな
480デフォルトの名無しさん:2014/03/04(火) 14:46:35.03
ファイル名最後の部分が全角空白のファイルがあるのですが、

string path = "z:\\Work\\test00010  .  txt  "; // 最後の部分が全角空白
Console.WriteLine(System.IO.File.Exists(path));

.NET Framework 3.5だとfalse
.NET Framework 4だとtrue
が返ります。

3.5でtrueが返るような回避方法ないですか?
481デフォルトの名無しさん:2014/03/04(火) 15:09:21.33
代わりにPathFileExists呼び出すとかそういう後ろ向きなのしかないんじゃないかな
482デフォルトの名無しさん:2014/03/04(火) 17:20:26.88
>>481
ども、
やはりWindowsAPIじゃないとだめっぽいですね。
Exitsメソッドだけではなく System.File.SetAccessControl とか
ファイルIO関連メソッドでもダメなようなので全部対応となると・・・
4に上げてもらうのが一番早そうですが、うーん。
483デフォルトの名無しさん:2014/03/04(火) 18:24:50.43
趣味でC++とJavaの経験がある程度なんですが、C#も勉強したいと思ってます。
そして今までdllというものに対してネイティブな動的リンクライブラリってイメージしかなかったんですが
もしかしてC#で作ったdllであれば、Javaのclassファイルのように
ヘッダファイル無しでクラスなどにアクセスできたりするんですか?(ついでにIDEでコード保管されちゃったり)
484デフォルトの名無しさん:2014/03/04(火) 18:33:02.65
うん
C++でいうところの.h/.lib/.dllを全部まとめた感じのもの
485デフォルトの名無しさん:2014/03/04(火) 18:50:49.35
逆コンパイルしたらソースほとんど丸ごと出てくるし、c/cppもまとめた感じだよな
486デフォルトの名無しさん:2014/03/04(火) 18:51:38.14
別にそれは目的じゃないし
487デフォルトの名無しさん:2014/03/04(火) 19:54:08.75
>>484-486
ありがとうございます
dllでテンプレートが使えるのは捗りそうですね
488デフォルトの名無しさん:2014/03/04(火) 20:12:23.40
テンプレートと思ってジェネリクス使うと多分がっかりする
489デフォルトの名無しさん:2014/03/04(火) 20:22:58.63
ポータビリティとのトレードオフだよ
そのための制限ということさえ理解していれば納得のいく非常に自然で十分強力な仕様
Javaのジェネリ糞に比べればな
490デフォルトの名無しさん:2014/03/04(火) 20:56:31.53
あれはVM互換性重視した結果なんですよ
君らも好きだろ互換性
491デフォルトの名無しさん:2014/03/04(火) 21:03:07.66
互換性よりメタプログラミングの方が好きだけどね
492デフォルトの名無しさん:2014/03/04(火) 21:07:41.30
メタプロはオブジェクト指向(の動的ポリモフィズムな部分)と相性悪いし、住み分けだよね
493デフォルトの名無しさん:2014/03/04(火) 21:25:10.44
互換性互換性言うけどジェネリックス使ったJavaのバイナリって1.4じゃ動かないよね
494デフォルトの名無しさん:2014/03/04(火) 22:04:47.12
>>493
そりゃライブラリが違うからな
当時のSunの台所事情のせいでああなっただけだよ
一方Oracleはすげえくだらんことで早速JVMを弄った
495デフォルトの名無しさん:2014/03/04(火) 22:11:35.13
.NETのジェネリックはTypeオブジェクトで型引数を指定してList<>をインスタンス化したりできるからな
これはこれで一種のメタプログラミングに使える
496デフォルトの名無しさん:2014/03/05(水) 13:22:04.06
実行時にメタプログラミングする必要はないと思う
497デフォルトの名無しさん:2014/03/05(水) 14:01:32.85
T4テンプレートって使ってる?
498デフォルトの名無しさん:2014/03/05(水) 14:03:48.29
C#やめたい
仕事やめたい
つまんない
499デフォルトの名無しさん:2014/03/05(水) 15:32:45.24
>>497
むちゃくちゃ使ってる。C/C++の.hから[Import]を作るとか
500デフォルトの名無しさん:2014/03/05(水) 21:48:03.46
Razorに置き換えてくれ
書きにくいし読みにくいんだよT4
501デフォルトの名無しさん:2014/03/05(水) 22:37:53.85
>>498
よしcommo lispやろう
502デフォルトの名無しさん:2014/03/05(水) 22:57:42.29
       彡彡ハミミ
      彡彡´・ω・ミ  邪悪なIDEより
     彡彡彡彡ミッミミ Emacsを使おう
    彡彡彡彡ハミミミミ
    /   _|つ _|つ
    /        |
503デフォルトの名無しさん:2014/03/05(水) 23:14:15.53
emacsでIDE作るプロジェクトって無いの?
504デフォルトの名無しさん:2014/03/06(木) 01:09:58.57
>>503
何を言ってるんだお前は
505デフォルトの名無しさん:2014/03/06(木) 07:04:27.84
みんな進捗表示どうやってる?
俺はワーカータスクの中で進捗情報セットして、イベント投げて、
それ受けたUI側で進捗情報読み取って表示してる。
ワーカータスク側のイベントハンドラにUI側で+=してInvokeしなきゃいけないのがきれいじゃないけど
IProgressとasync/await使うやつもみたけどなんか直感的じゃないような気が、
結局見えないだけでイベント処理してんじゃね?
506デフォルトの名無しさん:2014/03/06(木) 07:36:15.52
>>505
> 俺はワーカータスクの中で進捗情報セットして、イベント投げて、
> それ受けたUI側で進捗情報読み取って表示してる。
それBackgroundWorkerそのものや
ReportProgressを呼ぶだけ
507デフォルトの名無しさん:2014/03/06(木) 19:33:17.73
進捗100%表示のままなかなか次に進まないダイアログとか
無性にイラっとくるよな。
508デフォルトの名無しさん:2014/03/06(木) 19:53:22.08
だんだん遅くなるダイアログの方がウザイ
ブラウザとか通信できてないくせにチョコチョコ進めやがって
509デフォルトの名無しさん:2014/03/06(木) 20:54:18.35
>>507
インストーラーでよくあるな
5分くらい何の変化も無く止まっててプログレスバーの意味全くねーだろアホか?
って感じの奴
510デフォルトの名無しさん:2014/03/06(木) 21:01:46.27
おまいらがコーティングしたから、そんな感じのゲージ表示になるのかw
511デフォルトの名無しさん:2014/03/06(木) 21:07:32.81
プログラマだったらあれをうまく進めるのがどれだけ難しいか分かるだろ
どんだけ(ry
512デフォルトの名無しさん:2014/03/06(木) 21:12:13.75
わからないし、そんな不適切なプログレスは作らない。
馬鹿でマトモな作りができない上に
それがおかしいと思わない低脳なのだろう。
513デフォルトの名無しさん:2014/03/06(木) 21:26:16.61
逆に100%を待たずに消えちゃう進捗とかもあるな
514デフォルトの名無しさん:2014/03/06(木) 21:34:02.26
時間を見積もるのはかなり難しいぞ
究極的には実環境でテストしながら調整するしかない
515デフォルトの名無しさん:2014/03/07(金) 07:12:06.00
しばらくお待ちください...
※10分以上かかる場合は何か問題が起きています

プログレスバーなど不要
516デフォルトの名無しさん:2014/03/07(金) 07:51:18.94
動いてないと固まったように見えて、ユーザが不安になるんだよ。
10分と書いててもいつからだとかユーザが記録・記憶してるわけないから、
まだなのに、10分待ったのに終わらないぞ、このソフトおかしいと強制終了させたり
クレームつけて来たり。
517デフォルトの名無しさん:2014/03/07(金) 08:08:57.11
>>514
> 時間を見積もるのはかなり難しいぞ

そんなことはこのスレのまともな奴なら知ってるだろ
>>507-9 はそういう問題じゃないし
518デフォルトの名無しさん:2014/03/07(金) 13:06:02.46
わろたw
519デフォルトの名無しさん:2014/03/07(金) 15:14:52.23
・作業量を見積もる難しさ。そもそも始めてみないとわからない場合がある
・残り時間を見積もる難しさ。経過時間と完了割合から推測するしかないので
520デフォルトの名無しさん:2014/03/07(金) 15:36:30.37
class Foo { public Foo<T>(〜) { } }

みたいなコンストラクタ書けないんだね。
どういう設計思想でこうなったんだろう?
521デフォルトの名無しさん:2014/03/07(金) 15:38:54.25
そのTの使い所が思いつかんな
522デフォルトの名無しさん:2014/03/07(金) 15:49:23.69
public Foo<T>(ReadOnlyObservableCollection<T> source, Func<T, Hoge> converter)
みたいなコンストラクタ作ろうと思ったら出来なかったのよね。
まぁFactory作ればいいんだけど、なんでかなと思って。
523デフォルトの名無しさん:2014/03/07(金) 16:26:59.36
自覚はしてるみたいだけど
それって呼び出し元で.Selectってやるのと実質変わらないよね
524デフォルトの名無しさん:2014/03/07(金) 16:42:55.12
コレクション変更に追従するようにするので、Selectじゃ無理なんです。
525デフォルトの名無しさん:2014/03/07(金) 16:47:21.60
おかしいな
と思ったら糞言語をやめて他の言語を勉強しよう
526デフォルトの名無しさん:2014/03/07(金) 16:53:13.07
どういう理由でこういう仕様になったのか知りたいのです。
527デフォルトの名無しさん:2014/03/07(金) 16:54:44.14
そういう設計思想はバグ産むからこういう仕様
528デフォルトの名無しさん:2014/03/07(金) 17:22:43.30
ああ言えばこう言う
529デフォルトの名無しさん:2014/03/07(金) 18:10:52.62
設計思想について云々するのはオナニーに他ならない
というのがこのスレの総意
530デフォルトの名無しさん:2014/03/07(金) 18:11:18.07
素朴な疑問ですが
FooとFoo<T>は同じ型ですか?
531デフォルトの名無しさん:2014/03/07(金) 18:16:09.29
Javaとは違うんです
532デフォルトの名無しさん:2014/03/07(金) 20:23:30.02
>>524
無理でないのでは?

var list = new List<int>(new[] { 1, 2, 3 });
var sel = list.Select(i => i * 10);
foreach (var i in sel) Console.WriteLine(i);
//list.Clear();
list.Add(4);
foreach (var i in sel) Console.WriteLine(i);
533デフォルトの名無しさん:2014/03/07(金) 20:24:52.15
>>530
ちがう
534デフォルトの名無しさん:2014/03/07(金) 20:32:21.19
>>532
CollectionChangedイベントが使いたいんだろう
コンストラクタに型引数付けられたらnew Hoge<int><string>()みたいなおかしなことになるだろ
Javaだとnew<String> Hoge<int>という苦しい書き方をするが、
こんな気持ち悪い構文よりは諦めたほうがマシだろ
535デフォルトの名無しさん:2014/03/07(金) 20:58:32.57
3.0以降ってC++みたいで読みにくい(^p^)
536デフォルトの名無しさん:2014/03/07(金) 22:06:01.42
C++っぽいのはC#2.0だろ
お前はC++もC#もろくに理解せずにただ何となく難しそうに見えるものをC++みたいと言っているだけ
537デフォルトの名無しさん:2014/03/07(金) 22:55:41.06
最新のバージョンはPHPっぽいからな
538デフォルトの名無しさん:2014/03/07(金) 22:56:45.34
FooとFoo<T>が違う型なのに
FooのコンストラクタがFoo<T>になるのは理解できませんが
どういう設計思想をしたらそう言う事が出来るようにと考えるんですか
539デフォルトの名無しさん:2014/03/07(金) 22:59:51.13
意味不明
Foo型のコンストラクタ: Foo()
Foo<T>型のコンストラクタ: Foo<int>()等
Foo<int>で一つの型名だぞ?何が理解できないのか全く理解できない
540デフォルトの名無しさん:2014/03/07(金) 23:00:44.82
>>538
コンストラクタが普通のメソッドみたいにジェネリック使えないのかと聞いているのであって、Foo<T>は型名として言ってるんじゃなんじゃない?
541デフォルトの名無しさん:2014/03/07(金) 23:03:12.38
ややこしくなるからやらないだけで、やれない理由はないよ(構文上の制約は別にして)
コンストラクタ呼び出しってただ初期化専用のインスタンスメソッドを呼んでるだけだからね
542デフォルトの名無しさん:2014/03/07(金) 23:13:58.75
ジェネリックじゃない型のコンストラクタにジェネリック?
543デフォルトの名無しさん:2014/03/07(金) 23:17:18.96
SQLSERVERの、トリガを使うべきか、アプリケーションとしてC#で実装するか。
どっちが良いのでしょうか。

あるテーブルの複数行にまたがる同じフィールドで管理している数の合計が、
別テーブルにあるそれと関連した行のフィールドで管理している数に一致したとき、
もう一つのフィールドのBIT型列をTRUEにするような動作です。

これをトリガで実装しちゃうと、
意図しないタイミングでもこの処理がなされてしまいます。
たとえば、行コピーを行なった場合です。

やっぱり、C#でアプリ機能として実装しとこうと思います。
トリガって使ってます??
544デフォルトの名無しさん:2014/03/07(金) 23:20:11.79
意図しないタイミングってなんだよ
データは常に整合性を満たすように操作しろや
545デフォルトの名無しさん:2014/03/07(金) 23:23:08.69
そもそも実データとしてそのBIT列を持つ設計が間違ってる
546デフォルトの名無しさん:2014/03/07(金) 23:27:46.06
COBOLみたいなクソ設計だな
547デフォルトの名無しさん:2014/03/07(金) 23:57:46.89
>>545
あれっ?そうなの。BIT列を実データで持っては駄目なの
BIT列がなければ、
「あるテーブルの複数行にまたがる同じフィールドで管理している数の合計が、
別テーブルにあるそれと関連した行(かなりたくさんある!!)のフィールドで管理している数に一致」
しているかどうかを必要なときに毎回、SQL文を走らせる必要が出てくるので、
それを端折って高速化を図るために、「もう一致したよ」という意味のBIT列を備えようと思ったんです。

>>544
データベースの引越しなんかでデータを流し込むときです。
この場合は、アプリケーション意図の圏外です。
548デフォルトの名無しさん:2014/03/08(土) 00:00:54.62
gdgdになりそーな作り方だな
549デフォルトの名無しさん:2014/03/08(土) 00:04:26.28
目的がわからんので何とも言えないけど、バッチロードしたデータがそのフラグに影響しない意図がよくわからん
それならその項目の値はアプリでの挿入とバッチロードでの挿入は別にするべきじゃないの?
550デフォルトの名無しさん:2014/03/08(土) 00:06:43.24
そもそもデータ設計の話であってC#とは全く関係なかった
551デフォルトの名無しさん:2014/03/08(土) 00:16:15.64
こうしたいだけだろ?適当にクラスつくって入出力管理するだけじゃん

入力   出力
↓     ↑
データ+フラグ→メモリ

DB
552デフォルトの名無しさん:2014/03/08(土) 00:17:27.29
>>データベースの引越しなんかでデータを流し込むときです。
>>この場合は、アプリケーション意図の圏外です。

>>549
>バッチロードしたデータがそのフラグに影響しない意図がよくわからん

言われてみれば、ロード時のデータもフラグに影響します。そのほうが自然です。

ただ、数万ある行の各挿入ごとに、トリガが動作するので大変そうですし、(バッチロードが非常に遅くなりそう)
「もう一致したよ」を表すBIT列は整合性を気にするほどのものでもないし、
アプリ動作には必須ではないからです。
なぜなら、BIT列チェックによる計算軽減がなされない場合には、きちんと計算しなおすように設計しているからです。
あくまでも、SQL導出処理時にBIT列で行を絞り込んでやることで計算軽減を図るだけのものなんです。

だから、整合性はあったほうが良いけど、上の理由により必須でもないのでトリガは大げさだし・・・
バッチロード時の負担を考えれば、アプリケーション層でC#で実装しようかと。
553デフォルトの名無しさん:2014/03/08(土) 00:18:54.59
>>551
>→メモリ
って何を意味しますか?

アプリ層で実装せよってことですね
554デフォルトの名無しさん:2014/03/08(土) 00:43:06.45
バッチロードの時だけトリガ無効化して、流しこみ終わったらSQLでフラグの再設定してトリガ有効化すりゃいいんじゃないの?
555デフォルトの名無しさん:2014/03/08(土) 00:49:46.21
>>554
トリガを使うという場合にならそれが一番ですよね
しかし、整合性重視にトリガを使うべきか、アプリ層でC#で実装するのか、
うーん、今日はこの問を立てて終了した。

低レベルにトリガを使ったほうが確かにカンタンそう。
アプリ層だと対応が面倒くさそうだった。

トリガってカンタンに有効無効設定できるんだ。
使ったことないんで。
556デフォルトの名無しさん:2014/03/08(土) 00:57:56.68
厳密な整合性入らないなら適当な頻度でマテビュー切れば?
557デフォルトの名無しさん:2014/03/08(土) 00:58:08.86
突っ込みどころ満載だな
558デフォルトの名無しさん:2014/03/08(土) 01:10:38.52
整合性の無い関連フラグDBに持たせてるやついたら
そいつプロジェクトから外すか俺がプロジェクトから降りるかするわ
559デフォルトの名無しさん:2014/03/08(土) 01:11:57.59
CCWの挙動をカスタマイズしたいのだがどうすりゃいいのよ
IUnknownの実装が不満たらたら
560デフォルトの名無しさん:2014/03/08(土) 01:58:30.21
>>558
整合性が全くないというわけではない
厳密に整合性がなくても困らないように、うまい具合に整合をとってある

>>556
はい、手動イベント発生で、sql文実行するように考えています
561デフォルトの名無しさん:2014/03/08(土) 17:28:42.91
整合性と言うものが厳密なものではないとは知らなかった
562デフォルトの名無しさん:2014/03/08(土) 19:56:57.99
厳密かどうかのレベルはあるだろ
預金残高みたいに常に整合していないといけない情報もあるし、アクセスカウント表示みたいに大体合ってりゃいい (誤差が累積しなきゃいい) ようなものもあるだろ
563デフォルトの名無しさん:2014/03/08(土) 20:04:11.06
トリガはリアルタイムな整合性のために設計するべきだし、カウンタは誤差が累積する例だと思うよ
564デフォルトの名無しさん:2014/03/08(土) 20:17:54.29
どうやったら誤差が出るのか分からない
カウンタの誤差ってどんなアクセスをカウントするかで誤差るってことであって、DBへ入れる作業で誤差が生じるわけじゃないだろ?
それともおまえらが作ったらDBへ入れるとこで誤差出るのか?w
565デフォルトの名無しさん:2014/03/08(土) 20:36:29.41
参照するたびに値が違うよ
566デフォルトの名無しさん:2014/03/09(日) 00:07:24.64
1、データベース都合なら、トリガへ
2、アプリケーション都合なら、ビジネスクラスで

これがわかった。
1が大切そう。ストアドプロシジャしかやってなかったが、今後はトリガつかっていく。
567デフォルトの名無しさん:2014/03/09(日) 00:25:48.63
たぶん常識的なこと言ってるんだろうけどさっぱりWakarane
568デフォルトの名無しさん:2014/03/09(日) 11:26:38.76
>>565
早くバグ見つけろよ
569デフォルトの名無しさん:2014/03/09(日) 13:59:34.82
現在プログラム板のID制導入の投票を実施中です
よろしくお願いします

プログラム板 強制ID制導入に関する投票スレ
http://kohada.2ch.net/test/read.cgi/vote/1394290844/
570デフォルトの名無しさん:2014/03/09(日) 17:35:43.47
マ板にID変えられない奴なんでいないだろ
ID出しても無意味だね
571デフォルトの名無しさん:2014/03/09(日) 17:38:39.44
質問者の成りすましがいなくなるだけでも効果絶大だわ
572デフォルトの名無しさん:2014/03/09(日) 17:38:59.02
と自演荒らしが申してます
573デフォルトの名無しさん:2014/03/09(日) 17:45:29.17
どっちでもいいけど、出されて困ることもないな
574デフォルトの名無しさん:2014/03/09(日) 17:51:00.14
勝手にやってくれどうでもいい
575デフォルトの名無しさん:2014/03/09(日) 17:55:11.73
俺みたいな実家で家族と一緒にネットやってるやつは気軽にID変えれないし、
スマホのID変えも、子供やイタズラ目的の輩が手を出そうとすると偽情報に
騙されるリスクがあるから割と効果的だと思う
576デフォルトの名無しさん:2014/03/09(日) 17:55:45.13
自演がバレて困る
577デフォルトの名無しさん:2014/03/09(日) 18:30:13.42
通行人です。
例えばある時刻の総訪問者数をデータベースに記録する場合データ不整合起こしやすいんだね。
ミリ秒の差でカウンタ増えた場合も記録して、データベースの時刻は秒までとか。
唯一のユニークな値にならない場合どの値採用するの?
578デフォルトの名無しさん:2014/03/09(日) 18:41:18.15
ユニークな値にならないじゃなくて、ユニークな値にしてないだけじゃん
ロックかけろよ
579デフォルトの名無しさん:2014/03/09(日) 18:52:56.88
>>577
> 唯一のユニークな値にならない場合どの値採用するの?

なんでそんな変な設計なのかよくわからんが、その案件ならでかい方の値でいいでしょ。
580デフォルトの名無しさん:2014/03/09(日) 19:06:01.99
つーかデータベースの話でさえない予感
581デフォルトの名無しさん:2014/03/09(日) 19:10:05.11
通行人ってなんすか
門外漢の間違いでは
582デフォルトの名無しさん:2014/03/09(日) 19:18:28.56
>>577 = 70じゃねw
583デフォルトの名無しさん:2014/03/09(日) 20:36:47.57
70ってなんだよ殺すぞ
584デフォルトの名無しさん:2014/03/09(日) 21:35:13.88
70とかマルチスレッドくんはもういいだろ
まだ引きずってんのかよ
585デフォルトの名無しさん:2014/03/09(日) 21:44:57.16
糞ワロタ
だが確かに特徴あるな
586デフォルトの名無しさん:2014/03/09(日) 23:00:49.15
70は自決しました ありがとうございました
587デフォルトの名無しさん:2014/03/10(月) 00:28:54.67
幼稚くさ。生きてて苦痛じゃないのかねこういう馬鹿って
588デフォルトの名無しさん:2014/03/10(月) 00:30:41.50
おっぱい飲みたいでちゅ
589デフォルトの名無しさん:2014/03/10(月) 00:45:15.14
俺のチンコからはミルクが沢山でるよ
590デフォルトの名無しさん:2014/03/10(月) 01:10:13.50
しかしdynamic型が中途半端すぎる
ラムダ式入れられないって
591デフォルトの名無しさん:2014/03/10(月) 01:17:14.08
ダイクマ型
592デフォルトの名無しさん:2014/03/10(月) 23:04:23.62
ラムダ式はそれだけじゃデリゲートなのかExpressionなのかもわからんからしょうがないやろ。
593デフォルトの名無しさん:2014/03/10(月) 23:08:59.49
dynamicなんか良いからウォッチでラムダ式使わせろ
594デフォルトの名無しさん:2014/03/11(火) 00:45:27.04
川俣以外のラムダ解説で良いものあります?
本とか雑誌のコラムとか、ほぼ川俣しかみないし
もしかして流行ってないの?ラムダ式
595デフォルトの名無しさん:2014/03/11(火) 00:49:03.65
流行ってないどころか(川俣さんも書いてるけど)もはや常識化しちゃってるだけでしょ。

っていうかラムダなんてそんないくつも記事読まないと分からないような深い技術じゃないよ。
むしろ覚えたその日にすぐ使えるようになる類のもの。
596デフォルトの名無しさん:2014/03/11(火) 01:00:42.29
まあそんなこと言うだけだとアレだから俺のブックマークから拾ってみるか。
っていうかググるだけだと思うんだけど...

C#ラムダ式 基礎文法最速マスター
http://www.atmarkit.co.jp/fdotnet/rapidmaster/rapidmaster_01/rapidmaster_01.html

Delegates, Events, and Lambda Expressions
http://msdn.microsoft.com/ja-jp/library/orm-9780596516109-03-09.aspx
597デフォルトの名無しさん:2014/03/11(火) 01:10:24.23
ラムダ式に限らないけどC#の場合追加した仕様は全部○○のために必要だからちょっと文法変でも後付で入れた
だから○○するならそこで使うだけ
598デフォルトの名無しさん:2014/03/11(火) 01:27:24.89
関数型言語やればいいよ。
ラムダも普通の関数も表記に一切違いがないことを見れば全く同じだと直感的にわかるから
599デフォルトの名無しさん:2014/03/11(火) 03:23:39.18
いや、まずはJava8やればいいよ
その前にC++の知識が要るね
前提条件としてObject-Cも身に着けておこうか
でもやっぱ基本はasmだろ常考

とかいう流れに持って行くのがココの住人
600デフォルトの名無しさん:2014/03/11(火) 03:45:55.71
本に
C#では参照パラメータが必要になる場面はほとんどない。他のプログラミング言語との相互運用のために利用する。
ってあったんだけど…そうなんすか…?
601デフォルトの名無しさん:2014/03/11(火) 06:43:05.23
カスタム値型だと稀に見かける程度
ほぼoutしか使わない
602デフォルトの名無しさん:2014/03/11(火) 10:31:09.35
おれのスパゲッティコードではよく出てくるよ
603デフォルトの名無しさん:2014/03/11(火) 11:31:21.32
Tuple<T1, T2, ...>に詰めて返すくらいなら素直にref使って下さい
604デフォルトの名無しさん:2014/03/11(火) 11:40:30.20
だよなあ…著者はどういうつもりで参照は使わないと書いているんだろう?
605デフォルトの名無しさん:2014/03/11(火) 11:43:04.69
クラス書けよってことじゃないかな
606デフォルトの名無しさん:2014/03/11(火) 11:46:25.28
C#ではということは他の言語と違うということだな
607デフォルトの名無しさん:2014/03/11(火) 12:07:30.19
>>603
Tupleの代わりならoutだろ。refである必要が無い。
608デフォルトの名無しさん:2014/03/11(火) 12:45:46.15
Tupleから取り出して元の変数に代入する作業があるんだよ……
609デフォルトの名無しさん:2014/03/11(火) 13:10:47.33
Java8はStreamがC#のLINQにそっくりなわけか
でもSceneBuilderひでえなあれ
JavaFX使い物にならん
610デフォルトの名無しさん:2014/03/11(火) 13:28:50.52
C#はキライです
でもJavaさんはもっとキライです
611デフォルトの名無しさん:2014/03/11(火) 14:36:13.95
じゃあObjective-Cでどうだ。今ならラムダ式っぽいのもあるぞ
612デフォルトの名無しさん:2014/03/11(火) 16:11:24.20
パパの象さんが大しゅきです
613デフォルトの名無しさん:2014/03/11(火) 21:23:08.96
初めてはお父さんでした
614デフォルトの名無しさん:2014/03/11(火) 23:55:19.18 ID:v8LIgSFc
インスタンスメソッド内で定義したフィールドとかオブジェクトとか実体Aがあるとします。
そしてこの参照をreturnで呼び出し元に返します。
呼び出し元では参照可能なこの実体Aは、いったいどこにあると考えればよいんでしょう。
もし、また呼び出しが行なわれて同じインスタンスのそのメソッドを呼び出して、再び参照を得たとします。
今度の参照は実体Aではない実体を取り扱うことになるんでしょうか。
それとも、同じ実体Aなんでしょうか。
615デフォルトの名無しさん:2014/03/12(水) 00:02:40.46 ID:+okuxU6Z
>インスタンスメソッド内で定義したフィールドとかオブジェクトとか実体Aがあるとします。
出来ません
616デフォルトの名無しさん:2014/03/12(水) 00:03:07.57 ID:syQfbBCk
>参照可能なこの実体Aは、いったいどこにあると考えればよいんでしょう。

生のアドレスを基本的には扱うことがないC#で実体のアドレスを
必要とすることはないので意識する必要はありません。

>また呼び出しが行なわれて〜以降

具体的なコード例を示してくれないと何が言いたいのかわかりません。
617デフォルトの名無しさん:2014/03/12(水) 00:11:33.81 ID:PdpFqcU+
>>614
参照型とか値型を知ってるとして。

参照型の本当の実体はヒープというとこに有って、参照型はその場所を知っているだけ。
で、それを取得するということは、その場所の情報を教えるだけなので、結局参照先の実体は同じ。

値型はその値そのものを持っているものなので、
それを取得するということは、その値を複製するということなので、
受け取ったものをどういじっても元の値には影響しない。
618デフォルトの名無しさん:2014/03/12(水) 00:18:37.32 ID:kD99GXxj
class ABC
{

}

class A
{
public ABC method-a {
c1 = new ABC();
return c1; }
}

static class MAIN {
void start() {
A ca = new A()
ABC one = ca.method-a()
ABC two = ca.method-a()
略 }
}

この場合、startメソッド内の、oneとtwoは、同じ実体を参照することになるのでしょうか。
それとも、メソッドのコール毎に異なる実体を参照するのでしょうか。
アレッ?何を勘違いしていたんだろう。
c1 = new ABC(); って書いたんだから、メソッド呼び出しごとに異なる実体が生成されてる。
すみません。また思い出したら質問します。
619デフォルトの名無しさん:2014/03/12(水) 00:24:30.42 ID:kD99GXxj
>>617
ありがとうございます。
ということは、値型をreturnしたときには、呼び出し元ごとにコピーされて値が渡されているんですね。

参照型の場合は、>>618の場合のように、メソッド内でnewして生成して対応する参照が呼び出し元に返されるとき、
呼び出し元毎に異なる実体が参照されるとわかりました。

そして、そういうメソッド内でnewされた実体は、メソッドの枠を超えて別管理されていることもわかりました。
>>616
>生のアドレスを基本的には扱うことがないC#で実体のアドレスを必要とすることはないので意識する必要はありません。


ありがとうございます!!
620デフォルトの名無しさん:2014/03/12(水) 01:45:00.12 ID:2rbryAsK
他人に聞く前に自分でコード書いて確認した方が早い気がする…
621デフォルトの名無しさん:2014/03/12(水) 01:48:21.89 ID:ApMX+6Gf
参照型変数の中のアドレスが見えているか見えていないかで
コードのクオリティが全く変わってくるから

参照と実体がなにか知りたければ
C言語をアドレスを理解できるまでかじるといい
622デフォルトの名無しさん:2014/03/12(水) 02:12:19.09 ID:kD99GXxj
>>621
アセンブラ(masm)で、
mov ax,[1234]
のような理解でもおk?
623デフォルトの名無しさん:2014/03/12(水) 02:16:30.30 ID:ApMX+6Gf
>>622
まあいいんじゃないのかな
C#とのつながりが分かれば
624デフォルトの名無しさん:2014/03/12(水) 13:43:24.04 ID:lU5ReyWF
Console.Writeのラッパーを
Action<string, params Object[]> print = (format,arg) => Console.WriteLine(format,arg);
こんな感じでは書けないんでしょうか?
625デフォルトの名無しさん:2014/03/12(水) 13:45:12.50 ID:ApMX+6Gf
paramsいらなくね
626デフォルトの名無しさん:2014/03/12(水) 13:50:21.94 ID:kpE5MycJ
型引数にparamsは使えない
やるとしたら独自delegateを定義する
627デフォルトの名無しさん:2014/03/12(水) 14:07:28.22 ID:kD99GXxj
Actionって、ラッパーとして使うものなの?
ラムダ式を引数にとる関数に渡すときに使うものだと思っているが。
628デフォルトの名無しさん:2014/03/12(水) 14:13:07.09 ID:ApMX+6Gf
関数内で関数を作って局所化したいっていう動機はあるよね
そのためにdelegate定義するのはめんどいし外側が汚れてしまうっていうのも分かる
629デフォルトの名無しさん:2014/03/12(水) 14:16:41.61 ID:lU5ReyWF
みなさんありがとうございます。
とりあえず可変引数は無理っぽいですね。
例は可変引数の場合わかりやすいかなと思っただけなので特に意味はないです。
630デフォルトの名無しさん:2014/03/12(水) 21:13:37.05 ID:vfxVEyiO
結局ID出す事にしたんだな
631デフォルトの名無しさん:2014/03/12(水) 21:27:07.42 ID:/YlYsgHF
こういう系の板だと一旦変なのに絡まれるとスレ跨いでストーカーされるのが
鬱陶しんだよねIDがあると。
632デフォルトの名無しさん:2014/03/12(水) 21:30:56.95 ID:vVdB+kH4
そんな心配するほどレス数の多い板じゃない
633デフォルトの名無しさん:2014/03/12(水) 21:47:42.15 ID:vfxVEyiO
ここで初心者扱いされてるのにVBAスレでは強気な俺のレスが見られてしまうな///
634デフォルトの名無しさん:2014/03/12(水) 22:42:56.17 ID:uGdHRh7v
>>631
同時にあぼーんする手段もできるんだから問題ない。
635デフォルトの名無しさん:2014/03/12(水) 23:59:34.90 ID:57F9X0OO
>>634
オストリッチ症候群かよ。
っていうか、無視すること自体は見えるかどうかとそもそも関係なく可能。
636デフォルトの名無しさん:2014/03/13(木) 00:07:37.35 ID:h80UldLm
IDの何が問題って、確信犯的な荒らしを抑止する効果なんか事実上ないのに
荒らしてる自覚がない荒らし(むしろ本人下手すると正義味方(笑)気取りだったりする)
を増長させる副作用だけはしっかりあること。

結局余計な問題を増やすだけで有難みなんかほとんどないんだよね。
情緒的にではなく論理的に考えれば。

日本人は何でもそうだけど論理を無視して情緒で物事決めるダメな国民性だよな本当。
それで原発も止めてるし金融緩和政策なんて馬鹿な政策も実行しちゃうし泣けてくるよ本当
637デフォルトの名無しさん:2014/03/13(木) 00:09:48.50 ID:AEKVPTj5
そういうの自治スレかID議論スレでやってね
638デフォルトの名無しさん:2014/03/13(木) 00:47:45.75 ID:EP1oXvO4
IDを変えるプログラムはし〜シャープでかけますか?
639デフォルトの名無しさん:2014/03/13(木) 01:01:02.02 ID:S37X6xZu
かけますん
640デフォルトの名無しさん:2014/03/13(木) 07:31:21.53 ID:WRX1RKC5
>>636
死ねばいいのに
皮肉でも何でもなく、こんなんでよく今のご時世を生きてられると思う
641デフォルトの名無しさん:2014/03/13(木) 09:49:34.17 ID:TycIqszI
うんこに触るとうんこの臭いがするよ
642デフォルトの名無しさん:2014/03/13(木) 15:43:14.29 ID:+ALn8NqM
IF(おまえら[i].精神性 < c#.精神性) THEN 後藤
643デフォルトの名無しさん:2014/03/13(木) 15:44:59.87 ID:+ALn8NqM
コンパイルエラー!
理由:自明な式
644デフォルトの名無しさん:2014/03/13(木) 21:27:07.19 ID:ic9Zior6
自動テストどうやってる?
例えば、DBの検索結果に対するテストとか
入門サイトに書いてあるとおり、1 + 1の結果が2になったのでテストOKでーすってのはまずありえないし
645デフォルトの名無しさん:2014/03/13(木) 21:36:20.65 ID:gFhaECqg
DB程度なら別接続先で随時データ入れ替えてやればいい
リレーションが複雑だとテストデータのテストになりがちなのがアレだが
646デフォルトの名無しさん:2014/03/13(木) 23:59:27.81 ID:EP1oXvO4
わかりやすいテスト感丸出しのデータで完全一致テスト
業務に近いデータでルール合致テスト
めんどくさいし自分からやる場合はこれだけ
あとは顧客の要求しだいだね
647デフォルトの名無しさん:2014/03/14(金) 00:26:39.82 ID:lCkMUUlj
抽象クラスAを実装したクラスBがあります。
クラスBでは抽象メソッドaを実装したり、新規にメソッドbを追加しています。

クラスBをインスタンス化あるいはセッションオブジェクトから取り出すとき、
抽象クラスAにキャストして抽象クラスAのメンバメソッドαにアクセスしたいです。
このメソッドαは内部で抽象メソッドaをコールするようになっています。
ここで、クラスBによって実装されえいるものが実行されるんでしょうか。

何がひっかかっているかというと、クラスBのインスタンスを抽象クラスAで参照しているところです。
クラスBのインスタンスをクラスBで参照するのなら何の疑問もありません。

よろしくお願いします。
648デフォルトの名無しさん:2014/03/14(金) 00:28:23.18 ID:cX93OUqr
もちろんそうよ
649デフォルトの名無しさん:2014/03/14(金) 00:36:43.72 ID:+L45+gb5
なんでテストコード書かないの?
そのわかりにくい日本語で質問を書く時間があればテストコード書けたでしょ?
650デフォルトの名無しさん:2014/03/14(金) 00:38:53.35 ID:aLdBBnof
>>647
根本的なところを勘違いしてるようだが、インスタンスメソッドを持ってるのは
インスタンスではなくてクラスだ。
で、インスタンスメソッドを呼ぶときって対象のインスタンスの型に応じて見に行くクラスが変わるわけ。
見に行った先に目的のメソッドがあればそれを実行し、なければ継承元のクラスを見に行くという動作をする。
651デフォルトの名無しさん:2014/03/14(金) 00:41:32.06 ID:4p63Selk
652デフォルトの名無しさん:2014/03/14(金) 00:50:20.85 ID:cX93OUqr
クラスAの抽象メソッドはクラスBで「上書き」されるわけだよね
overrideされる
クラスB側でクラスAのメソッドを書き換えてると考えればいい
653デフォルトの名無しさん:2014/03/14(金) 01:16:05.74 ID:lCkMUUlj
>>648
>>651
ありがとうございます。

>>652
overrideと実装は別物じゃないのですか。たしか、オーバーライドって、ベースクラスのメンバが隠蔽されることですよね。
派生クラス型変数でそのメンバを参照すると隠蔽後のメンバが、ベースクラス型変数で参照すればもともとのメンバが見えるんですよね。
あっ、抽象メンバの実装って、オーバーライドの特殊な場合だと考えていいわけですね。
でも、もともとのメンバがabstructなので、ベースクラス型変数で参照してもオーバーライド後のメンバしか見えないのかな。

>>650
>インスタンスメソッドを持ってるのはインスタンスではなくてクラスだ。
クラス変数で参照することでインスタンスがそのクラスとしての意味を持つわけですね。object型で参照しても石ころにしか見えない。

>インスタンスの型に応じて見に行くクラスが変わるわけ。見に行った先に目的のメソッドがあればそれを実行し、なければ継承元のクラスを見に行くという動作をする。
だんだん先祖クラスへとキャストされながらメンバアクセスされるんですね。
私の>>647で書いたクラスBインスタンスは、キャストされることでまずそのベースである抽象クラスA変数で参照されてメンバであるメソッドαが呼ばれます。
メソッドα内ではthis.抽象メソッドがコールされています。このときに、おっしゃる「インスタンスの型に応じて見に行くクラスが変わる」わけですね。
すると、なるほど、抽象メンバなのでクラスAのままでは駄目なので、派生クラスBを通してthisインスタンスが見られて、めでたく具象メンバにアクセスできるのですね。

>>649
インテリセンスが機能しないので・・・以前のコードをコピペするので、真っ白なところにとっさに書けない。

合っているでしょうか。みなさまありがとうございます。
654デフォルトの名無しさん:2014/03/14(金) 01:19:38.60 ID:cX93OUqr
>>653
隠ぺいするのはnew
上書きするのはoverride

この違いはnewではAにキャストした時Aのメソッドが呼び出される(この場合は抽象メソッドだから呼び出せないけど)
overrideだとAにキャストしてもBのメソッドが呼び出される
655デフォルトの名無しさん:2014/03/14(金) 01:27:41.64 ID:lCkMUUlj
>>654
>newではAにキャストした時Aのメソッドが呼び出される
>overrideだとAにキャストしてもBのメソッドが呼び出される

ありがとうございます。今までぜんぜん意識していませんでした。
派生クラスによる抽象メソッドの実装では、オーバーライドを使いますね。
だから、派生クラスBのインスタンスを基底抽象クラスにキャストして参照しても、オーバーライドしたメソッド(具象メソッド)がアクセスされるんですね。
そして、これがnewだと駄目なわけなのか。なるほど。

勉強になります。
ありがとうございます。
656デフォルトの名無しさん:2014/03/14(金) 01:30:07.71 ID:cX93OUqr
>>655
そうそう
中身を知りたければ関数ポインタとか仮想関数テーブルを調べればいい
657デフォルトの名無しさん:2014/03/14(金) 01:44:50.79 ID:CN82R/hG
ID:cX93OUqrは自治スレに入り浸るキチガイだった

http://toro.2ch.net/test/read.cgi/tech/1393852194/
763 名前:デフォルトの名無しさん[sage] 投稿日:2014/03/14(金) 01:22:26.54 ID:cX93OUqr
ホントに qaG+7LaQ は分かりやすいな
658デフォルトの名無しさん:2014/03/14(金) 02:03:13.42 ID:lCkMUUlj
>>656
そうやって何を参照するのかを調べる方法もあるんですね。
とりあえず、色々試したいと思います。

みなさん、ありがとうございました。
659デフォルトの名無しさん:2014/03/14(金) 04:08:29.98 ID:OhHcVCgC
中小クラス
660デフォルトの名無しさん:2014/03/15(土) 09:10:07.78 ID:byzuBKx1
相互運用でさ
Variantの引数をマーシャリングしないでそのままVariantとして扱いたいのだけどなんか手段はありませんかね?
661デフォルトの名無しさん:2014/03/15(土) 10:34:14.57 ID:1lWAVkUO
試して無いが、StructLayoutで自前定義するとか?
662デフォルトの名無しさん:2014/03/15(土) 10:35:59.41 ID:2wONVlT3
http://www.pinvoke.net/default.aspx/Structures/VARIANTARG.html
動くのかなこれ
俺はCOMと縁切ったから試さない
663デフォルトの名無しさん:2014/03/15(土) 10:47:08.30 ID:TyWyywy3
>>660
dynamic
ラッパーは入るだろうけど
664デフォルトの名無しさん:2014/03/15(土) 12:29:13.84 ID:U2zxkHlz
>>662
ここまでいろんな型考慮しなくてもいいよな
とりあえず使う型だけでさ

>>660
いずれにせよ
それを使うインターフェイス等の自前定義から始めないとな
665デフォルトの名無しさん:2014/03/15(土) 18:42:08.14 ID:EjdDfWvk
配列の要素が全て一致するかどうかはSequenceEqualで調べられるけど
一部が一致している場合って簡単に分かる方法無い?
例えるならstring型のContains(string value)みたいな事を、任意の型の配列で行いたい。
自前でfor文でチェックする処理を実装するしかないのだろうか。
666デフォルトの名無しさん:2014/03/15(土) 18:50:05.43 ID:9MThlYQe
Array.ForEach
667デフォルトの名無しさん:2014/03/15(土) 18:53:33.02 ID:rOdgzJoD
Anyかな
668デフォルトの名無しさん:2014/03/15(土) 19:02:36.29 ID:fegytcFt
標準にはないね
669デフォルトの名無しさん:2014/03/15(土) 19:09:25.75 ID:ZLyrlk/C
A.Intersect(B).Any()以上のものを用意しろと?
670デフォルトの名無しさん:2014/03/15(土) 19:10:52.67 ID:aLBzPWXU
誰が考えてもそんな汎用性のない処理が(
671デフォルトの名無しさん:2014/03/15(土) 19:23:54.72 ID:EjdDfWvk
Anyだと配列の順番まで見てくれないのだ。
自分が使い方を完全に把握していないかもしれないけど。
イメージとしては
int[] a = new int[] { 0, 1, 2, 3 };を比較元として
int[] b = new int[] { 1, 2, 3 }; ←OK
int[] c = new int[] { 1, 3, 2 }; ←NG
int[] d = new int[] { 2, 3, 4 }; ←NG
にしたいんだが。実際はint型じゃないけど。
取り敢えず自前でチェックしてみるわ。
672デフォルトの名無しさん:2014/03/15(土) 19:43:20.07 ID:ZLyrlk/C
var c = a.Intersect(b).OrderBy(x => a.IndexOf(x)).ToList();
var i = a.IndexOf(y[0]);
var j = b.IndexOf(y[0]);

for(var k = 0; k < y.Count; k++)
{
  if(a[i] != b[j] || b[j] != c[k]) return false;
  i++;
  j++;
}
return true;

とかそんなゴミみたいなロジックってことか
673デフォルトの名無しさん:2014/03/15(土) 20:00:49.00 ID:2wONVlT3
ゴミだとは思わないがArrayとは処理のレイヤーが違うんだろうな
674デフォルトの名無しさん:2014/03/15(土) 20:46:23.50 ID:U2zxkHlz
>int[] c = new int[] { 1, 3, 2 }; ←NG

順番に依存するならIEnumerable<T>の拡張メソッドとしても馴染まない気がするが
675デフォルトの名無しさん:2014/03/15(土) 21:42:40.45 ID:TyWyywy3
ReverseとかZipとかSkipとかTakeとか思いっきり順番依存だろ
676デフォルトの名無しさん:2014/03/15(土) 23:22:57.47 ID:06EythjK
単純なメソッドを連結していけばLINQ的に記述しても分かりやすいけど
込み入ったことをするならループ書いたほうが分かりやすいだろう
677デフォルトの名無しさん:2014/03/15(土) 23:35:50.51 ID:9rVEQSb/
LINQの方が抽象化されてて簡潔に書けるから意味は取りやすいだろ
理解していないだけ
678デフォルトの名無しさん:2014/03/15(土) 23:44:44.35 ID:06EythjK
>>677
それはLINQが単純なメソッドで構成されてるから分かりやすいだけだよ
679デフォルトの名無しさん:2014/03/16(日) 00:00:46.69 ID:gY7mojcT
DataContractSerializerでプレースホルダなしで
配列・コレクションを入出力するにはどうしたらいいでしょうか。

たとえば以下からitemsを取り除くにはどうしたらよいのかということです。
<root><id/><items><item/><item/></items></root>
680デフォルトの名無しさん:2014/03/16(日) 00:33:11.38 ID:xZFTSCS7
>>679
DataContractSerializerは通信用。入出力ファイルのスキーマが決まってる場合に使うものじゃない。
中身を気にするならXmlSerializerを使う。XmlSerializerは決してレガシーじゃなくて明確に役割が違う。
681デフォルトの名無しさん:2014/03/16(日) 16:56:14.25 ID:ezIbSiPE
>>671
P/Invokeでmemmemを使えば・・・と思ったけどVCにmemmemってないんだな。
682デフォルトの名無しさん:2014/03/16(日) 20:12:22.39 ID:Bjd5lEfB
質問です
違うホストのHttpWebRequestで同じCookieを使いたいんですがなにかうまい方法ありませんか?
CookieContainerを指定するとどうしてもUriごとに別々にされてしまいます
683デフォルトの名無しさん:2014/03/16(日) 20:22:00.68 ID:+0w7Q/Uu
やめてやめて
仕事の質問をここでしないでよC#プログラマさん
僕の考えてるC#プログラマさんはもっと頭がよくてかっこよくてイケメンで聡明なんだからさぁ
努力不足の人はここにこないでよぉ
684デフォルトの名無しさん:2014/03/16(日) 20:28:27.08 ID:12/qZRGD
cookieってそういうもんだし
追加するときにCookie.Domain書き換えれば?
685デフォルトの名無しさん:2014/03/16(日) 20:32:42.56 ID:+0w7Q/Uu
頭の悪いドカタさんなんだからもっと丁寧に回答してあげてよぉ!
出来るC#プログラマを育てる気持ちでさぁ
686デフォルトの名無しさん:2014/03/16(日) 20:36:52.52 ID:VS9UbNP0
687デフォルトの名無しさん:2014/03/16(日) 20:45:57.52 ID:Bjd5lEfB
>>684
なるほどわかりました。やってみます。
それと正攻法はないでしょうか?
CookieCollectionにGetCookieHeaderとSetCookiesができればいいのですが…
688デフォルトの名無しさん:2014/03/16(日) 20:47:27.95 ID:byxM+iqL
A:風が吹けば桶屋が儲かる
B:なんで?
A:猫が減るからです

いちいち0から馬鹿丁寧に教える義理もないし
この程度のヒント提示であとは自分で考えろ
ってな感じでいいんでね?
689デフォルトの名無しさん:2014/03/16(日) 20:47:49.13 ID:+0w7Q/Uu
ほらまた質問で反ってきたでしょ?
ちゃんと回答してあげないといつまでも解決できないよ
690デフォルトの名無しさん:2014/03/16(日) 20:55:38.47 ID:12/qZRGD
cookieはそういうもんじゃないから正攻法も何もない
691デフォルトの名無しさん:2014/03/16(日) 20:58:22.20 ID:Bjd5lEfB
>>690
わかりました、ありがとうございます
692デフォルトの名無しさん:2014/03/16(日) 20:58:35.53 ID:P/QBzxHd
もし有るならセキュリティ問題としてそのうちWindowsUpdateで修正されそうだな
693デフォルトの名無しさん:2014/03/16(日) 21:00:08.26 ID:+0w7Q/Uu
結局それ言われて帰っちゃうんだ
何しに来たんだろうね
まともな答えを得られないのをわかって質問したのかな
本を広げればいいことなのに
694デフォルトの名無しさん:2014/03/16(日) 21:01:30.80 ID:+0w7Q/Uu
>>692みたいに終わった質問を後から横から茶々いれて
意味不明なこと言うのはやめて
C#プログラマがこんな低レベルって思われたくないよぉ
695デフォルトの名無しさん:2014/03/16(日) 21:02:10.99 ID:Bjd5lEfB
>>693
今は>>684の方法を借りてそのうち自力でCookie弄る奴作ります
696デフォルトの名無しさん:2014/03/16(日) 21:04:08.82 ID:+0w7Q/Uu
次はもうちょっと勉強してから来てよね
697デフォルトの名無しさん:2014/03/16(日) 21:05:14.50 ID:+T9tkFR6
>>695
そいつ荒らしだから反応しちゃダメ
698デフォルトの名無しさん:2014/03/16(日) 21:06:32.99 ID:+0w7Q/Uu
荒らし的なことをやってるのはどいつだよぉ><
ダメな質問者を甘やかしちゃだめだよ
699デフォルトの名無しさん:2014/03/16(日) 21:24:29.46 ID:+0w7Q/Uu
C#はいずれ天下をとる言語なんだから汚したりしないでよねっ!プンプン
700デフォルトの名無しさん:2014/03/16(日) 22:37:20.63 ID:Zmwe6LE6
http://hissi.org/read.php/tech/20140316/KzB3N1EvVXU.html

こいつ何しにム板に来てるのかわからんな
701デフォルトの名無しさん:2014/03/16(日) 22:48:21.89 ID:BR331utC
>>700
元々はPythonスレ住人で他言語スレを荒らしまくっているようだ
Pythonスレから離れてくれて助かっていると、
Pythonスレ住人の一人(ID:pXWrRWdV)が告白していた
702デフォルトの名無しさん:2014/03/16(日) 22:56:55.52 ID:Zmwe6LE6
ふーんそうなんだ
ID出るようになって本当に良かったよな
703デフォルトの名無しさん:2014/03/16(日) 23:02:55.95 ID:+0w7Q/Uu
やっぱり質問が低レベルなスレだと頭も低レベルな人が集まってきちゃうのかな
うまく上級者スレと区分けされてていいね
704デフォルトの名無しさん:2014/03/16(日) 23:19:05.92 ID:HBYrU4DA
むしろIDの存在が荒らしを誘発してるケースのように見えるが...
705デフォルトの名無しさん:2014/03/16(日) 23:23:41.01 ID:+0w7Q/Uu
>>703はむこうのスレのことですよ
投稿間違えた
706デフォルトの名無しさん:2014/03/16(日) 23:39:39.17 ID:wmlsbQd6
>>704
直前直後の短い期間だけみればそう考えても不自然ではないが、もう少しスパンを長くすれば功罪両方ともみえると思う
自分に関しては例のトリップがつけにくくなった(苦笑)、必死チェッカーって強力すぎなくない?他板まで引っ張ってくるのは勘弁してほしいなあ‥‥

荒らし氏の狙いもそこにあるような気もするね
707デフォルトの名無しさん:2014/03/16(日) 23:49:35.35 ID:GVwtZId6
自治スレでやってろよ。おまえらが荒らしじゃん
708デフォルトの名無しさん:2014/03/16(日) 23:56:53.30 ID:+0w7Q/Uu
荒らしじゃなくてこのスレで変な回答する人が問題になってるんでしょ?
709デフォルトの名無しさん:2014/03/17(月) 03:18:42.21 ID:Ev6WXW/3
多分こうやって荒らし続けた後にIDが原因で荒れたからIDを削除して下さいって言えば
なんとかなると思ってるんじゃないのかな
710デフォルトの名無しさん:2014/03/17(月) 06:35:31.42 ID:Z9hT6Asb
だまってNGIDに入れとけ
711デフォルトの名無しさん:2014/03/17(月) 06:51:59.77 ID:xxVLFjhA
lockによるブロッキングを検出できる方法はないでしょうか?

・アプリケーション内から
・デバッグやパフォーマンスツールから

実際にブロッキングが発生している回数やブロッキング時間、
タイミングなどが知りたいです。
712デフォルトの名無しさん:2014/03/17(月) 06:54:33.32 ID:kvkYHa/8
Process Explorerとか使ってパフォーマンスカウンター眺めてみれば
713デフォルトの名無しさん:2014/03/17(月) 06:56:16.88 ID:xpyr1YeC
lock内で記録しとけば?
714デフォルトの名無しさん:2014/03/17(月) 07:16:06.88 ID:xxVLFjhA
>>712
ありがとうございます。カラム追加で.NET>lock>Contentionでしょうか?
試してみたいと思います。
>>713
シンプルでいいですね。ただソースに変更なしでやれるとうれしいですね。

それと追加でもうしわけありません。現在Taskによるスレッディングが
一般的と思いますが、これで、スレッドを即座に終了させるということは
できるのでしょううか?キャンセルチェック処理に到達しない場合の
強制アボート?的な終了ということです。
715デフォルトの名無しさん:2014/03/17(月) 11:27:07.35 ID:qNLDgXjv
>>714
ゴミの知能で質問しないでよ
C#プログラマの名がすたる
716デフォルトの名無しさん:2014/03/17(月) 12:10:01.23 ID:qNLDgXjv
>>714のゴミはあっちの低能スレに行くべき
717デフォルトの名無しさん:2014/03/17(月) 13:57:46.93 ID:vgTYpdHI
工業高校ってそんなもん
718デフォルトの名無しさん:2014/03/17(月) 14:05:07.88 ID:qNLDgXjv
そこらのドカタより学生のほうがレベル高かったりするからね
719デフォルトの名無しさん:2014/03/17(月) 14:17:15.26 ID:N+WvHDKR
720デフォルトの名無しさん:2014/03/17(月) 14:30:43.29 ID:qNLDgXjv
いやほんと、学生のほうが独学でガリガリやってくるからね
721デフォルトの名無しさん:2014/03/17(月) 14:56:25.32 ID:x8Vwh0uj
もしかして宿題スレの回答を提出して落第したuyか?このあぼ〜んは
722デフォルトの名無しさん:2014/03/17(月) 15:57:57.93 ID:fy2/s0A2
学生は出来る奴と出来ない奴の差が激しいよな。

教わるなんてレベルじゃ無いのも居れば、
引数が理解出来ていないのも居る。
723デフォルトの名無しさん:2014/03/17(月) 16:37:45.51 ID:qNLDgXjv
出来る奴は出来る
出来ない奴は派遣IT行きだね
724デフォルトの名無しさん:2014/03/17(月) 18:25:57.54 ID:Z9hT6Asb
Win32APIスレのキチガイと同じ臭い
725デフォルトの名無しさん:2014/03/17(月) 18:30:36.71 ID:qNLDgXjv
まあ出来る奴に限ってIT派遣の道は選ばないんだけどね
726デフォルトの名無しさん:2014/03/17(月) 19:01:03.00 ID:78KDYQNE
上流連中が少数精鋭で自らコーディングするようになったらPGなんてほとんど絶滅だよね
727デフォルトの名無しさん:2014/03/17(月) 19:28:35.14 ID:hR7vD6M1
>>726
うん、何が言いたいか全くわからないよ(困惑
728デフォルトの名無しさん:2014/03/17(月) 19:48:50.62 ID:qNLDgXjv
コストで言うと
少数の優秀なプログラマ>>大量のドカタ集団
729デフォルトの名無しさん:2014/03/18(火) 22:13:14.67 ID:+2DQ87sc
>>726
>上流連中が少数精鋭で自らコーディングするようになったら
>PGなんてほとんど絶滅だよね

現実は、文系営業SEが、良く解らず無茶苦茶な納期で
無茶苦茶な仕事を取ってくるんだけどな。

この業界は、そういうイビツな姿が、すっかり定着した。
730デフォルトの名無しさん:2014/03/18(火) 22:19:07.91 ID:G12u9CCe
プログラムを知らない文系SEに丸投げされる気分はどうでっか〜?
731デフォルトの名無しさん:2014/03/18(火) 22:32:20.64 ID:jQBBSfya
少数精鋭がコーディングするのがアメリカとかでは普通なんだがな
732デフォルトの名無しさん:2014/03/18(火) 22:34:05.45 ID:+2DQ87sc
フルタイム13万のシステム開発派遣を見たことあるけど、
生活保護の方が余程マシだな。
733デフォルトの名無しさん:2014/03/18(火) 22:40:31.09 ID:+2DQ87sc
納期厳守で、入った1週間後が納期。

フルタイム月13万サビ残上等で、
文系SEの仕様無き仕様からPG起こす。

こんな仕事でも人が群がるんだから、
ヤクザな業界だよな。
734デフォルトの名無しさん:2014/03/18(火) 22:44:56.11 ID:kvMnJzsJ
IDの話だとすぐスレ違いだとか噛み付いてくる奴が何も言わないのは何か語るに落ちてる感じだな。

しかし、この手のレスを見るといつも思うんだが、お前の職場に馬鹿しかいないのは
お前自身がそういう職場でしか取ってもらえないその程度のレベルの人間だからに決まってるわけだが、
こんな簡単なことが分からない馬鹿って何なんだろうね。

こういうのがマ板とかででてめえの無能を棚に上げてブラックだ何だと吼えてるんだろうけど。
735デフォルトの名無しさん:2014/03/18(火) 22:59:27.67 ID:biluq6k/
ブラックでも歳食ってると採用されない現実。
736デフォルトの名無しさん:2014/03/18(火) 23:06:55.46 ID:+2DQ87sc
>>734
サビ算とか無能に関係なくブラックだろ。

常識的に考えれば。
737デフォルトの名無しさん:2014/03/18(火) 23:22:56.44 ID:G12u9CCe
下請けプログラマは例外なく奴隷
738デフォルトの名無しさん:2014/03/18(火) 23:53:38.81 ID:t7v/g2ZY
マ板でやれ
739デフォルトの名無しさん:2014/03/18(火) 23:54:18.52 ID:+2DQ87sc
>>737
IT土方が奴隷なんて、そんな身分は高くない。
朝鮮人から戦犯ジャップと罵られるような世界の癌的な存在。
740デフォルトの名無しさん:2014/03/19(水) 00:18:59.23 ID:g4egEk0y
細かいこと気にしないで要件の表面をなぞるだけなら少数精鋭で十分だけど、
ジャップは無駄に帳票のレイアウトに凝ったりチェックやメッセージ表情をクソ丁寧にやったりして
ちょっとしたことでも結局膨大な量の単純作業になるのでドカタ大量投入は正解
741デフォルトの名無しさん:2014/03/19(水) 00:21:12.29 ID:vyItzuTF
灰は灰に、ゴミはゴミに
742デフォルトの名無しさん:2014/03/19(水) 01:09:00.59 ID:pgTJKr0l
この業界はほんとにプログラムを知らない奴がプログラマやエンジニアとかになってるよな
そういう無能はブラック企業で奴隷として酷使される運命にある
743デフォルトの名無しさん:2014/03/19(水) 03:45:20.01 ID:YG4AVKTe
高給食んでるヘッドにも分かってないのが居るんですけど。
744デフォルトの名無しさん:2014/03/19(水) 08:53:41.43 ID:b0n3Qh/f
>>742
引数の使い方解らない期待の新人とか居た。
クラスとか何それ美味しいの状態。

そういうのがSEとして、ガンガン仕事取ってくるんだから、
穴埋め用の派遣IT土方が大量に必要なんだよ。

当然納期は守れないんだけどな。
745デフォルトの名無しさん:2014/03/19(水) 23:01:57.49 ID:wJv4ebRO
みかかを頂点とした搾取構造ピラミッドが崩れないんだからしかたないじゃん
日本のIT業界はゼネコンなんだ、三菱地所と鹿島・関電工がやらかした欠陥億ションと同じ
お金持ってる大手と仕事の出来る上流様の下請けで業界は回ってるが、その上流様がプログラムのプの字も知らない癖に要件定義や基本設計やって詳細以下を下請けに丸投げ
そりゃショートするよ、こんなんで上手く行くはずないよね
海外のスタートアップみたいに少数精鋭で仕事したいわ、金あればAppleやGoogleみたいに好きな物作って納得できるクオリティで世に出したい
いつも志しあるPG以外がぶち壊しにする
746デフォルトの名無しさん:2014/03/19(水) 23:40:43.91 ID:jd9CcxAf
だからお前が肥溜めの中にいるのはお前自身がウンコだから。
お前がダイアモンドかその原石なら肥溜めの中になんかいねえよ。
馬鹿じゃねえの本当。

偉そうに構造問題(まあそれは肥溜めの中の狭窄な視点から見える勘違いの産物でしかないんだが)
を語る前にまず己の器を知れよ馬鹿。
747デフォルトの名無しさん:2014/03/20(木) 00:10:39.53 ID:OzzqYNO0
海外のスタートアップが裏山なら海外行けって言うだけのことだわな
まあ、ここで愚痴ってる口だけ番長なのはお互い様なんで仲良くやろうよ
748デフォルトの名無しさん:2014/03/20(木) 02:43:38.83 ID:Ikzk9XT2
・プログラミングの実力無い
・英語出来ない
749デフォルトの名無しさん:2014/03/20(木) 06:28:15.11 ID:LM3UMBCm
マ板でやれやキチガイども
750デフォルトの名無しさん:2014/03/20(木) 06:57:40.26 ID:YYkkDc7U
キチガイに話が通じるとお考えの花畑を発見しました
751デフォルトの名無しさん:2014/03/21(金) 14:49:25.45 ID:B+VnY0Pq
質問です。

ユーザーコントロールの上にLabelを配置しました。
ユーザーコントロールでマウスクリックのイベントを拾おうとしたのですが
Labelが邪魔してユーザーコントロールまでイベントが届きません。

Labelを無視するあるいは
ユーザーコントロールがクリックを受け取るにはどうしたらよろしいでしょうか?

検索する単語が悪いのか
これと言ったサイトにたどり着くこともできませんでした。
752デフォルトの名無しさん:2014/03/21(金) 15:01:46.47 ID:eibr9P7Y
WinFormsだろ?
Label.ClickでUserControl.Clickを呼ぶだけ
それ以外にこれといって対処できることはないから
これといったサイトにたどり着くこともない
753デフォルトの名無しさん:2014/03/21(金) 15:06:39.85 ID:ir+/YB1D
>>751
マウスイベント 透過

これでググったらすぐ見つかったよ。
http://youryella.wankuma.com/Library/Extensions/Form/LayeredWindow.aspx

やったことはないが、Labelをトップレベルウィンドウにしないと無理っぽい。
754デフォルトの名無しさん:2014/03/21(金) 15:24:54.75 ID:/HoDAKDC
まずなぜユーザーコントロールの上にLabelを配置するのか状況が想定出来んw
755デフォルトの名無しさん:2014/03/21(金) 15:42:59.63 ID:Z82+z0lX
ゴミだからでしょ
756デフォルトの名無しさん:2014/03/21(金) 15:50:57.05 ID:Z82+z0lX
また馬鹿質問でスレを私物化しているゴミがやってきたようだね
さすがC#
757デフォルトの名無しさん:2014/03/21(金) 15:56:37.23 ID:B+VnY0Pq
>>753
ありがとうございました!

>>754
ゴミだからでしょw

>>755
ヒドイ><
758デフォルトの名無しさん:2014/03/21(金) 16:17:20.48 ID:Z82+z0lX
ありがとうございましたじゃなくてゴミ質問をしたことを謝罪しろ
759デフォルトの名無しさん:2014/03/21(金) 16:24:10.91 ID:WVx3dbBm
>>758
むしろお前が邪魔だから馬鹿。

>>751が言ってるようなことは、例えば既存のコンポーネントの上にオーバーラップして
何かを表示したいといった場合には必要になる。

必要になるというか、恐らくそれが一番簡単に実現する方法なわけで、
別にそんなにおかしなことを言ってるわけじゃない。
760デフォルトの名無しさん:2014/03/21(金) 16:30:37.56 ID:Z82+z0lX
>>750
おかしいのはお前の頭、嘘回答で初心者に嘘を教えこんだ
お前も謝罪しろ、質問者とこのスレを汚したことを
761デフォルトの名無しさん:2014/03/21(金) 16:33:53.72 ID:0w6x4I64
何故突然荒れ出したしw
ID反対派?
762デフォルトの名無しさん:2014/03/21(金) 17:25:15.94 ID:ZxQW7eXR
俺の画面だと荒れてないよ
763デフォルトの名無しさん:2014/03/21(金) 17:33:40.49 ID:Ekms6kK6
uyってやっぱり在日チョンだったんだな
764デフォルトの名無しさん:2014/03/21(金) 21:02:30.76 ID:EcU89+Nw
 ああああぁぁぁ! >>774の家が!!! 〈      、′・. ’   ;   ’、 ’、′‘ .・”
                          〈       ’、′・  ’、.・”;  ”  ’、
YYYYYYYYYYYYYYYYYYYYYYYYYYYYYY´     ’、′  ’、  (;;ノ;; (′‘ ・. ’、′”;
                              、′・  ( (´;^`⌒)∴⌒`.・   ” ;
::::::::::::::::::::::   ____,;' ,;- i                、 ’、 ’・ 、´⌒,;y'⌒((´;;;;;ノ、"'人
::::::::::::::::::   ,;;'"  i i ・i;                _、(⌒ ;;;:;´'从 ;'   ;:;;) ;⌒ ;; :) )、___
:::::::::::::::  ,;'":;;,,,,,, ;!, `'''i;.               / ( ´;`ヾ,;⌒)´  从⌒ ;) `⌒ )⌒:`.・/\
:::::::::::  ,/'"   '''',,,,''''--i                / :::::. :::    ´⌒(,ゞ、⌒) ;;:::)::ノ. _/    \
:::::::::  ;/  .,,,,,,,,,,,,,,,,,   ;i'⌒i;         /    ノ  ...;:;_)  ...::ノ  ソ ...::ノ__/       \
:::::::  i;"     ___,,,,,,,  `i"        /_______________/|          |\
::::::: i;    ,,;'""" `';,,,  "`i;          ̄|   _____  .______.  |  >>774宅  .|
::::::: |  ''''''i ,,,,,,,,,,  `'--''''"          |  |       |  |         |  |          |
::::::: |.    i'"   ";                 |  |       |  |         |  |          |
::::::: |;    `-、.,;''"                    |  |       |  |         |  |          |
::::::::  i;     `'-----j             |  | ==== .|  | ===== .|  |          |
                           ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
765デフォルトの名無しさん:2014/03/21(金) 21:05:26.06 ID:AfoeyrF5
vs2010を使っています。
Accessのレポート機能は、かなり細かく制御できました。
sqlデータソースからの行がなくても明細パートのイベントハンドラをつかって、下地を白黒に交互に反転させることで、綺麗な書類を作成できました。

こういうレポート機能のフレームワークって、vsにも用意されているんでしょうか。
クリスタルレポートというのが2008までのものには同梱されていたらしいですが、
これはACCESSのレポート機能と同様に高度な設定はできるんでしょうか。

2010からはクリスタルレポートってどこかで購入する必要があるんでしょうか。
また、ASP.NETのページオブジェクトとクリスタルレポートの関係ってどうなりますか。
クリスタルレポートのフォーマットイベントって、C#でハンドルできるんでしょうか。
766デフォルトの名無しさん:2014/03/21(金) 21:08:18.49 ID:NDl1lNAz
90%の職場でExcelは表計算ソフトじゃなく
ただの表を作るソフトとして使われてるっていう話を思い出した
767デフォルトの名無しさん:2014/03/21(金) 21:09:25.13 ID:Z82+z0lX
>>765
のようなゴミにはC#は手が届かない言語だって気づけよ馬鹿
768デフォルトの名無しさん:2014/03/21(金) 21:12:04.53 ID:Z82+z0lX
>>765
いちいち細かく質問しで自分の頭では調べる能力がまったくないんだね
誰も相手しないよ、お前みたいなクレクレ野郎
769デフォルトの名無しさん:2014/03/21(金) 21:27:01.75 ID:1Ki07yzp
VS2010以降は標準バンドルが廃止されており、
無償アドオン(SAP Crystal Reports for Microsoft
Visual Studio.Net)をSAP社よりダウンロードし、
開発環境へインストールすることで継続して開発環境の
利用が可能。-Wikipedia-
770デフォルトの名無しさん:2014/03/21(金) 21:31:23.32 ID:AfoeyrF5
>>769
m社はどうして自分で開発しようとしないのですかね?
ACCESSのようなレポートデザインツールはあるのに。
771デフォルトの名無しさん:2014/03/21(金) 21:41:08.02 ID:Z82+z0lX
>>770
馬鹿には理解できないことだから諦めろよクズ人間
二度とこのスレに来るな
772デフォルトの名無しさん:2014/03/21(金) 21:45:30.79 ID:Z82+z0lX
>>769
Wikipediaからコピペする馬鹿発見
ググれば出てくる問題をわざわざスレに書き込み
そして誰かがググってで出てきたものコピペして回答
これで質問が解決
終わってるなこのスレ
773デフォルトの名無しさん:2014/03/21(金) 21:55:03.88 ID:g/RZTWhG
Z82+z0lXはメンヘラ?

スレタイに相談室って書いてあるじゃん。
質問をして何が悪い?

スレ終わってると思うなら来るなメンヘラのカス
774デフォルトの名無しさん:2014/03/21(金) 21:58:20.36 ID:qJHtZZn0
確信犯の荒らしを構う貴方も荒らしのお仲間。
むしろ自覚がないあんたの方が重症かもしれない。
775デフォルトの名無しさん:2014/03/21(金) 22:00:46.83 ID:1Ki07yzp
>>770 俺はMじゃないから 知らんがな
776デフォルトの名無しさん:2014/03/22(土) 01:55:36.15 ID:+2B6OEdX
面白い人が面白いことをする

面白いから凡人が集まってくる

住み着いた凡人が居場所を守るために主張し始める

面白い人が見切りをつけて居なくなる

残った凡人が面白くないことをする

面白くないので皆居なくなる
777デフォルトの名無しさん:2014/03/22(土) 03:28:35.83 ID:FdP/1XXF
>>764
天から黄金が降ってきて、大金持ちになりましたとさ。
778デフォルトの名無しさん:2014/03/23(日) 04:54:44.03 ID:ZZbby7db
俺、たった一人で会社(40名ほど)のITを担当している。

IT管理者全般、各PC自作&インストール、プログラム開発(SQLも活用した伝票処理)、ネットワーク構築、LINUXサーバー運用管理、IP電話システムの構築等々、ビルのLAN配線までやっている。
多分、ちょっとやりすぎではないかと思うのだが、会社としてはIT関係にたくさんの人は雇えないのだという。
サーバーが壊れてひどいめにあったりしたので、VPSに鯖を移設する作業が大詰めの段階。

一人で何もかもするって、中小企業なら当たり前なの?それとも、俺ってけっこう優秀だからできるのか?


ASP.NET2.0を、Windows8のIISに移設しようとして、おかしいエラーに見舞われて、疲れた。
カスタムエラーでmode=Offとやっても、リモートからのアクセス時にブラウザに表示されない問題が解消しなかった。
VS2010で開発したASP.NET4プログラムは問題なく移設できたし、エラーもリモートのブラウザに表示できた。
疲れた。

甘口の意見たのむ
779デフォルトの名無しさん:2014/03/23(日) 05:02:08.65 ID:ZZbby7db
たった一人で、インターネットという不安定な環境が、唯一の相談の場だ。
挫折しそうになったこともたびたびあったが、なんとか一人で乗り越えてきた。
だから、さまよえるネット難民の気持ちがわかるので、わかることはヒントなど差し上げるようにしている。

IT担当って、縁の下で活動している。
プログラムの内部事情も知らないで、無理難題をぶつけてくる社員もある。
まともにほめられたこともないな。

どうしてこの仕事つづけているんだろう。
はやく楽になりたいなあ。ITの進化よ止まれ!
永遠に夏休みはこないのか。。。。

いやいや、神経質になってはいけない。
山があるからもくもくと登るんだ。たまには休憩しよう。そしてこれほどまで高く上ってこれたことを喜ぼう。
しかし、いっしょに登ってくれる仲間がほしいなあ。
VPSはディスクや電源交換の不安から俺を自由にして、負担を軽くした。これからもっとそういうサービスは安価になっていくだろう。
780デフォルトの名無しさん:2014/03/23(日) 05:13:59.79 ID:68zV/hLN
で、C#の相談はまだかね?
781デフォルトの名無しさん:2014/03/23(日) 07:09:48.23 ID:VgxtFxt9
本日のNGID
ID:ZZbby7db
782デフォルトの名無しさん:2014/03/23(日) 07:43:24.88 ID:Ku++zKZH
ID:ZZbby7dbは自分語りをダラダラ書いてる割に質問が分かりにくくて判断材料も少ないだけの普通の質問者だろ

>>778
ASP.NETエラーページが出てるのならイベントビューアかログ出力コードでエラー特定できるでしょ
Global.asaxでも使ってみたら?
783デフォルトの名無しさん:2014/03/23(日) 10:35:34.01 ID:9EUDVluQ
さすがにそのレベルは超えてるだろ
多分一眠りすれば自力で解決するよw
784デフォルトの名無しさん:2014/03/23(日) 12:21:53.29 ID:9pAuhLXR
>>778
この業界って代わりはいくらでもいるから辛くても我慢するしかないよ
785デフォルトの名無しさん:2014/03/23(日) 13:35:15.05 ID:aWR7Kg7u
>>778
> 俺、たった一人で会社(40名ほど)のITを担当している。

人数的にはそんなもんかな。
ちなみにうちの会社は社員 800名で IT 部門は 18名。
まあ、一人と言うのはキツいわな。
逆に細かい所は自分で決められるから、スキルと向上心があればやりやすい面もある。

> 一人で何もかもするって、中小企業なら当たり前なの?

これは当たり前。

> それとも、俺ってけっこう優秀だからできるのか?

まあ、そう言うことにしておこう (w

年齢書いてないから何とも言えないけど 40越えてるなら、体力的な問題とかも出始めるから、若いやつを一人入れてくださいよ〜 ってたのみ続けた方がいい、多分五年位かかると思うから。
786デフォルトの名無しさん:2014/03/23(日) 16:10:37.30 ID:v3YCvUfx
ASP.NET2.0ってことは.NET Frameworkも2.0だよな
まずWin8で.NET2.0動くのか?
あとWin8でIISは(ライセンスの問題は別として)フル機能で動くのか?

自分が満足してやってるなら一人で全部やればいいさ
不満があるのに全部やってるなら、仕事のやり方を知らない馬鹿だな
787デフォルトの名無しさん:2014/03/23(日) 16:12:21.85 ID:YyM6y7wV
一人で全部決められる方が楽しいわな

無能な上司の下でやってると死にたくなる
788デフォルトの名無しさん:2014/03/23(日) 16:23:14.70 ID:9pAuhLXR
win8への移行は難しいぞ
かなりコアな部分に互換性がない
789デフォルトの名無しさん:2014/03/23(日) 20:52:11.56 ID:LwVxNWuC
C#うんこは処置諸所うおいおのしょ
790デフォルトの名無しさん:2014/03/23(日) 22:42:57.90 ID:6+yiVumR
どっちもNTベースです
791デフォルトの名無しさん:2014/03/23(日) 22:46:48.40 ID:LwVxNWuC
またゴミが発狂した
792デフォルトの名無しさん:2014/03/24(月) 12:41:54.58 ID:JhzTHoiQ
>>783>>786>>788
そうですね。一度、web.confとmachine.confを、vs2010で再生成させてみたいと思います。
asp.net2.0を、.net3.5で動かすことになると思います。
新しいiis8などではアプリケーションプールという概念があるんで、そのプールの.netバージョンをguiで簡単に設定する必要がありました。
一応、ローカルマシンのブラウザからアクセスすると完全に動作した。
しかし、わからないのはリモートマシンからアクセスした場合、一部のaspxだけは動作するけど、sqlコネクションやデータソースコントロールを多用したaspxページはうごかないこと。
カスタムエラー設定でmode=Offとしても、リモートのブラウザにエラー情報を表示させるには、mode=Offを設定しろとのエラーが出ること。
>>782の言うとおり、別の方法でエラーメッセージを取得してみたいと思います。慣れないので大変。

>>784
できることなら代わってほしいです。でも、全部、自分のオリジナルプログラムなんです。
後継が全部、持っていってしまいそうで、それもいやだ。

>>785
共感してくださってありがとうございます。一人はさびしいです。
深さ浅さは別として、オールマイティーにこなすIT担当の大変さを皆がわかってくれていたらまだ頑張れるけど、ある意味、目立つ医者よりも大変でしょ。(治療方針がないし、大病院依頼もできない)
ねぎらいもない。当たり前。不具合がでたらゴラーで、恐縮するばかり。
システムを安定させるまでもうちょっと頑張ります。
安定すれば、長い長い休みが取りたい。
793デフォルトの名無しさん:2014/03/24(月) 12:48:29.19 ID:iN+OyuMJ
>>792
お前みたいなゴミがなんでC#やってんだよ
消えろゴミクズうんこ
794デフォルトの名無しさん:2014/03/24(月) 12:54:58.34 ID:JAEd1pY5
自分語りしてーならマ板でやれハゲ
TPOわきまえず、物事簡潔に語ることもできねーからお前は底辺なんだよ
795デフォルトの名無しさん:2014/03/24(月) 13:01:33.40 ID:JhzTHoiQ
>>794
>物事簡潔に語ること
してその心得とは?
796デフォルトの名無しさん:2014/03/24(月) 13:06:44.34 ID:JhzTHoiQ
マ板へ行きます。
797デフォルトの名無しさん:2014/03/24(月) 13:10:32.46 ID:JAEd1pY5
質問しに来たんなら質問だけ書けって話だそんくらい理解しろハゲ
てめーの事情なんぞどうでもいいわ
798デフォルトの名無しさん:2014/03/24(月) 13:11:44.68 ID:iN+OyuMJ
質問する奴は全員クズなのだ論理的にも明らか
799デフォルトの名無しさん:2014/03/24(月) 23:48:11.85 ID:xK2d4WsU
相互参照してるプロジェクトって作れないの?
プロジェクトAにクラスaがあり
プロジェクトBにクラスbがある
aはbに依存してbはaに依存している
大人の事情でこの設計はもう変えられない
ソリューションにAとBを作ってお互い参照させようとしたのだが普通に出来なかった
800デフォルトの名無しさん:2014/03/25(火) 00:22:55.50 ID:lEfVnYS3
プロジェクトCにインターフェースを抽出しCに依存させろ
801デフォルトの名無しさん:2014/03/25(火) 01:12:30.30 ID:RHWCQzbD
>>799
DLL参照を順序考えてやったらいけたというかなっちゃったような。
ビルドの後処理でお互いのバイナリ参照場所にコピー
802デフォルトの名無しさん:2014/03/25(火) 01:22:16.92 ID:bvFcvrs8
>>801
はゴミの中でも一級品のゴミC#プログラマー
803デフォルトの名無しさん:2014/03/25(火) 01:30:04.20 ID:grpx0IOT
>>799
C#は前方宣言できないの?例えば、
class a の前に、class b とか。よく知らんけど

class b
class a
804デフォルトの名無しさん:2014/03/25(火) 01:34:02.56 ID:bvFcvrs8
>>803
ゴミはごみなりにゴミコードを提示してください
805デフォルトの名無しさん:2014/03/25(火) 06:41:28.66 ID:15e480iK
妙なことせずにインターフェイス使えば
806デフォルトの名無しさん:2014/03/25(火) 07:36:58.13 ID:f+HSSBhT
>>803
それを最近の静的言語の世界ではインターフェイスと呼びます
807デフォルトの名無しさん:2014/03/25(火) 10:05:42.54 ID:rW9Eu/tW
C#のインターフェイスには実装つけられないしなぁ
Javaはできるようになったけど
808デフォルトの名無しさん:2014/03/25(火) 10:15:24.82 ID:X5SMyeic
同じ型内に書けないと言うだけで
静的メソッド(+拡張メソッド)で完全に代替可能だから
809デフォルトの名無しさん:2014/03/25(火) 11:23:16.87 ID:rW9Eu/tW
できないよ。静的メソッドはオーバーライドできないから。
810デフォルトの名無しさん:2014/03/25(火) 12:22:26.60 ID:X5SMyeic
あ、そうなのか>Java
811デフォルトの名無しさん:2014/03/25(火) 13:30:52.73 ID:bvFcvrs8
そうなのかじゃねーよ馬鹿プログラマ
お前にはC#は向いてないJavaでもやってろ
812デフォルトの名無しさん:2014/03/25(火) 13:55:35.72 ID:rW9Eu/tW
そんな罵ることないだろw
言語仕様にラムダ式追加したけどリストとかの既存のインターフェイスどうすんべ
てのが元々の課題であって、
静的メソッド+拡張メソッドでLinqを実装して解決したのがC#
インターフェイスに実装を置けるようにしたのがJavaってだけだもの
後発の方が機能が上なのは当然だけど、割り切った仕様が悪いというわけでもない
インターフェイスを継承した子インターフェイスが親のデフォルト実装をオーバーライドとか
悪夢としか思えないし
813デフォルトの名無しさん:2014/03/25(火) 13:56:42.98 ID:iaFhKYFb
うわあゴミにマジレスしてるよこの人
814デフォルトの名無しさん:2014/03/25(火) 15:13:57.77 ID:bvFcvrs8
>>813
ゴミはお前だろ
何も語らないなら黙ってろ
815デフォルトの名無しさん:2014/03/25(火) 19:57:03.87 ID:a0hi6Xj0
>>803
ふつう前方宣言は同じアセンブリ内での話になる。
Pascalのように前方宣言必須の言語もあるが、C#は必要ない。

// class Bar -- こういう前方宣言は不要
class Foo {
 public Bar Bar { get; set; }
}
class Bar {
 public Foo Foo { get; set; }
}

でも、ここではアセンブリ間でどうなんだって話題だろ。
816799:2014/03/26(水) 00:24:28.92 ID:hfCViy2F
結局インターフェースだけ別のプロジェクトに分離した
そんで生成をダイナミックにしたらなかなか悪くない感じになった
817デフォルトの名無しさん:2014/03/26(水) 10:09:28.24 ID:7vaINPTB
ちょこっとunsafeなコードを使い始めたら
もうMarshal.PtrToStructure / StructureToPtrでしこしこやってきたところを全部治したくなった
stackallocマンセー病にかかったかも
818デフォルトの名無しさん:2014/03/26(水) 10:56:18.55 ID:w9hVm82u
これからはunsafeだけでいいんだろうけど、
書き直す必要は無いんじゃね?
819デフォルトの名無しさん:2014/03/26(水) 11:05:52.17 ID:7vaINPTB
そうですね
820デフォルトの名無しさん:2014/03/26(水) 13:00:24.21 ID:ZC1sfyNn
罵るだけのゴミは相手にしないようお願いします。
821デフォルトの名無しさん:2014/03/26(水) 14:06:45.20 ID:brOzJ+yM
そうですね
822799:2014/03/26(水) 22:59:22.99 ID:op6WvdKw
unsafeってなにが出来るのですか?
C++の構造体を使えますか?
823デフォルトの名無しさん:2014/03/26(水) 23:06:19.02 ID:vWVW3y+g
使えるよ
Cと同等のポインタ操作ができる
固定長配列も使える
824デフォルトの名無しさん:2014/03/27(木) 17:33:13.28 ID:hr5UXKyM
元請のPG未経験の新人SEが、空いた時間でC#のプログラムを
勉強しろと言われたらしく、IT土方の俺の隣で、
変数とは何かから勉強しているんだけど、
先輩SEが「書ける必要は無い。読めるだけで良いから。」と
言っていたんだ。

「読むほうが難しくね?」と思ったけど、
実際の所、書けなくても読めるものでしょうか?
825デフォルトの名無しさん:2014/03/27(木) 17:44:50.49 ID:sRoezQCa
書くにも読むにも、どのくらいのレベルを求められてるかによる
826デフォルトの名無しさん:2014/03/27(木) 17:50:29.08 ID:Q+RTv4Ce
読むほうが簡単なのは言うまでもない
「俺が読めるように書き直せ」という奥の手もあるしw

だがぷろぐらむの書けないど初心者に向かって「書けなくてもいい」と言うのは暴論
827デフォルトの名無しさん:2014/03/27(木) 18:08:45.84 ID:hr5UXKyM
>>826
新人SEの今のレベルだと、
メソッドを曖昧に理解しているレベルだから、
オーバーロードどころか参照引数も禁止になるかも知れない。

いや、型が何か解ってないから、
全部voidで書けと言われるかも知れない。

結構ピンチかも。
828デフォルトの名無しさん:2014/03/27(木) 18:16:15.66 ID:WGQkrLUO
書けなくても読むことは出来ると思うけど、書いた経験のある人とない人では読み方に差が出るのではないのかな。
一概に書ける人が良くて書けない人が良くない、とは言えないだろうけれど、
傾向として書いたことがある人のほうがぱっと見は問題なさそうだけれども実際動かすとダメなコードとかを見分けられるだろうし。

でも、変数とはなにかレベルの人は結局勉強をしなきゃ読めるようにはならないよね。
メソッド名や変数名を追っていってなんとなくどこで何の処理をしているかが分かる、は「読める」というのかどうか。
まあそう考えると>>825に行き着くか。
829デフォルトの名無しさん:2014/03/27(木) 18:22:13.02 ID:hr5UXKyM
ちなみに、新人SEが下のようなコードを書いて、

answer = a + b;
int a = 1;
int b = 2;

「正しいはずなのに何で動かない?」と悩んでいたのを見て、
先輩SEが、書くのは土方がやるから読めるようにだけなっておけって
感じで言ってました。

ちなみに、なぜコンパイルが通らないのか教えてあげようとしたら
「もうちょっとで解るんです。言わんで下さい。」と言われた。

まあ、惜しいとは思いましたが。。。
830デフォルトの名無しさん:2014/03/27(木) 18:24:26.52 ID:ERMbaaR6
事実だとして先に謝っておきます
ごめんなさい

本音
ネタ臭い
831デフォルトの名無しさん:2014/03/27(木) 18:28:54.82 ID:Q+RTv4Ce
いいとこ行ってるじゃない
うまいこと煽ってやればVBAくらいは使いこなせるようになるかも
832デフォルトの名無しさん:2014/03/27(木) 18:48:14.53 ID:1gXihiuU
関数型やSQL向きだな
833デフォルトの名無しさん:2014/03/27(木) 20:25:50.95 ID:tQDxOrbR
全部voidで書いてやんよー

後で怒るなよ
834デフォルトの名無しさん:2014/03/27(木) 21:09:02.76 ID:SB1Fm6Qi
全部dynamicで書けと言われるかも知れない。
835デフォルトの名無しさん:2014/03/27(木) 21:28:56.55 ID:LTRi+iyQ
いくら新人でも、プログラマ志望じゃなくてSE志望でも
システム開発会社に入ろうかと言う人間でそのレベルは信じられない
836デフォルトの名無しさん:2014/03/27(木) 21:42:47.19 ID:1gXihiuU
上流の会社なら半分はコード一行も書いたことない文系だよ
そして最下流奴隷のお前より高い給料を貰う
837デフォルトの名無しさん:2014/03/27(木) 22:07:56.44 ID:Jl9seLxa
>>836
わかる
大手SIerで土方並に書けるSEなんて中途以外考えられん
838デフォルトの名無しさん:2014/03/27(木) 23:30:14.05 ID:hr5UXKyM
日本のSEは、プログラムよりも語学力が優先される。

プログラムなんて、システムを作る上で、
大きなウェイトを占めていないからだろうね。
839デフォルトの名無しさん:2014/03/27(木) 23:55:02.50 ID:MPG+AJcX
正確な文書を書ける、2つ以上の意味に取られる曖昧な記載をしない。
これが出来なきゃならんから確かに重要な要素だな。

企画書とか提案ならまだしも、要件定義で曖昧さが残ると
ちゃぶ台返される。
840799:2014/03/28(金) 02:31:15.60 ID:D2kEgAua
正確で曖昧性の無い文書を書きたいなら必然的にプログラムに近付いていく
上流だからプログラム出来ないってのは土方の嫉妬からくる幻覚だよ
やらないだけで書こうと思えばいくらでも書ける
841デフォルトの名無しさん:2014/03/28(金) 02:54:29.76 ID:s+1jLlOp
>>840
名前欄消そうぜw
842デフォルトの名無しさん:2014/03/28(金) 05:17:08.26 ID:N3c5Hh36
マ板でやれっつってんの
843デフォルトの名無しさん:2014/03/28(金) 07:45:26.48 ID:i0hvqTaz
いつまでも言ってろよバーカ
844デフォルトの名無しさん:2014/03/28(金) 08:34:15.20 ID:I0zBkm8o
>>829
そいつはExcelでも使ってたのかね?
リアクティブプログラミングの考え方が根底にあるようだ。
845デフォルトの名無しさん:2014/03/28(金) 09:10:16.92 ID:jR46UBH4
>>844
>そいつはExcelでも使ってたのかね?

Excelは使っているので、そうかも知れません。

いずれにしても、彼はプログラムを書くのを止めたので、
真相は闇の中です。
846デフォルトの名無しさん:2014/03/28(金) 14:42:10.23 ID:Ai1Nld6r
全部objectで書いたことならあるなw
847デフォルトの名無しさん:2014/03/28(金) 21:09:30.64 ID:D2kEgAua
C言語出来ない人はプログラマとは呼べないね
848デフォルトの名無しさん:2014/03/28(金) 21:11:37.77 ID:QFaXlhwY
スレタイ読めない奴は人間失格か?
849デフォルトの名無しさん:2014/03/28(金) 21:31:06.11 ID:BFpNVITx
幸子ちゃんかわいかった
850デフォルトの名無しさん:2014/03/29(土) 02:09:05.51 ID:/+/YLYBO
C#の正規表現ってパターンを新しく定義できないの?
\myPtnと書いたら[a-c]と書いたのと同じだ〜みたいな
851デフォルトの名無しさん:2014/03/29(土) 02:25:14.20 ID:q1+LeV+c
継承クラス作って、マッチ関数の前処理で文字列置換すれば?
852デフォルトの名無しさん:2014/03/29(土) 08:52:53.38 ID:gAADwV9d
WPFを使用してタブをウィンドウに昇格可能なアプリケーションを作成しようと思っているのですがどうすればいいのでしょうか?
853デフォルトの名無しさん:2014/03/29(土) 09:58:09.44 ID:aqE/GW7e
タブドラッグを検出したらタブ削除してウインドウ生成
854デフォルトの名無しさん:2014/03/29(土) 10:06:01.42 ID:VCXMGfRJ
MVVM的な状態分離できてりゃあとはドック実装だけでどうにかなる
855デフォルトの名無しさん:2014/03/29(土) 10:07:47.40 ID:9C9nb7Xk
>>854がMVVMを理解していない件
856デフォルトの名無しさん:2014/03/29(土) 10:12:06.60 ID:VCXMGfRJ
宗教論争に乗る気はない
857デフォルトの名無しさん:2014/03/29(土) 10:15:13.80 ID:HftvCuV2
誤りを指摘されると「宗教論争」
その発想は斬新だ
858デフォルトの名無しさん:2014/03/29(土) 10:18:24.39 ID:/+/YLYBO
MVVMってなんですか?
MVCとは違うのですか?
859デフォルトの名無しさん:2014/03/29(土) 10:19:01.53 ID:96vl7zqK
結局ビューの実装に閉じた問題だからMVVMとか全く関係ないな
>>852みたいなビューの要請が内部のロジックにまで影響するようなクソ設計は
MVVMがどうとかいう以前の問題だ
860デフォルトの名無しさん:2014/03/29(土) 10:23:13.24 ID:E1gpfH0G
内部ロジックの話は一言も書いてないようだが・・・
861デフォルトの名無しさん:2014/03/29(土) 10:25:21.42 ID:VCXMGfRJ
VMがVに便宜を図らないんならそれはMだろ、というようなどうでもいい認識の話になるから止めろって言ったのに
俺はMVVMを使うとすら書いてないぞ
862859:2014/03/29(土) 10:25:49.91 ID:96vl7zqK
誤解させてすまん
ビューの要請(例:>>852)が内部のロジックにまで影響するようなクソ設計
という意味
863デフォルトの名無しさん:2014/03/29(土) 10:34:19.47 ID:96vl7zqK
質問に直接答えるなら、
新しいウィンドウ作って中のコントロールをそのままウィンドウへ移動するだけだよ
中身はユーザーコントロールとしてまとめておくこと
バインディング使ってデータだけ移してもいいけど、中身が全く一緒なんだったらビューをそのまま移せばいいよ
864デフォルトの名無しさん:2014/03/29(土) 10:50:44.36 ID:8kOdEQaf
質問です
MVVMと状態分離って何か関係あるのですか?
865デフォルトの名無しさん:2014/03/29(土) 11:33:48.88 ID:kMhv0CS2
質問を禁止します
866デフォルトの名無しさん:2014/03/29(土) 11:34:13.24 ID:dJGOjeN9
再開
867デフォルトの名無しさん:2014/03/29(土) 11:53:52.71 ID:ySoDat60
月間MVVC賞
868デフォルトの名無しさん:2014/03/29(土) 12:33:03.34 ID:Zrewl+VF
ここまでの皆さんのありがたいご教示をもとに実装してみようと思いましたがあきらめました
みなさんありがとうございました
869デフォルトの名無しさん:2014/03/29(土) 16:06:18.57 ID:EN1l+2Rh
アプリを書けるようになってから5年後ぐらいだな
他人のコードを読めるようになったと思ったのは
870デフォルトの名無しさん:2014/03/29(土) 16:18:58.53 ID:wVvJQgTI
C#3.0が読めません
871デフォルトの名無しさん:2014/03/29(土) 17:08:15.71 ID:uUHdfige
シーシャープさんてんぜろと読むんですよ
872デフォルトの名無しさん:2014/03/29(土) 21:44:11.70 ID:xOlU3pSX
シーシャープに移転ゼロ
873デフォルトの名無しさん:2014/03/30(日) 19:46:31.96 ID:S3/jvl5+
PDF をテキスト化したいのですが、いい方法を教えて下さい
iTextSharpはうまく行きませんでした

ちなみに変換したいのは
http://www.ose.or.jp/f/upload_files/13821/attachments/20140324_volume_by_participant_whole_day.pdf
です
874デフォルトの名無しさん:2014/03/30(日) 19:58:19.95 ID:RjEoCYU7
どううまく行かなかったのか
どういうコードを書いたのか
なぜふらっとスレではなくここに書き込んでしまったのか
875デフォルトの名無しさん:2014/03/30(日) 19:58:34.40 ID:f3NXXSOp
PDF-1.3ならPDFSharpのサポート範囲だな
876デフォルトの名無しさん:2014/03/30(日) 20:34:54.77 ID:S3/jvl5+
ぐぐって見つけたサンプルコードを実行してみましたところ、
http://shusakuorz.wordpress.com/2013/05/15/pdf%E3%81%8B%E3%82%89%E3%83%86%E3%82%AD%E3%82%B9%E3%83%88%E3%82%92%E6%8A%BD%E5%87%BA%E3%81%99%E3%82%8B/

型 'iTextSharp.text.pdf.PdfLiteral' のオブジェクトを型 'iTextSharp.text.pdf.PdfString' にキャストできません。

などと仰せになります

ふらっとスレのほうがいいですか?
877デフォルトの名無しさん:2014/03/30(日) 20:47:54.23 ID:f3NXXSOp
その例外の意味が分からんのは初心者スレ行きだけど、
50行目が原因ならライブラリか解説が間違ってるので初心者には直せないと思うよ
878デフォルトの名無しさん:2014/03/30(日) 21:02:24.13 ID:RjEoCYU7
そのファイルをブラウザで開いたらfirefoxのプラグインが文句言ってきたから
不正なpdfファイルなのかもね
知らんけど
879デフォルトの名無しさん:2014/03/30(日) 23:46:50.36 ID:Cedx4uPz
PDFの作成の仕方が悪いに一票
GrapeCity ActiveReports(tm) for .NET
そのものが悪いか、設定が悪い。

ttp://www.antenna.co.jp/pdftooffice/trivia/conv_trivia02.html

というように、OCRにかけてやればいいみたいだよ?
880デフォルトの名無しさん:2014/03/31(月) 01:36:55.86 ID:d/a+5s4P
帳票作成するにはサードパーティしかないのですか?
881デフォルトの名無しさん:2014/03/31(月) 01:58:15.15 ID:RzO5wIQr
はい。私はあなたにとって第三者です。
いいえ。自分で自作して自分で使えばサードパーティ使わなくていいよ。

どっちで答えたら荒れるかなぁ
882デフォルトの名無しさん:2014/03/31(月) 07:55:11.47 ID:fqYUyeeR
MSにこだわるんならWordかExcelかAccessを使えばいい
883デフォルトの名無しさん:2014/03/31(月) 09:30:16.96 ID:e08Gdtti
MS製品で固めておくのが無難んだよなぁ
サードパーティ製品使うと、使ってる人が少ないから質問する場が凄く限られる
サポートがしっかりしていれば、問題無いんだけどね・・・
884デフォルトの名無しさん:2014/03/31(月) 15:19:37.34 ID:QgA/wEs6
いい製品と悪い製品の違いが大きすぎる。
885デフォルトの名無しさん:2014/03/31(月) 23:38:10.21 ID:d/a+5s4P
いい製品に出会った試しがない
886デフォルトの名無しさん:2014/04/01(火) 02:13:58.60 ID:t63tJkUI
>>885
他の製品使ったことないだけだろ (w
887デフォルトの名無しさん:2014/04/01(火) 08:50:38.61 ID:s0LS92Gs
{関数名,引数0,引数1,,,}
で関数として引数の中に関数を入れ子にして正規表現で簡単に処理する方法を教えてください
888デフォルトの名無しさん:2014/04/01(火) 09:20:14.52 ID:EAFhlYyb
日本語でおk!
889デフォルトの名無しさん:2014/04/01(火) 11:52:30.65 ID:uG5J4+vt
{RepeatString,あ,{Rnd,100}}
こういうのです
890デフォルトの名無しさん:2014/04/01(火) 12:23:31.61 ID:Ix/Np+Tk


他の言語で君の欲している機能を実装してるものはありますか?
あったら言語の名前と機能の名前を教えてください
891デフォルトの名無しさん:2014/04/01(火) 12:24:30.15 ID:Ix/Np+Tk
と思ったけど、デリミタが違うだけでlispだなこれ
892デフォルトの名無しさん:2014/04/01(火) 12:26:42.88 ID:t5sMce0r
まあ要するにS式のパースをしたいってことよね
https://web.archive.org/web/*/ttp://www.ibm.com/developerworks/jp/java/library/j-diag1211/
まえ書いたときはこの辺とか参考にした
893デフォルトの名無しさん:2014/04/01(火) 12:28:55.91 ID:t5sMce0r
なんか/*/の後ろのhが消えたけど気にしない
894デフォルトの名無しさん:2014/04/01(火) 14:52:03.01 ID:uG5J4+vt
>>892
S式という名称だったんですね、ありがとうございます。
早速見てみます。
895デフォルトの名無しさん:2014/04/02(水) 00:22:06.51 ID:kpyeeRem
正規表現っていつまでたっても進歩しないよな
やる気あんのかあいつ
896デフォルトの名無しさん:2014/04/02(水) 12:16:22.23 ID:0N7Ta5mu
以下のようなコードを書き、入れ子にしたListの情報を
foreach で取り出したいと思ったのですが、思惑通りにいきませんでした。
どのようなコードで取得出来るでしょうか?

public static void DataSet(List<Bm> dbPak)
{
foreach (Bm l1 in dbPak)
{
var para = l1.paramPack.param; <-ダメでした
}
}

public class Am
{
public Am(string param)
{
this.param = param;
}
public string param { get; set; }
}

public class Bm
{
public Bm(List<DBPara> paramPack)
{
this.paramPack = paramPack;
}
public List<Am> paramPack { get; set; }
}
897デフォルトの名無しさん:2014/04/02(水) 12:33:17.97 ID:MFjAMFxo
>>896
public static void DataSet(List<Bm> dbPak) {
foreach (var para in dbPak.SelectMany(b => b.paramPack)) {
//paraが使える
898デフォルトの名無しさん:2014/04/02(水) 13:01:47.61 ID:0N7Ta5mu
>>897
素早い回答ありがとうございます
おかげさまで動きました。。。が

ラムダ式をマスターしていないので
なぜ動くのかは解りませんでした

勉強になります
ありがとうございます
899デフォルトの名無しさん:2014/04/02(水) 13:08:46.47 ID:F9PNjbp9
変数に一つ一ついれてみて型を確認してみたら理解できるよ

>foreach (Bm l1 in dbPak)
>{
>var para = l1.paramPack.param; <-ダメでした
>}


l1.paramPackの型はなんだ
900デフォルトの名無しさん:2014/04/02(水) 15:03:43.62 ID:WejOsJ39
というか、パラメータを手打ちしてるの?
901デフォルトの名無しさん:2014/04/02(水) 19:12:10.13 ID:0N7Ta5mu
>l1.paramPackの型はなんだ

言われてみると
おかしなコード書いてました。

精進します

>というか、パラメータを手打ちしてるの?

「これで通ると思うのになー」というコードを書きましたが、
基本インテリセンスです。
902デフォルトの名無しさん:2014/04/02(水) 22:57:07.93 ID:53osF0Dh
ここの回答者におかしな奴がいるな。
システム屋さんって、こんな奴が多いのか?

ttp://bbs.wankuma.com/index.cgi?mode=al2&amp;namber=70474
903デフォルトの名無しさん:2014/04/02(水) 23:13:56.05 ID:YC2j6Atr
なるほど、そんな下らないことを貼ってるテメエはおかしな奴とは思わないんだ。
これがアスペ脳か。
904デフォルトの名無しさん:2014/04/02(水) 23:34:21.75 ID:+Ioim3Yi
狭い見識しか持っていないんだろう
井の中の蛙ってやつさ
905デフォルトの名無しさん:2014/04/02(水) 23:47:00.01 ID:aNx9C+Mf
丼の中の蛙といえば松屋。
906デフォルトの名無しさん:2014/04/03(木) 06:57:58.82 ID:+WemITXP
> 自分に対する質問には答えると言うのが自分の基本姿勢ですが、これ以上はこの掲示板に
> ノイズを増やして他の方の迷惑になるだけですので止めます。悪しからず。

もはや言い返せなくなったんじゃない?
これ以上ボロを出さないという意味では賢明だねw
907デフォルトの名無しさん:2014/04/03(木) 07:30:18.03 ID:9rp45yLz
わんくまだもん
お察しください
908デフォルトの名無しさん:2014/04/03(木) 09:37:44.74 ID:4xzvbUTm
他のスレでもこいつは質問内容をよく読まずに回答しているのか、
それとも思い込みで回答しているのか、
たまにとんちんかんな答えを出している。

思い込みで行動するのは、論理的な思考がなされないので、
頭を使うことがない。
アルツハイマーのリスクが高そうだなwww
909デフォルトの名無しさん:2014/04/04(金) 00:39:31.68 ID:K4XosEXF
わんくま(笑)
どぼん(爆)
910デフォルトの名無しさん:2014/04/04(金) 07:40:03.22 ID:dy/+FFqQ
今週末はRoslynを触…らなくてもいいか
いまさら感あるよな
911片山博文MZジェバンニ ◆T6xkBnTXz7B0 :2014/04/04(金) 10:36:20.98 ID:CAL3SSDr
大変だ、.netがネイティブになるらしいぞ!!
http://ufcpp.wordpress.com/2014/04/03/net-native/
912デフォルトの名無しさん:2014/04/04(金) 10:59:05.19 ID:iFOgWSsd
でもDirectXみたいに途中でサポートやめるんでしょう?
913デフォルトの名無しさん:2014/04/04(金) 13:49:07.75 ID:ZIYLiBEI
【プログラミング速報】.NET Frameworkがオープンソース化!MS,Mono,GitHubなどが.Net財団設立へ
http://maguro.2ch.net/test/read.cgi/poverty/1396585709/1
914デフォルトの名無しさん:2014/04/04(金) 15:21:59.43 ID:dy/+FFqQ
なんか必死だな
915デフォルトの名無しさん:2014/04/05(土) 12:43:24.31 ID:1WkruOLq
エロい人教えて
firebugとか火狐の要素解析からのネットワークとかのページロード情報を取りたい
キーワードかヒントお願い
916デフォルトの名無しさん:2014/04/05(土) 12:45:15.56 ID:7w5d8L3B
firebug→「ネット」タブ
「持続」をチェックしとくとなお良い
917デフォルトの名無しさん:2014/04/05(土) 14:03:38.25 ID:1WkruOLq
>>916
いや、firebugの使い方じゃなくてさ、C#でロードリストを取りたいんだが・・・
918デフォルトの名無しさん:2014/04/05(土) 15:21:08.34 ID:NnouwwX7
firefoxのアドオン作って通信させれば
919デフォルトの名無しさん:2014/04/05(土) 16:57:18.74 ID:EfFgQkIU
>当面ストアアプリ限定になってる理由の1つだと思うけど、ストアのサーバー上でクラウドコンパイル(Compile in the Cloud)する。依存先のライブラリが更新されたら自動でバイナリ更新。

勝手に更新とか不安すぎる
静的リンクしてるなら更新しなくてもいいじゃんか
920デフォルトの名無しさん:2014/04/05(土) 16:59:57.08 ID:LZvmCu+L
えw
921デフォルトの名無しさん:2014/04/05(土) 17:16:04.45 ID:87LqP25Z
どんな情報取りたいの?
>>915
922デフォルトの名無しさん:2014/04/05(土) 20:32:22.28 ID:9GqHwoX4
つーか.netのライブラリに依存してたらそれネイティブじゃないんじゃないか
923デフォルトの名無しさん:2014/04/05(土) 21:17:59.39 ID:1WkruOLq
>>921
Firebugで出せるようなWebPageのロードするリストを取りたい
924デフォルトの名無しさん:2014/04/05(土) 21:22:55.32 ID:87LqP25Z
Fiddler Core使うじゃダメ?
925デフォルトの名無しさん:2014/04/05(土) 21:26:20.12 ID:dKC9YJas
>>923
Firebugはオープンソースなんだから答え見ればいいじゃん
Firebugを弄って、C#のアプリを起動して解析結果のダンプを渡すようにするくらいなら難しくないでしょ
926デフォルトの名無しさん:2014/04/05(土) 21:30:38.29 ID:1WkruOLq
>>924
おお、これこれ
ありがと
927デフォルトの名無しさん:2014/04/06(日) 21:53:23.27 ID:yJzbed3R
.NetよりVB6のコンパイラをオープンソースにして欲しいよ
928デフォルトの名無しさん:2014/04/06(日) 22:00:02.79 ID:CO3q3128
あんなもんCOMの化け物だからコンパイラだけあったところでクソの役にも立たん
929デフォルトの名無しさん:2014/04/06(日) 22:07:46.65 ID:tUu4o0lA
VB6で作った資産が多すぎて世界中からクレームが集中したせいで
MSDN限定提供を再開したぐらいだからな。VB6の禍根は大きい。
930デフォルトの名無しさん:2014/04/07(月) 10:24:30.97 ID:wKuIb640
確かにVB6は便利だったなー
931デフォルトの名無しさん:2014/04/08(火) 02:21:53.04 ID:a6XK4Xv5
ここでいいのかわからんけど、log4net以外にロギングに便利なものって何か無いかな?
システムのeventlogとかもっと手軽に使えたら良いのになぁ
932デフォルトの名無しさん:2014/04/08(火) 06:49:49.52 ID:tpekObTx
TraceSource
933デフォルトの名無しさん:2014/04/08(火) 21:35:25.82 ID:oIH/hQKP
素人質問で恐縮ですが、
下のようなコードを書いたのですが
「TestAに引数を1個指定できるコンストラクタだありません」と
怒られてしまいます。

Listの中に、TestA クラスを含めるには
どうしたら良いのでしょうか?

public partial class Form1 : Form
{
private void button1_Click(object sender, EventArgs e)
{
var ListTest = new List<TestA>();

ListTest.Add(new TestA(10));

}
}

class TestA
{
public int a { get; set; }
}
934デフォルトの名無しさん:2014/04/08(火) 21:46:10.61 ID:V1A5Bvcp
>>933
初心者はふらっとスレの方がいいよ
var testA = new TestA();
testA.a = 10;
ListTest.Add(testA);
935デフォルトの名無しさん:2014/04/08(火) 21:46:21.88 ID:tpekObTx
class TestA
{
public int a { get; set; }
public TestA(int a){
this.a=a;
}
}

リストとか全く関係ない
936デフォルトの名無しさん:2014/04/08(火) 22:03:13.77 ID:oIH/hQKP
ご回答ありがとうございます。

いずれの方法でも実装が出来ました。
助かりました。

実は、下のHPを参考にコードを書いてみたのですが、
コンパイル通るのかな?と疑問に思いましたので質問しました。
http://programmers.high-way.info/cs/list-sort.html

いずれにしても、初歩的な質問は、次から
ふらっとの方にしたいと思います。
937デフォルトの名無しさん:2014/04/08(火) 22:24:35.72 ID:TQ87Mevk
メモリが勿体無いからマルチバイトで文字列を保持したいのだけどstringにそんなオプションはないのかな?
938デフォルトの名無しさん:2014/04/08(火) 22:28:51.10 ID:5i4rVKJ4
>>937
意味分かりませんが...
939デフォルトの名無しさん:2014/04/08(火) 22:36:00.71 ID:bUPeCURo
マルチバイトってutf-8?
そんなの無かったはず。
940デフォルトの名無しさん:2014/04/08(火) 22:37:40.15 ID:Bi2RyCEo
sharpdevelop使ってるか?
941デフォルトの名無しさん:2014/04/09(水) 01:32:35.54 ID:PHct9kF7
>>937
文字列まで切り詰めなきゃいけないようなメモリクリティカルな環境でC#など使ってはいけない。
942デフォルトの名無しさん:2014/04/09(水) 06:18:19.58 ID:eKV6ate5
>>937「ノートが勿体ないからチラシの裏で勉強したいんだけど、そんなオプションはないのかな?」

お母さん「馬鹿なこと言ってないで宿題やっちゃいなさい」
943デフォルトの名無しさん:2014/04/09(水) 06:39:31.80 ID:zyxn12EM
.NETのプログラム起動した時点で何MB食ってるかよく観察してみろよ
そんな認識だと吐くぞ
944デフォルトの名無しさん:2014/04/09(水) 10:36:23.10 ID:+JqWH5tw
charでもbyteでも好きなの使えばよろし
俺なら投げ捨てるがw
945デフォルトの名無しさん:2014/04/09(水) 17:54:52.53 ID:lvO8yNj8
charは2バイトだったかと思うから、byteの配列かなんかで頑張れば良いかな。
946デフォルトの名無しさん:2014/04/09(水) 18:30:13.90 ID:PHct9kF7
よほど大量の文字列をメモリ内に保持する必要があって、しかも読み出しや検索の速度を犠牲にしてでも
メモリを節約したい場合なら、そういう最適化にも意味があるかもね。
947デフォルトの名無しさん:2014/04/09(水) 18:56:09.59 ID:fBP+BGwa
ASCII限定なら1文字7bitだから頑張ればテキストファイルより小さくできるね
948デフォルトの名無しさん:2014/04/09(水) 20:09:55.75 ID:TDs0SH97
>>947
適当な圧縮アルゴリズム持ってきた方が早くね?
949デフォルトの名無しさん:2014/04/10(木) 00:32:19.65 ID:2fGnQMua
こういうコード書いたらフォルダが再作成されないんですけど
正確にはDeleteが非同期に動いてるぽいんですけどそんなことどこにも書いてないじゃんよー

if(Directory.Exists(path))
{
Directory.Delete(path,true);
}
Directory.CreateDirectory(path);
950デフォルトの名無しさん:2014/04/10(木) 00:46:40.57 ID:QbNxa+16
>そんなことどこにも書いてない

ならマイクロソフトにバグ報告して修正させろ
951デフォルトの名無しさん:2014/04/10(木) 09:57:49.99 ID:M2hIxtnq
>>947
そりゃUTF-8の話じゃ?
952デフォルトの名無しさん:2014/04/10(木) 11:03:29.96 ID:HgH2pRgY
>>949
ファイルみたいに書き込みを行わなきゃ行けなかったりしないの?
953デフォルトの名無しさん:2014/04/12(土) 00:47:49.66 ID:IW22WK7d
100 * 2.71が、271にならずに、270になっちゃう。
duoble型を使っているからそうなってしまうらしい。
decimalを使うと良いらしい。

分かりやすい説明をください。
954デフォルトの名無しさん:2014/04/12(土) 00:50:20.18 ID:SON73y/b
浮動小数点数 誤差
で検索
955デフォルトの名無しさん:2014/04/12(土) 01:54:35.82 ID:mS/BBU/2
丸めるべきところで切り捨ててるだけでしょ
956デフォルトの名無しさん:2014/04/12(土) 02:43:30.85 ID:hPdTJsHF
Icon.Saveってバグってます?なんか灰色で保存されるので解決する方法があればお願いします。
957デフォルトの名無しさん:2014/04/12(土) 05:33:12.88 ID:4GGu/JuK
>>953
残念ながら君にプログラミングは向いていない
958デフォルトの名無しさん:2014/04/12(土) 06:25:43.36 ID:EWT/9iBD
>>957
死ねよ

>>956
色数が落とされてるんじゃないの
16bitになってるとか
元データは何よ
959デフォルトの名無しさん:2014/04/12(土) 09:49:59.64 ID:zPSN7gUP
浮動小数点数の問題はマジどうにかならんのかな。
いろいろ考える必要があってめんどい。
960デフォルトの名無しさん:2014/04/12(土) 09:59:22.23 ID:SON73y/b
BigInteger使って分数クラスでも作れば
961デフォルトの名無しさん:2014/04/12(土) 10:58:58.75 ID:hPdTJsHF
>>958
シェルが拾ってくる拡張子に対応するアイコンやけど
SystemIconsとかから持ってきたのでもあかん
using(var ico = System.Drawing.SystemIcons.Application)
using (var stream = System.IO.File.Create(@"E:\" + Guid.NewGuid().ToString() + ".ico"))
using (var stream2 = System.IO.File.Create(@"E:\" + Guid.NewGuid().ToString() + ".png"))
{
    ico.Save(stream);
    ico.ToBitmap().Save(stream2, System.Drawing.Imaging.ImageFormat.Png);
}
962デフォルトの名無しさん:2014/04/12(土) 11:35:57.41 ID:EWT/9iBD
>>961
仕様みたいですな
963デフォルトの名無しさん:2014/04/12(土) 12:49:05.42 ID:VQjl7ezR
マジですCAR
964デフォルトの名無しさん:2014/04/12(土) 17:29:51.29 ID:ksUHO64w
>>953
ならない件
965デフォルトの名無しさん:2014/04/12(土) 17:40:43.00 ID:yl1h8za8
そりゃなるわけない。

計算機の実数の扱い方は理系の学部の1年で習う実験数値の扱いの考え方とほとんど同じで
たいして難しい話じゃないけど、そういうの知らないと厳しいのかもね。
966デフォルトの名無しさん:2014/04/12(土) 18:33:52.86 ID:ksUHO64w
decimalを使いたいなら100m * 2.71mでいいんだけどね
967デフォルトの名無しさん:2014/04/12(土) 19:42:27.49 ID:qECN56MV
>>931
NLogはどう?
968デフォルトの名無しさん:2014/04/13(日) 11:51:04.60 ID:VrI+9WRO
IList<T>.ToArray() って書くとlinqのほうのEnumerable.ToArray<T>
が呼ばれちゃって遅いんだけど! 

実装がT[]だったらそのままとか
List<T>だったらList<T>.ToArray()を返してくれるとかだったらよかったのにー
969デフォルトの名無しさん:2014/04/13(日) 12:11:15.97 ID:PYHY3KdE
気のせいだろ
EnumerableのToArrayはthisがIList<T>ならCopyToを使う実装だから
970デフォルトの名無しさん:2014/04/13(日) 12:18:22.43 ID:3q37BLY/
測定したコードがアホで本当に遅いかもしれないだろ!
実データも見る前から気のせいと言い切るな!

ということで測定コードクレクレ
971デフォルトの名無しさん:2014/04/13(日) 12:51:46.44 ID:v/wIIqGF
972デフォルトの名無しさん:2014/04/13(日) 15:23:50.81 ID:9qNTSaXc
>>971
すんげえ遅そうなコードだな
973デフォルトの名無しさん:2014/04/14(月) 21:29:03.44 ID:193qvgPD
実装はBufferのコンストラクタで>>969の通りじゃん
Bufferは構造体だからnewはコスト無いし
974デフォルトの名無しさん:2014/04/14(月) 21:34:05.02 ID:HEj1UG9r
だからコードがアホに決まってるから早く見せろって言ってんじゃん
笑わしてくれよ
西村みたいに
975デフォルトの名無しさん:2014/04/14(月) 22:26:09.96 ID:193qvgPD
>>971のコード綺麗だな
保守性重視の超素直な作りだけど細かく追っていくとちゃんと効率的なコードになってる
976デフォルトの名無しさん:2014/04/17(木) 20:25:58.90 ID:AL9CoBS1
命名スレがあるのは知ってるがあえてこっちで質問。

BCLのクラスのvoidを返すメソッドの、処理は同じでthisを返すようにしたバージョンを
拡張メソッド等で追加したい場合が稀にあると思うんだけど(例えば、そうすることでそのメソッドを
呼び出し済みの状態で変数をインラインで初期化したりできるようになるから)、こんな場合、
その追加したthisを返すメソッドの名前ってどうしてる?

例えばThread.StartとかFreezable.Freezeのthisを返すバージョンならどういう名前を付ける?
977デフォルトの名無しさん:2014/04/17(木) 20:27:20.93 ID:iPUv3pbV
そんなよくわからないことはしない
978デフォルトの名無しさん:2014/04/17(木) 20:29:16.20 ID:rRZEHqCS
何の意味もない拡張メソッド作ってまでインライン化しないだろ…
979デフォルトの名無しさん:2014/04/17(木) 20:49:25.85 ID:N1Srpcxj
StartAndReturnSelfObjectForInline
980デフォルトの名無しさん:2014/04/17(木) 21:17:56.83 ID:3ZJR1sBx
Thread CreateRunningThread()
Freezable CreateFrozen()
981デフォルトの名無しさん:2014/04/18(金) 02:06:52.26 ID:eVlBfPwA
982デフォルトの名無しさん:2014/04/18(金) 09:22:31.48 ID:TXiJG1g/
thisを返してるだけなのにCreateは嫌だ
983デフォルトの名無しさん:2014/04/18(金) 10:17:04.73 ID:RJoHb8Nd
ああthisか
984デフォルトの名無しさん:2014/04/19(土) 06:31:09.89 ID:lMAR6Azt
まだですか
985デフォルトの名無しさん:2014/04/19(土) 09:54:39.08 ID:+cER51WV
WindowsAPIのEnumWindows関数を使って
IEnumerable<IntPtr> を返す遅延評価のメソッドを作ることってできるかな?
986デフォルトの名無しさん:2014/04/19(土) 10:25:31.29 ID:p/+J49HH
>>985
できる
987デフォルトの名無しさん:2014/04/19(土) 11:03:04.87 ID:+cER51WV
お願いします

     ___
    /   \
   / /    ヽ_
  //⌒ヽ    ノ|)
  // ̄\|  _///フ
  /   ヽ/ |廴/
 |    |) |/
  レ ||||ノ ノ
  ヽN/ノ L/
988デフォルトの名無しさん:2014/04/19(土) 13:27:39.01 ID:+cER51WV
つーかトップレベルウィンドウでもFindWindowEx使えるのか
子ウィンドウしか使えないのかと思ってた。。
EnumWindowsじゃなくてFindWindowEx使ってできました

IEnumerable<IntPtr> EnumerateWindow( string className )
{
 IntPtr hwnd = IntPtr.Zero;
 while( ( hwnd = FindWindowEx( IntPtr.Zero, hwnd, className, null ) ) != IntPtr.Zero )
 {
  yield return hwnd;
 }
}
989デフォルトの名無しさん:2014/04/19(土) 15:20:05.39 ID:0Td6VAgL
990デフォルトの名無しさん:2014/04/19(土) 23:06:31.67 ID:/1CmG2Qn
991デフォルトの名無しさん:2014/04/20(日) 02:21:12.03 ID:if4VjE+B
992デフォルトの名無しさん:2014/04/20(日) 02:53:46.68 ID:ekNgbe08
埋める前にまず次スレを立てろよ
993デフォルトの名無しさん:2014/04/20(日) 07:00:54.78 ID:if4VjE+B
↓ テンプレート修正してね ↓
994デフォルトの名無しさん:2014/04/20(日) 08:08:22.52 ID:tLxbFHYI
995デフォルトの名無しさん:2014/04/20(日) 10:49:26.28 ID:6yxELQ9C
おつ
996デフォルトの名無しさん:2014/04/20(日) 11:15:55.32 ID:ekNgbe08
997デフォルトの名無しさん:2014/04/20(日) 12:09:27.93 ID:NkZ8yLaE
998デフォルトの名無しさん:2014/04/20(日) 21:28:31.36 ID:s7GLwYNu
999デフォルトの名無しさん:2014/04/20(日) 21:43:11.43 ID:if4VjE+B
1000デフォルトの名無しさん:2014/04/20(日) 22:01:43.89 ID:X23Clxno
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。