ふらっとC#,C♯,C#(初心者用) Part39 at TECH
[2ch|▼Menu]
1:デフォルトの名無しさん
09/03/15 02:19:33
このスレッドは
「どんなにくだらないC#プログラミングに関する発言でも誰かが優しくレスをしてくれるスレッド」です。
ほかのスレッドでは恐ろしくて書き込めないような低レベル、もしくは質問者自身なんだか意味がよく分からない質問など、
勇気をもって書き込んでください。
内容に応じて、他スレ・他板へ行くことを勧められる、あるいは誘導される場合がありますがご了承下さい。

>>980を踏んだ人は新スレを建てて下さい。
>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。

前スレ

ふらっとC#,C♯,C#(初心者用) Part38
スレリンク(tech板)

2:デフォルトの名無しさん
09/03/15 02:19:41
-----関連スレ

C#, C♯, C#相談室 Part51
スレリンク(tech板)

WPF(XAML,XBAP,.NET3.5)GUIプログラミング Part3
スレリンク(tech板)

初心者のためのプログラミング言語ガイド Part14
スレリンク(tech板)

----参考サイト

URLリンク(www.google.co.jp)
URLリンク(msdn.microsoft.com)
URLリンク(homepage3.nifty.com)
URLリンク(www.atmarkit.co.jp)
URLリンク(dobon.net)
URLリンク(jeanne.wankuma.com)
URLリンク(www.labasp.net)


3:デフォルトの名無しさん
09/03/15 02:25:39
いちおつ

4:デフォルトの名無しさん
09/03/15 02:26:04
前スレ>>995
でも2〜3秒待たされますよ?フリーズしたような気分になります。
普通のソフトならほぼ一瞬なのですが。

前スレ>>996
しばらくはいいのですが、時間が経つとメモリから消えてしまうのか、
再び起動が遅くなります。

5:デフォルトの名無しさん
09/03/15 02:26:36
1Z。

前スレ最後はキナ臭かったが、まったりと頼むよ。

6:デフォルトの名無しさん
09/03/15 02:27:19
2〜3秒待てないって完全にマジキチだろw

7:デフォルトの名無しさん
09/03/15 02:28:43
>>4
ああ、それならそのPCがどこかおかしいわ
俺のP8600の非力なノートで起動は1秒もかからないよ

一度他人のPCで起動してみたら?

8:デフォルトの名無しさん
09/03/15 02:29:07
.NETを疑うよりより統合失調症を疑った方が良いんじゃないか。

9:デフォルトの名無しさん
09/03/15 02:30:10
>>6
2〜3秒かかることが問題というか、非.NETアプリに比べて起動が圧倒的に遅いのが気になるんです。
実際これは自分だけじゃなくて、2chやどっかのブログでもよく言われていることだと思います。
結構大きな問題だと思うのですが…。

10:デフォルトの名無しさん
09/03/15 02:31:35
>>9
俺のP8600の非力なノートで起動は1秒もかからないよ

11:デフォルトの名無しさん
09/03/15 02:32:17
煽りが増えてきました。
どっから沸いてきてんだよ。

12:デフォルトの名無しさん
09/03/15 02:33:12
>>10
.NET 起動 遅い
URLリンク(www.google.co.jp)

ググると同様の感想を持ってる人が少なくありません。レアケースではないと思うのですが?

13:デフォルトの名無しさん
09/03/15 02:33:58
2〜3秒起動が遅れることで1万円の損失でも発生してるとかいうのなら問題かもしれん。

でもそういうわけじゃないだろ。

深呼吸でもすれば起動してるんだから。

14:デフォルトの名無しさん
09/03/15 02:35:54
大きな問題って何よ。
お前は「気になる」としか言ってないだろ。

15:デフォルトの名無しさん
09/03/15 02:36:25
>>12
誰も遅くないなんていってないよ

2〜3秒もかかるほど遅くないっていってんの
そんだけかかるってことは、そのソフトが何かおかしいか、あなたのPC環境がおかしい

だって俺のP8600の非力なノートでは1秒もかからないで起動するもの

16:デフォルトの名無しさん
09/03/15 02:36:40
>>13
いや、一回起動しておしまいならそれでいいんです。
でもメモ帳のように、起動と終了を気軽に繰り返すには気になる、ということです。
一度起動するとしばらくは再起動も速いですけど、しばらくすると元に戻ってしまいますし。

17:デフォルトの名無しさん
09/03/15 02:38:55
で、2秒間の損失はおいくらですか?

18:デフォルトの名無しさん
09/03/15 02:39:20
>>15
俺のPCでも2秒くらいかかるが。
VistaだったらOSロード時にコンポーネントを同時起動するから速いらしい。

19:デフォルトの名無しさん
09/03/15 02:41:03
アプリの中身にもよるだろうなあ
起動時にコードを山ほど詰め込んであれば当然遅くなるわけだし

>>18
SuperFetchってやつだっけ

20:デフォルトの名無しさん
09/03/15 02:41:14
そもそも起動と終了を頻繁に繰り返すような構造なら常駐させるべきだと思うけど。
前提からしておかしい。

21:デフォルトの名無しさん
09/03/15 02:41:40
>>18
E7200のXPだが一瞬だぜ
そのソフトだけじゃないの?

質問者は「どんな小さなアプリでも」だぜ?

22:デフォルトの名無しさん
09/03/15 02:42:28
Vista だとそこそこデスクトップでよく使うソフトは大体一瞬に
なってしまうね。今試したら VS 2008 で一回目が 2-3 秒ぐら
い、2回目だと 1秒ぐらいな感じだった。


23:デフォルトの名無しさん
09/03/15 02:44:04
>>20
それはないわ。
画像ビューアやテキストエディタまで常駐させろってか?

24:デフォルトの名無しさん
09/03/15 02:44:12
なんか伸びてると思ったら何だこれは・・・

25:デフォルトの名無しさん
09/03/15 02:45:33
頻繁だったら常駐でいいんじゃないか?
俺はテキストエディタを常駐させてるぞ

26:デフォルトの名無しさん
09/03/15 02:47:50
特定の使い方をすると重くなるって言うのもなんか外してる気がしないでもないなあ。

27:デフォルトの名無しさん
09/03/15 02:49:54
アンチウィルスで、いちいちスキャンする奴は起動が遅くなるときあるよな
あと他のリソースがHDDを動作させてるとき

これと別になんか起動が遅くなったなぁと思うときは、HDDの故障の前触れ

28:デフォルトの名無しさん
09/03/15 02:50:47
>>23
そういう使い方を前提としたソフトをC#で書くなら
考慮した書き方はいくらでもあるだろと言いたいのよ

真意が伝わりにくかった事は詫びよう

29:デフォルトの名無しさん
09/03/15 02:53:06
んで、起動は別にc++でもmfc使ってる限りは、.netとそんなにかわらない?
それでも.netのほうが多少は遅いの?

30:デフォルトの名無しさん
09/03/15 02:53:52
>>26
そんなに特別な話ではないと思います。
関連付けてエクスプローラからカチカチするようなアプリだと、よくある使い方です。

31:デフォルトの名無しさん
09/03/15 02:56:55
そろそろめんどくさくなってきたな。

不満ならお前が使わなければいい。

使ってくれと土下座されてるわけでもないだろ。

32:デフォルトの名無しさん
09/03/15 02:58:08
ケチ付けたいだけみたいだからもう良いよ

33:デフォルトの名無しさん
09/03/15 02:59:22
javaアプリのほうがもっと遅いよな
そう考えるとネイティブコンパイルできるC++かDelphiしか解決法はないということか。

34:デフォルトの名無しさん
09/03/15 02:59:30
APIスレに沸く.NET厨も酷いがこれも酷いなw

結局「気になる」以上の不満は無いんだろ。

35:デフォルトの名無しさん
09/03/15 03:02:10
煽ってる奴も大概だと思う。

36:デフォルトの名無しさん
09/03/15 03:02:50
で、遅いの?遅くないの?

37:デフォルトの名無しさん
09/03/15 03:03:29
遅いよ。超遅い。デラ遅い。
だから素人は使わないで。

38:デフォルトの名無しさん
09/03/15 03:06:00
遅いの定義次第だな
何を持って遅いとするのか

39:デフォルトの名無しさん
09/03/15 03:09:44
知らないならレスしないで下さい。ウザイだけです。

40:デフォルトの名無しさん
09/03/15 03:12:23
↓今日一番非生産的なレス
知らないならレスしないで下さい。ウザイだけです。

41:デフォルトの名無しさん
09/03/15 03:13:57
じゃあそのレスもらいます

42:デフォルトの名無しさん
09/03/15 03:15:20
ウザイと思う奴はウザイという書込をみてウザイと思わないのかね

43:デフォルトの名無しさん
09/03/15 03:18:04
OKWAVEでやれ

44:デフォルトの名無しさん
09/03/15 03:43:52
結局、具体的になんの.NETアプリが遅いのか教えてよ。


45:デフォルトの名無しさん
09/03/15 03:48:49
>>29
起動ってのが例えばウインドウが表示されるまでだとしたら、
ウインドウを表示するコードもJITコンパイルされるので.netの方が遅いよ。

つーかね、そんな事気にしてたらこの先Windows使えないっすよ。

46:デフォルトの名無しさん
09/03/15 04:22:22
>>45
起動を別にって言ってるのにそういう例を提示するということは、
一つのアプリがフォームを新たに表示しようとするたびにコンパイルされて
表示が遅いということだな?

47:デフォルトの名無しさん
09/03/15 04:39:25
プロジェクトが2つあって一つがクラスライブラリなんですが
クラスライブラリの出力タイプを持つプロジェクトを直接起動することはできませんとでて実行できません
F5押したときにもう一方のプロジェクトだけ起動するようにするにはどうすればいいんですか?

48:デフォルトの名無しさん
09/03/15 04:41:13
ソリューションのプロパティスタートアッププロジェクトの設定で解決しました

49:デフォルトの名無しさん
09/03/15 04:44:33
ファイルは必ずnamespaceのなかにクラス作らなきゃいけないんですか?


50:デフォルトの名無しさん
09/03/15 05:28:45
スレッド セーフってなんですか?

51:デフォルトの名無しさん
09/03/15 05:31:15
"必ず"ではない。
だが、たいていの人は名前空間を必ず指定する。

52:デフォルトの名無しさん
09/03/15 05:40:42
ユーザから見たら起動が遅いってのはストレスだからなぁ。
個人的には解決したい事項の1つ。ngenはあまり効果ないみたいだし。
exeがクリックされたら、アンマネージでスプラッシュWindow出しつつ
裏で.NET起動とか、なんか体感速度的にでもごまかす方法ないかなぁ。
あ、でも、頻繁に起動するアプリでスプラッシュWindowは返ってウザイか。
Windowの閉じるボタン押されたらとりあえず非表示にして、
裏でタイマー回して1時間後に終了とか。

53:デフォルトの名無しさん
09/03/15 05:53:03
仕組みがよくわからないんですが、namespaceは同じで2つのファイルにクラスをそれぞれ作った場合
同じプロジェクト内の第3者ファイルで使う場合はusingで名前を指定しなくても2クラスとも使えるようになりますよね
最初にusingでいっぱい指定してある奴ってどこにあるプロジェクトなんですか?
同じソリューションで2つプロジェクトを作って、片方のプロジェクトからもう一方のプロジェクトのクラスが見えないんですけど
usingしてから使おうとしても現在のコンテキスト内に存在しませんといわれるんですが、どういうことですか?




54:デフォルトの名無しさん
09/03/15 05:53:18
.NETアプリってなんで起動読み込み時にマウスカーソルの砂時計状態が普通のカーソルに戻るんだろ?
それのおかげで起動したのか、ダブルクリック失敗したのか迷うことがある

55:デフォルトの名無しさん
09/03/15 06:03:04
単語をクリックしたときにダイナミックヘルプにいろいろ出てきますが、
これの項目が2重にダブってて、中をよく比べたら
.NET Framework クラス ライブラリ
Silverlight 用 .NET Framework クラス ライブラリ
の2つが同時に表示されてるんですが、Silverlight 用だけ表示させないようにするにはどうすればいいんでしょうか

56:デフォルトの名無しさん
09/03/15 06:03:42
>>53 つ参照

57:デフォルトの名無しさん
09/03/15 06:38:26
プロジェクトのConsoleApplication1を
プロジェクトのConsoleApplication2の参照に追加できましたが、
using ConsoleApplication1;
と書いてもConsoleApplication1の中のクラスが使えるようになりません。あとどうすればいいですか?


58:デフォルトの名無しさん
09/03/15 06:40:32
クラスをpublicにすればいい


59:デフォルトの名無しさん
09/03/15 07:15:44
できました。ありがとうございました

60:デフォルトの名無しさん
09/03/15 07:25:03
public class Class1 {
 int a = 1;
 public void num() {
  int b = new int();
  b = 2;
  int c = 3;
 }

 public void test() {
  Console.Write(a);
  Console.Write(b);
  Console.Write(c);
  String name = Console.ReadLine();
 }
}
これの
Console.Write(b);
Console.Write(c);
のbとcで、コンテキスト内に存在しませんとエラーが出るんですが
どうすれば他のメソッドの変数が使えるようになりますか?

61:デフォルトの名無しさん
09/03/15 07:26:41
なりません

62:デフォルトの名無しさん
09/03/15 07:28:51
メソッドから出せ
public class Class1 {
 int a = 1;
 int b;
 int c;
 public void num() {
  b = 2;
  c = 3;
 }

 public void test() {
  Console.Write(a);
  Console.Write(b);
  Console.Write(c);
  String name = Console.ReadLine();
 }
}

63:デフォルトの名無しさん
09/03/15 07:31:00
なんという初心者らしい質問
おじさんの髪の毛に希望ができたよ

64:デフォルトの名無しさん
09/03/15 07:32:18
なごむ(´ω`)

65:デフォルトの名無しさん
09/03/15 08:58:21
メソッドの変数は外と連絡とれないんですね。
ということはnewは省略可能なだけってことなんですねありがとうございました。

public class Class1 {
 public int b = new int();
 public Class1() {
  b = 1;
 }
 public void num() {
  b = 2;
 }
}

class Program2 {
 static void Main(string[] args) {
  String name;
  Class1 cls = new Class1();
  using (Class1 cls2 = new Class1()) {
   cls2 = cls;
   cls.num();
   Console.Write(cls2.b);
  }
  cls2.num();
  Console.Write(cls2.b);
  name = Console.ReadLine();
 }
}

これのusingでエラーがでるんですが、IDisposeへの変換が可能でなければならないってどういうことですか?


66:デフォルトの名無しさん
09/03/15 09:31:11
すいませんIDisposableの派生クラスにしたらできました。

67:デフォルトの名無しさん
09/03/15 16:25:35
何の本見て勉強したんだか分からんが、
new int()とか、何も分かってないのにIDisposeだの
基礎がガタガタなので、何か本買って勉強し直すといいよ。

68:デフォルトの名無しさん
09/03/15 16:28:48
new int()

これコンパイル通るのか?

69:デフォルトの名無しさん
09/03/15 16:29:22
通るよ

70:デフォルトの名無しさん
09/03/15 16:32:58
using (Class1 cls2 = new Class1())
……何がやりたいのかさっぱり分からない。

71:デフォルトの名無しさん
09/03/15 16:37:29
何のためにusingしてるのか良く分からん

72:デフォルトの名無しさん
09/03/15 17:30:01
Linux上でもMonoのAOTコンパイラを使うとネイティブコードが作れると聞きましたが
VM上のJITコンパイラやC++と比較してパフォーマンスはどの程度期待できるでしょうか


73:デフォルトの名無しさん
09/03/15 17:36:19
値型と参照型の違いが分かってないとか?
new int()なんて通すなよ

74:デフォルトの名無しさん
09/03/15 17:40:54
そんな責めるなよw

75:デフォルトの名無しさん
09/03/15 18:04:38
別にSystem.Int32のコンストラクタ呼んだっていいじゃん。
値型はコンストラクタ呼べないとでも思ってるのか?

Point p = new Point();

全然おかしくない。

76:デフォルトの名無しさん
09/03/15 18:48:29
75はC++/CLIをやると、愕然とすると思う。

77:デフォルトの名無しさん
09/03/15 19:03:23
C++ は new の有無で値型か参照型(ヒープにメモリアロケート)か区別するけど、
其の文化が C# にはないからなぁ。

78:デフォルトの名無しさん
09/03/15 21:32:44
C#スレを見ると当たり前のようにラムダ式とかFuncとか使ってるけど、
.NET3.0以上を入れないとそのアプリを利用できないことはスルー?
特定の人向けの場合は別として、そのためだけに新しく.NETを入れさせるのってどうなのよ?
一般向けのフリーソフトを作りたい場合はせめて2.0までの構文で抑えるべきだと思うんだが。

79:デフォルトの名無しさん
09/03/15 21:37:43
これはひどい
昨日のネタはいいところを突いてきたと思ったんだが

80:デフォルトの名無しさん
09/03/15 21:38:10
Vista なら、3.0 は最初っから入ってるし・・・

81:デフォルトの名無しさん
09/03/15 21:45:31
まだXPの人も多いでしょ。
実際、「動作には.NET2.0以上が必要です」って書いてあるだけで興味失う人も多いようだが?
そろそろ普及してきた感のある2.0ですらそうなんだから、3.0とかありえないレベルだろ。
自動アップデートじゃ入らないんだから、入れてない人もかなりいるはずだし。

82:デフォルトの名無しさん
09/03/15 21:48:54
言わんとすることは理解できる。が、ここは「C#でフリーソフトを作ろう」スレじゃないしな・・・
使える範囲で使えばいいだけだろ。

それを踏まえると、質問するのにあたって、「C# 2.0 で」って指定はありだろうね。

83:デフォルトの名無しさん
09/03/15 21:49:23
実際にやってみてから言え、クソが

84:デフォルトの名無しさん
09/03/15 21:49:29
Windows 7 だと 3.5SP1 かな。
個人的にゃそんなこと気にするやつなら初めから C++ で作るので
どうでもいいが。
もっというとどうせインストーラ作らなきゃいけなくてそこで入れるだけ
だからさらにどうでもいいが。


85:デフォルトの名無しさん
09/03/15 21:50:03
.net3.0インストールしたくないなら.net3.0アプリ使わなきゃいいんだし。
.net3.0アプリ使いたければ.net3.0インストールすればいいんだし。
使うかどうかは自由じゃないか?

86:デフォルトの名無しさん
09/03/15 21:52:21
.NETまで勝手に入れるインストーラとかウザすぎだわ

87:デフォルトの名無しさん
09/03/15 21:52:54
Microsoftに聞いてください

88:デフォルトの名無しさん
09/03/15 21:54:45
あと.NET 2.0対象でもコンパイラで完結する機能は使用可能なことをお忘れ無きよう。

89:デフォルトの名無しさん
09/03/15 22:29:51
WinForms
ボタンを押したらアニメーションを再生/一時停止するような
プログラムを作るにはどうすればいいですか?

90:デフォルトの名無しさん
09/03/15 22:32:27
ASP.NET
ボタンを押したら牛丼が出来上がるよな
プログラムを作るにはどうすればいいですか?

91:デフォルトの名無しさん
09/03/15 22:40:38
自動アップデートで3.5入ってるだろ

92:デフォルトの名無しさん
09/03/15 22:40:48
C++で作ったクラスやlibファイルはC#で使えるの?

93:89
09/03/15 22:42:41
×WinForms
○WinFormsで

//Form1.Desginer.cs
this.Click += new System.EventHandler(this.Play_Clicked);
//Form1.cs
private void Play_Clicked(object sender, EventArgs e)
{
}

↑この関数の中でどうやってアニメーションを開始すれば?

94:デフォルトの名無しさん
09/03/15 22:46:33
>>89
マネージドなコントロールはないと思うんで、Media Player を埋め込みで。

>>92
無理

95:デフォルトの名無しさん
09/03/15 23:17:51
>>78
ラムダ式は.NET2.0でも使える。

96:デフォルトの名無しさん
09/03/15 23:29:37
>>46
違います。初めて実行する処理が遅いだけです。
フォームの表示であれば、違うフォームでも表示するコードは内部で共通なので2枚目以降はそれほど遅くないでしょう。

それと、なぜmfc使ってる場合と比較したがるのかよく分からないのですが。

97:デフォルトの名無しさん
09/03/15 23:36:10
>>96
Vistaなら早いよ(^O^)
まぁそういう事なんでしょう…

98:デフォルトの名無しさん
09/03/15 23:59:49
>>96
遅いです。問題視しました。これでいいのか?
どういう方向に話しを持って行きたいのかさっぱりわからない。

99:デフォルトの名無しさん
09/03/16 00:03:20
>>96
C++でMFC使わずWinAPI直に使うとか・・生産性悪すぎて話しにならん
同等の機能を実現するのにC#とは比べ物にならんくらいの時間と労力がいる。

ここはプログラムを"作る人"のための板なわけだが、お前さんは作った事あるのか?
ソフトウェア板にでも行った方が良くないか?

100:デフォルトの名無しさん
09/03/16 00:08:00
質問です。
VS2008 .NET3.5でWebClietnを使ってます。

WebClientはDownloadData()と
DownloadFile()の二つのメソッドを実行します。

DownloadDataは問題ないのですが
アプリをWindowsVistaからproxyサーバを介して
DownloadFileを実行すると
「サーバーによってプロトコル違反が発生しました。
Section=ResponseStatusLine」
という例外が発生します。
WindowsXPでは発生しません。
proxyサーバはubuntu8でsquidを使用しています。

WebClientからこれを回避する方法をどなたかご教授ください。
よろしくお願いします。

101:デフォルトの名無しさん
09/03/16 00:16:54
>>98
>遅いです。問題視しました。これでいいのか?
何がですか?あなたの話こそ意味が分かりません。
あなたはどのレスした人ですか?

>>99
>C++でMFC使わずWinAPI直に使うとか・・生産性悪すぎて話しにならん
>同等の機能を実現するのにC#とは比べ物にならんくらいの時間と労力がいる。
飛躍しすぎてると言うか、そんな話は誰もしてないです。

前スレ>>989
>c++もmfc使っていれば、.netと同じでdll経由してるから、同じようなもんじゃいの?
と言っていたので、dllの初回ロードと.netの初回実行時コンパイルは、最初に実行されるってことでは同じだけど、違う性質の処理です。
それなのになぜあなたはMFCのdll呼び出しとの比較にこだわるんですか。
ということを質問しただけです。

102:デフォルトの名無しさん
09/03/16 00:26:14
>>101
お前は何が言いたいんだ?叩きたいだけなのか?
満足できないなら自分でC++使って作ればいいじゃないか。

103:デフォルトの名無しさん
09/03/16 00:28:59
C#質問スレなんだからC#の話しようぜ!

104:デフォルトの名無しさん
09/03/16 00:29:06
起動が遅いとか欠点があるのは承知で使っている。
それよりも得られる利点のほうが多いと踏んで。

105:デフォルトの名無しさん
09/03/16 00:30:50
何度いってもわからないやつは馬鹿もしくは池沼

106:デフォルトの名無しさん
09/03/16 00:36:59
>>102
C#を叩いているつもりは毛頭無いし、むしろC#好きです。
ただMFCのdll呼び出しと比較するようなもんじゃないよということを言いたかっただけ。

スレ的に邪魔そうなんでもう消えます。

107:デフォルトの名無しさん
09/03/16 00:38:41
Vistaなら…

108:デフォルトの名無しさん
09/03/16 00:42:21
>>106は最初に起動が遅いのが云々言っていた輩とは別とおも。

ところで、C#2005のソースはSHIFT-JISで保存されているんだけど
これってデフォルトだっけ?出来ればUTF-8に変えたいんだけど。

109:デフォルトの名無しさん
09/03/16 02:34:55
>Shift-JIS
うん

>UTF-8
BOM付ければ勝手に認識したと思う
だめなら codepage オプションかなんかだったかと

110:デフォルトの名無しさん
09/03/16 06:12:53
>>108
テンプレートを UTF-8 版に(手動で)変更する、とかしないとダメだったかと。

111:デフォルトの名無しさん
09/03/16 09:07:37
>>100
URLリンク(www.velocityreviews.com)
この辺

112:デフォルトの名無しさん
09/03/16 10:49:23
初回コンパイルが気になるなら
インストール後にngenするようにインストーラに書いときゃいいだろ

113:デフォルトの名無しさん
09/03/16 11:29:28
IntPtr pt = Marshal.AllocHGlobal(1228800);

ImageBuf = new Bitmap(640,
480,
2560,
System.Drawing.Imaging.PixelFormat.Format32bppArgb,
pt);

こういうコード書いた場合
ガーベジ働いたら,ptが勝手に解放されたりとか
Bitmap内の画像メモリバッファが動いたりして
軽くヤバイんでしょうか?

現状,ptに対して,Marshal.Copy()にて画像コピーしまくっています

114:デフォルトの名無しさん
09/03/16 12:16:39
アンマネージドメモリにGCは干渉できない

115:デフォルトの名無しさん
09/03/16 12:52:07
メソッドとフィールを書く順番って決まってるんですか?どっちが上か下かとか

116:デフォルトの名無しさん
09/03/16 12:56:49
namespaceの名前の付け方なんですが
これ複数のプロジェクトから少しづつ使えそうなコード持ってきて
新たにプロジェクトで使うときのusingがめんどくさいし、統一できてないんですが
これ名前の付け方ってデフォルトだとプロジェクト名じゃないですか
namespaceの存在理由が他のnamespaceと区別を付ける目的だとしたら
自分が使うプロジェクトはすべて同じnamespaceに書き換えるのはありですか?
この辺どうやってますか?

117:デフォルトの名無しさん
09/03/16 13:00:16
クラス名 インスタンス名;
クラス名 インスタンス名 = new クラス名();

この2つの違いがわかりません
newしなくても同じように使えてる気がするんですが、何がちがうんでしょうか

118:デフォルトの名無しさん
09/03/16 13:06:39
同じように使えてませんよ

119:デフォルトの名無しさん
09/03/16 13:07:36
>>117

List<string> list1;
List<string> list2 = new List<string>();

list1.add("test"); //こっちは実行時エラーになる、当然コンパイルは通る
list2.add("test");

120:デフォルトの名無しさん
09/03/16 13:08:40
>>114

ってことは,ガーベジにてBitmapオブジェクト内の
画像バッファのアドレスは,絶対動かないってことですね

サンクスです

121:デフォルトの名無しさん
09/03/16 13:09:09
>>115
自由
プロジェクトで規約が示されたりするかもしれないけどな

>>116
基本はこれ
<Company>.(<Product>|<Technology>)[.<Feature>][.<Subnamespace>]
そもそも
> これ複数のプロジェクトから少しづつ使えそうなコード持ってきて新たにプロジェクトで使う
てのが好ましくない
モジュール化を進めてDLLとして再利用できる形にしたほうがいいと思う

122:デフォルトの名無しさん
09/03/16 13:10:10
ガーベジとか中途半端な略し方はやめて それじゃただのゴミだ

123:デフォルトの名無しさん
09/03/16 13:36:34
>>119>>121
thx
newしなくても使えたような気がしたんだけど気のせいかな・・・
あともうひとつ教えてください
一つのファイルに100行ぐらいしかなくてファイル数ばっかり大量にあるんですが
これっておかしいですか?なんか一つのファイルに2つ以上クラスがあるとすごい見ずらいんで細かく分けるようにしたんですが
で、usingの部分をいつも追加するのがいやになりました。まとめてusingだけのファイルから参照するとかはできないですか?


124:デフォルトの名無しさん
09/03/16 13:42:41
>>123
newしなくても使えてるのは値型。値型と参照型があるんで調べてみ。
C#で書いたclassは全て参照型。

125:デフォルトの名無しさん
09/03/16 13:47:52
>newしなくても使えてるのは値型
ブブー

126:デフォルトの名無しさん
09/03/16 13:56:15
>>123
別に同一プロジェクト内で"クラスの追加"をしていった場合、
usingを追加する作業は要らないと思うんだけど


127:デフォルトの名無しさん
09/03/16 14:03:09
>>125
フィールドの値型なら暗黙に初期化されるから強ち間違いではない……とか
// 苦しい弁護だな

128:デフォルトの名無しさん
09/03/16 14:14:12
>>126
そうなんですか?
using System;
using System.Collections.Generic;
using System.Linq;
クラスファイルを追加するとこれしかなくて
全体に追加したいusingを毎回手動追加してるんですが

129:デフォルトの名無しさん
09/03/16 14:30:43
>>92
libをDLLにすればそれを呼び出せるよ。

130:デフォルトの名無しさん
09/03/16 15:22:35
>>127 つ構造体

131:デフォルトの名無しさん
09/03/16 15:32:15
>>130
値型でもローカル変数なら明示的な初期化が必要だぜ
// 配列の要素なら暗黙に初期化されるから……うん、やっぱり苦しいな

132:デフォルトの名無しさん
09/03/16 15:42:00
newと初期化が関係あるのかと

133:デフォルトの名無しさん
09/03/16 15:55:23
newとかusingとか、同じキーワードを全然違う意味のところに使いまわすのは
どういうセンスなんだぜ?

134:デフォルトの名無しさん
09/03/16 15:56:42
VBの惨状を回避するため

135:デフォルトの名無しさん
09/03/16 15:58:02
>134
詳しく

136:130
09/03/16 17:23:46
>>131はnew と初期化をごっちゃにして
無駄なインスタンスnewしまくってるやつに思えてならない。
あと何言ってるのかさっぱりわからない。

137:デフォルトの名無しさん
09/03/16 19:45:19
素人な質問でスイマセンが教えてください。
TextBoxを派生させてOnPaintをオーバーライドしているのですが、
文字入力中だけ背景色や文字のサイズなどが変わってしまいます。
(OnPaintが呼ばれてない?)
文字入力中も見た目を制御するにはどうすればいいのでしょうか?

138:デフォルトの名無しさん
09/03/16 21:18:38
入力中じゃなくても常にTextBoxのOnPaint/Paintは呼ばれなかったと思うけど。
RichTextBox使うんじゃ駄目?

139:137
09/03/16 23:44:18
確かにデフォルトでは、OnPaintは呼ばれませんでしたが、
SetStyle(ControlStyles.UserPaint, true);
にしてやると、文字入力のとき以外は呼ばれるようになりました。
RichTextBoxは全然使ったことなかったです。
とりあえずRichTextBoxでできるところまで試してみます。
また頭が死にそうになったら質問するかもしれないですが、
そのときはよろしくお願いいたします。
ありがとうございました。

140:デフォルトの名無しさん
09/03/17 01:16:52
メソッドから抜けても値を保持していて、
再びメソッドが呼び出された時に使えるローカル変数って作れないんでつか?
タイマーイベントをカウントしたい時とか、グローバルっぽい変数作ると混乱してくるけど
上手い方法が分からないのでこんな感じですが↓もっといい方法やってる人いますか?

public class Form1 : System.Windows.Forms.Form
{
int YaranaikaCount = 0;
(・・・略・・・)
private void timer1_Tick(object sender, EventArgs e)
{
YaranaikaCount++;
if (YaranaikaCount > 4)
{
YaranaikaCount = 0;
Ahhhhh();
}
else
{
UhoUho();
}
}
}

141:デフォルトの名無しさん
09/03/17 01:21:08
作れません
なぜならそういうのはローカル変数とは言わないので

142:デフォルトの名無しさん
09/03/17 01:23:25
な、なんか崩れてしまいましたので再送します…

: public class Form1 : System.Windows.Forms.Form
: {
:   int YaranaikaCount = 0;
:   (・・・略・・・)
:    private void timer1_Tick(object sender, EventArgs e)
:   {
:     YaranaikaCount++;
:      if (YaranaikaCount > 4)
:       {
:         YaranaikaCount = 0;
:         Ahhhhh();
:       }
:       else
:       {
:         UhoUho();
:       }
:   }   
: }

143:デフォルトの名無しさん
09/03/17 01:31:01
Cのstaticみたいな物はないので、フィールドで代用する。

144:デフォルトの名無しさん
09/03/17 03:01:36
メソッドに引数にメンバの中身を渡すのではなくて、メンバを渡すにはどうすればいいんですか?
どのメンバかを判断したあと、そのメンバの中を参照したいんです。

145:デフォルトの名無しさん
09/03/17 03:04:54
そのオブジェクトのインスタンスを渡せばいいんでないの?

146:デフォルトの名無しさん
09/03/17 08:34:39
>>144
ref

147:デフォルトの名無しさん
09/03/17 08:35:36
変数を変えると一括変換のアイコンが出てくるじゃないですか
あれ変更したくない時マーク消す方法はありませんか?

148:デフォルトの名無しさん
09/03/17 09:30:00
日本語でおk

149:デフォルトの名無しさん
09/03/17 11:12:13
>>140
そういうのは普通メンバ変数で管理するもんだろjk

150:デフォルトの名無しさん
09/03/17 20:31:35
ある条件が通ったときに、ボタンを押したと同じ意味になるプログラムってどういう風に書けばいいでしょうか
ただ、ボタンのメソッドというか処理とかはないです。IDだけで。
なぜなら、CollapsiblePanelていうので、プロパティとして?使ってるからなんじゃないかと思います。
なんでCollapsiblePanelに開いた状態のプロパティがないんだろう・・・初期状態の開閉プロパティはあるのに。
意味がわからない;;助けてください

151:デフォルトの名無しさん
09/03/17 20:34:11
日本語でおk

152:デフォルトの名無しさん
09/03/17 20:37:50
読んでると脳内がごちゃごちゃしてくる文章だなあ

153:デフォルトの名無しさん
09/03/17 20:43:29
一個ずつ解決しようとするなら、
まず
if(i=1)
{
ボタンAをクリック
}
という処理はかけますか?

154:デフォルトの名無しさん
09/03/17 20:45:40
CollapsiblePanelはとりあえず置いとこうぜ

155:デフォルトの名無しさん
09/03/17 21:36:31
無理かな?
if(i=1)
{
CollapsiblePanelがパカっと開く
}
これでも考えてるのだけど

156:デフォルトの名無しさん
09/03/17 21:55:50
WPFならRaiseEventとかあったと思う。

157:デフォルトの名無しさん
09/03/17 22:10:05
自分用の2ch専ブラウザを作っているのですが
htmlテキストの取得まではできたのですが
書き込みはどのようにするといいんでしょうか?
テキストセットしてボタンを自動で押させるのだと思うんですが

158:デフォルトの名無しさん
09/03/17 22:14:34
>>157
URLリンク(www.monazilla.org)

159:デフォルトの名無しさん
09/03/17 22:15:21
>>157
WebBrowser でやるならそんな感じ。リクエストを投げるなら、
HttpWebRequest で Post。

160:デフォルトの名無しさん
09/03/17 22:18:49
さっそくどうも
う〜ん難しそうですね
よく読んでみます

161:デフォルトの名無しさん
09/03/18 15:09:29
クラスAで初期化(インスタンス?)したクラスBの
プロパティをクラスCから読み書きしたい場合は
クラスAのインスタンスをPublicにしてアクセスするもの
なんでしょうか。定石があれば教えて下さい。

162:デフォルトの名無しさん
09/03/18 15:26:20
よくわからんけどこんな感じのことを言ってる?

public ClassA{ public ClassB b = new ClassB(); }
public ClassB{ public string s = "test"; }

ClassC
{
  public ClassC()
  {
    ClassA a = new ClassA();
    Console.WriteLine(a.b.s);
  }
}


163:デフォルトの名無しさん
09/03/18 16:00:08
正にそう言うことです。
そういうアクセスの仕方が一般的なのかと思いまして。

164:デフォルトの名無しさん
09/03/18 16:10:54
プロパティはどこに行ったんだ

165:デフォルトの名無しさん
09/03/18 16:11:59
直接フィールド公開するのは論外として、
ClassAがstring型プロパティとして公開するか直接ClassBを公開するかは場合による

166:161
09/03/18 17:46:13
>>165
今回の場合、以下のような構成になっています。
・クラスA(メインフォーム。起動時に各種設定値を読み込みクラスBに格納)
・クラスB(設定値を保持する為のクラス。プロパティやフィールドのみ)
・クラスC(クラスAから開かれるオプション画面)

クラスAからクラスCを開いたときに既に読み込まれたクラスBの設定値を
読み込みクラスCの各種コントロールに反映したいのですが、クラスCで
クラスBを初期化すると値まで初期化されてしまい困っています。

こういう場合はどのようにするのが定石でしょうか。
>>161,163は携帯からだったので端折ってしまってすいません。

167:デフォルトの名無しさん
09/03/18 17:50:36
ClassCもフォームなんだよね?

そういう場合はClassAの側でClassCのプロパティを設定してやる方がいいんじゃないかな
ClassCのコンストラクタにClassBの参照渡すとかね

168:161
09/03/18 18:17:10
>>167
フォームです。ClassCでプロパティを作成するのは面倒なので
後者の方法についてどのようにするか色々調べてみます。
有り難う御座いました。

169:デフォルトの名無しさん
09/03/18 19:09:49
IEnumerableをシリアル化するには、どのような方法を利用すればいいですか?

170:デフォルトの名無しさん
09/03/18 19:36:26
ToArray

171:デフォルトの名無しさん
09/03/18 20:10:29
フォームを最大化する時にその中のコンポーネントも連動して
同じ比率で大きくしたいんですけどどうすればいいですか?
最大化する時に一々それぞれのサイズをいじるしかない?

172:デフォルトの名無しさん
09/03/18 20:25:16
>>171 Control.Anchorプロパティとかで解決できるかな?

173:デフォルトの名無しさん
09/03/18 20:26:00
>>171
普通はSplitContainerを使う

174:デフォルトの名無しさん
09/03/18 22:55:24
変数の型で同じバイト数のものならやっぱり
少数型より整数型のほうが速いですか?

175:デフォルトの名無しさん
09/03/18 22:56:02
>少数型
そんなものはありません

176:デフォルトの名無しさん
09/03/18 22:59:27
失礼 小数

177:デフォルトの名無しさん
09/03/18 23:01:45
初めから答える気のない奴が
揚げ足を取るだけのためにレスしてるだけだから気にすんな

178:デフォルトの名無しさん
09/03/18 23:04:15
自己紹介するスレじゃないよ

179:デフォルトの名無しさん
09/03/18 23:04:43
速いかどうかは環境依存

180:デフォルトの名無しさん
09/03/18 23:05:13
お前も自己紹介してるやないけ

181:デフォルトの名無しさん
09/03/18 23:06:55
くやしかったかい?

182:デフォルトの名無しさん
09/03/18 23:07:48
はい
くやしかったです

183:デフォルトの名無しさん
09/03/18 23:07:52
最後までレスし続けたほうが勝ちかい?

184:デフォルトの名無しさん
09/03/18 23:08:32
そう思います

185:デフォルトの名無しさん
09/03/18 23:08:37
いや君の勝ちでいいよ?

186:デフォルトの名無しさん
09/03/18 23:08:40
じゃあ俺の勝ちだろ
お前ら弱すぎワロタ

187:デフォルトの名無しさん
09/03/18 23:08:59
これだから理系は困る

188:デフォルトの名無しさん
09/03/18 23:10:04
理系って?文系って?なに?説明してくれない?

189:デフォルトの名無しさん
09/03/18 23:10:12
175 名前: デフォルトの名無しさん [sage] 投稿日: 2009/03/18(水) 22:56:02
>少数型
そんなものはありません

とりあえずさらしage

190:デフォルトの名無しさん
09/03/18 23:11:40
中卒には関係ないよ 区別があるのは高校からですよ

191:デフォルトの名無しさん
09/03/18 23:11:42
必死だな

192:デフォルトの名無しさん
09/03/18 23:11:47
>>174
とりあえずint(System.Int32)で扱えば一番良いはず。

193:デフォルトの名無しさん
09/03/18 23:12:53
理系とか文系という言葉に強烈に反応するのが約一名いるのは仕様ですか?

194:デフォルトの名無しさん
09/03/18 23:13:40
おまえら#regionで畳んどけよ

195:デフォルトの名無しさん
09/03/18 23:14:29
変換ミスぐらい許容できないバカがいるから荒れるんだよな

196:デフォルトの名無しさん
09/03/18 23:15:20
いやその後の方が問題だ

197:174
09/03/18 23:15:23
>>192
どうも
できるだけ32bitのものを使おうとおもってますが
最近はjavaとかも64bit版あったりするんでどんなもんかなと思いまして

198:デフォルトの名無しさん
09/03/18 23:17:02
基本クラスのメソッドに含まれるメンバ変数の値を
派生クラス側で変更して、そのメソッドを使いたいんですが
どうしたらいいのでしょうか?

199:デフォルトの名無しさん
09/03/18 23:19:03
>>197
実際のところ64bit整数は32bitと同じかそれ未満の速度になるよ


200:デフォルトの名無しさん
09/03/18 23:20:52
>メソッドに含まれるメンバ変数
とは何だ?

201:デフォルトの名無しさん
09/03/18 23:22:19
>>198
値って引数のこと?

202:デフォルトの名無しさん
09/03/18 23:23:54
>>198
やりたい事をそれっぽいコードで示してみ


203:174
09/03/18 23:24:26
そうですか
これらの速度をベンチマークで比較してるとこがあればいいんですけどねえ

204:デフォルトの名無しさん
09/03/18 23:26:06
virtual?

205:デフォルトの名無しさん
09/03/18 23:26:56
きっと斜め上の回答が来る筈。
って事で、メソッド内のローカル変数だと予想

206:デフォルトの名無しさん
09/03/18 23:28:49
>>198
>>60-62と同じような質問にも読める

207:デフォルトの名無しさん
09/03/18 23:34:07
結局どれなんだよ・・・

208:デフォルトの名無しさん
09/03/18 23:35:34
>>202
こういう感じです
派生クラスでメソッドを書き直すしかないですか?

public class A{
int x = 10;
public MethodA(){
Console.WriteLine("ここに表示される値を変えたい→ " + x);
}
}

public class B : A{
new int x = 20;
}

public class DEMO{
public static void Main(){
B b = new B();
b.MethodA(); //ここで20と表示したい
}
}

209:デフォルトの名無しさん
09/03/18 23:40:05
>>208
これでどうだ
public class A
{
protected int x = 10;
public void MethodA()
{
Console.WriteLine("ここに表示される値を変えたい→ " + x);
}
}
public class B : A
{
public B()
{
this.x = 20;
}
}
public class DEMO
{
public static void Main()
{
B b = new B();
b.MethodA(); //ここで20と表示したい
}
}

210:デフォルトの名無しさん
09/03/18 23:49:16
>>209
おー、これです
ありがとうございます

211:デフォルトの名無しさん
09/03/19 00:05:49
選択した文字列を引数としてプログラムを起動するにはどうしたらいいですか?

212:デフォルトの名無しさん
09/03/19 00:08:21
>>211
URLリンク(msdn.microsoft.com)(VS.80).aspx


213:137
09/03/19 00:55:19
>>210
しかと吟味の上、よきに計らえ

214:デフォルトの名無しさん
09/03/19 00:57:01
ごばorz

215:デフォルトの名無しさん
09/03/19 01:30:02
どこの誤爆だよwww

216:デフォルトの名無しさん
09/03/19 03:00:49
現在アクティブになっている他アプリのウィンドウ名を取得することはできますか?
出来るのであればご教授お願いします。

217:デフォルトの名無しさん
09/03/19 03:18:50
>>211
Main関数の中に配列いれろ

218:217
09/03/19 03:20:26
言い方が悪かった

static void Main(string[] args)

こういう感じね


後選択した文字列ってのが意味解らない

219:デフォルトの名無しさん
09/03/19 03:22:41
user32.dllのGetForegroundWindowとGetWindowTextをDllImportして使う。
HWNDにIntPtr、LPTSTRにStringBuilderを使っとけばおk

詳しいやりかたはぐぐれ

220:デフォルトの名無しさん
09/03/19 03:26:09
>>211
System.Diagnostics.Process.Start("app.exe", "args");
こういう事をしたいのか?

221:デフォルトの名無しさん
09/03/19 03:32:12
>>219
ありがとうございます。
そのヒントを元に検索し、緑のバイクさんのところのコードを参考にして解決しました。

222:デフォルトの名無しさん
09/03/19 03:44:03
>>211
Processじゃないの?


文字列で思い出したのでついでに質問

ブラウザなどで範囲選択している文字列をコピーすることはできないでしょうか?
SendKeyで Ctrl+Cを送ると、なぜかブラウザ名と開いてるページが帰ってきてしまいます。
何かいい方法無いですか?

223:デフォルトの名無しさん
09/03/19 10:37:38
一番汎用的なのがSendKeysなのは間違いない
Ctrl+Insertの方が安定してるかも

対象限定ならともかく完全にどんなのでも使えるやりかたってのは存在しない

224:デフォルトの名無しさん
09/03/19 10:41:19
変数名を変えると一括で変換してくれるマークが出てくるじゃないですか
あれを出ないようにしたくはないんですが、他は変更しない時マークを消したいんですが
マークを押した時に出てくる2つの選択肢どっちを選んでも思い通りになりません教えてくだしあ

225:デフォルトの名無しさん
09/03/19 16:59:26
2次配列の宣言で
int[][] da = new int[8][];  として後で

da[0] = new int[8];
da[1] = new int[8]; …としていくとできますが

for (i = 0; i < 8; i++)
da[i] = new int[8];
こうするとビルドは出来ますが実行で赤Xがでてエラーになります

for などを使って一括して定義する方法ないでしょうか?
da[0,0] このタイプは使いたくないのです


226:デフォルトの名無しさん
09/03/19 17:06:08
エラーはちゃんと読みなさい。

227:デフォルトの名無しさん
09/03/19 17:08:59
>こうするとビルドは出来ますが実行で赤Xがでてエラーになります 

日本語でOK

228:デフォルトの名無しさん
09/03/19 17:09:54
エラーでないぞ?
iを定義してないだけじゃないか?

229:デフォルトの名無しさん
09/03/19 17:20:25
なんか、めちゃくちゃえげつない初期化が出来るね。

int[][] da = new int[][] { new int []{1,2,3}, new int []{5,6}, new int []{7}, new int []{8,9,10}};


230:デフォルトの名無しさん
09/03/19 17:22:22
もう一息
var da = new int[][] { new []{1,2,3}, new []{5,6}, new []{7}, new []{8,9,10}};


231:デフォルトの名無しさん
09/03/19 17:49:43
>>228
でないですか?iの定義はしてるはずなんですが
>>226
エラーというか画面全体に×が出るあれです


232:デフォルトの名無しさん
09/03/19 18:13:52
宣言する場所と実際にデータを使う場所が悪かったようです
直りました、どうもすいません

233:デフォルトの名無しさん
09/03/19 22:49:45
 
日本を狙う 朝鮮人の原爆ミサイル建造費用は

  日本国内の 在日パチンコ屋からの送金

パチンコの市場規模は 年間30兆円

  日本の国家予算の 3分の1以上

  北朝鮮の国家予算の なんと100年分!

これを在日朝鮮人が 自由に動かし

  パチンコマネーを 北朝鮮に送金している

パチンコ屋を 全面営業禁止にしない限り

  北朝鮮は制裁など 痛くもカユくもない
 
在日朝鮮人なら 生活保護もらい放題

  毎月二十数万円もらって 毎日遊んで暮らしてる

  住宅費・医療費・教育費なんでも無料

  税金は1円も払わない 超特権階級(貴族)

  民主党は 選挙権まで与える予定

  日本は 在日天国  <丶`∀´> ウハウハ〜♪

URLリンク(2cchan.ham-radio-op.net)

234:デフォルトの名無しさん
09/03/20 00:36:39
>>223
おお、Ctrl+Insertで望んでいた動きができました
なぜCtrl+Cで上手くいかなかったんだろうなぁ

ありがとうございました


次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

5247日前に更新/200 KB
担当:undef