[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 2chのread.cgiへ]
Update time : 09/13 20:16 / Filesize : 200 KB / Number-of Response : 825
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

ふらっとC#,C♯,C#(初心者用) Part39



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

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

前スレ

ふらっとC#,C♯,C#(初心者用) Part38
pc11.2ch.net/test/read.cgi/tech/1235864730/

765 名前:デフォルトの名無しさん mailto:sage [2009/04/06(月) 01:59:32 ]
String型がシールされてる上にIStringのようなインターフェイスもないってどういうこと?
String型に限らずやたらシールされると拡張できなくて異常に不便

766 名前:デフォルトの名無しさん mailto:sage [2009/04/06(月) 02:02:16 ]
C#の入門誌のオススメ教えて

767 名前:デフォルトの名無しさん mailto:sage [2009/04/06(月) 02:04:16 ]
C#に入門書は必要ない
ぐぐれば腐るほどでてくるからな・・・
強いて言えば逆引き系のものがいいよ

768 名前:デフォルトの名無しさん mailto:sage [2009/04/06(月) 02:04:39 ]
継承は最低の方法だってみんな分かって来てるじゃない
それはともかくStringはIEnumerable<char>として扱うと便利だよ

769 名前:デフォルトの名無しさん mailto:sage [2009/04/06(月) 03:31:43 ]
>>763
コントロールで使う画像の処理をImageListに任せるのは、
Win32SDK時代から続く古式ゆかしいお作法なんだ。

770 名前:デフォルトの名無しさん mailto:sage [2009/04/06(月) 08:32:28 ]
> それはともかくStringはIEnumerable<char>として扱うと便利だよ
これは気づかなかった。ありがとう

771 名前:デフォルトの名無しさん mailto:sage [2009/04/06(月) 09:03:50 ]
デザイナーいるとかうらやましいなおい・・・・

772 名前:デフォルトの名無しさん mailto:sage [2009/04/06(月) 09:26:25 ]
>>765
恥ずかしいレスだなおいw

773 名前:デフォルトの名無しさん mailto:sage [2009/04/06(月) 09:31:03 ]
>>771
それはボケなのか……?



774 名前:デフォルトの名無しさん mailto:sage [2009/04/06(月) 10:42:32 ]
Stringがsealedなのはimmutableにするため
変更できない方が扱いやすいから

775 名前:デフォルトの名無しさん mailto:sage [2009/04/06(月) 17:54:34 ]
扱いやすいっていうか、継承を禁止しないとイミュータブルであることを保証できない。

776 名前:デフォルトの名無しさん mailto:sage [2009/04/06(月) 18:04:25 ]
なんとなくだが、>>774
"stringはimmutableであった方が扱いやすい"
と言いたかったのではないかと思う。

777 名前:デフォルトの名無しさん [2009/04/06(月) 21:19:49 ]
>>766
洋書なら色々あるけど、邦訳版が出てないのが多い・・・。

778 名前:デフォルトの名無しさん mailto:sage [2009/04/07(火) 02:18:55 ]
C#って検索数がいまいちなんだよね。
なんで?

779 名前:デフォルトの名無しさん mailto:sage [2009/04/07(火) 02:34:22 ]
>>778
記号とか入いってるとかは検索エンジン的にマイナスな気がする。
あと、なんだかんだいって後発だしね。
それと、一般名詞そのまま使ってるrubyとかと比べりゃそりゃ少なくなる。

780 名前:デフォルトの名無しさん mailto:sage [2009/04/07(火) 03:42:38 ]
思いつくままに検索してみた。言うほど少なくは無いようだが

php の検索結果 約 9,700,000,000 件
javascript の検索結果 約 680,000,000 件
vb の検索結果 約 657,000,000 件
java の検索結果 約 377,000,000 件
scheme の検索結果 約 107,000,000 件
ruby の検索結果 約 102,000,000 件
c++ の検索結果 約 101,000,000 件
perl の検索結果 約 88,000,000 件
c# の検索結果 約 63,900,000 件
python の検索結果 約 62,300,000 件
delphi の検索結果 約 49,500,000 件
lisp の検索結果 約 8,290,000 件
fortran の検索結果 約 7,720,000 件
cobol の検索結果 約 6,530,000 件
c++/cli の検索結果 約 4,680,000 件

781 名前:デフォルトの名無しさん mailto:sage [2009/04/07(火) 03:54:22 ]
>>780
ごめんそれ違う。

漏れが言ったのは、グーグルトレンドの方。

782 名前:デフォルトの名無しさん mailto:sage [2009/04/07(火) 04:47:38 ]
>>780
発想は面白いよ発想は

783 名前:sage mailto:sage [2009/04/07(火) 13:13:32 ]
vb.net の private shared は C# でいうとなんですか?
private partial ? private protected?



784 名前:デフォルトの名無しさん mailto:sage [2009/04/07(火) 13:17:51 ]
private static

785 名前:デフォルトの名無しさん mailto:sage [2009/04/07(火) 13:19:16 ]
thx!

786 名前:デフォルトの名無しさん mailto:sage [2009/04/07(火) 14:11:03 ]
VB.netの存在意義がわからない
初心者向けならジェネリックやLinqの拡張をすべきではないと思うんだが・・・

787 名前:デフォルトの名無しさん mailto:sage [2009/04/07(火) 14:12:59 ]
VB.NETはVBプログラマ用の隔離病棟もしくはオブジェクト指向リハビリ施設

788 名前:デフォルトの名無しさん mailto:sage [2009/04/07(火) 14:13:04 ]
>>786
それは、貴方の考えた存在意義と違うってだけでしょう。

789 名前:デフォルトの名無しさん mailto:sage [2009/04/07(火) 18:15:55 ]
C#>VBってのはC#でオブジェクト指向を勉強した奴がやけに言いたがるようだけど
他から見たらチェイサーとクレスタ


790 名前:デフォルトの名無しさん mailto:sage [2009/04/07(火) 18:24:42 ]
そりゃ.NETがベースにあるからだろ

791 名前:デフォルトの名無しさん mailto:sage [2009/04/07(火) 18:28:30 ]
.NETのWebBrowserコンポーネントで
RichTextBoxのSelectionColorプロパティみたいに、文字列をドラッグしたときの選択色を変える方法ありませんか?

792 名前:デフォルトの名無しさん mailto:sage [2009/04/08(水) 05:02:52 ]
Microsoft Visual C++ Express Edition
このコンパイラで一度「デバッグ無しで開始」でコンパイル成功するとソースを書き換えてもプログラムが変わらないようです
今までは少しソースを書き換えようと思ったら新規作成で新しいソース作ってコピペを繰り返してたんですがいい加減ソースの管理がキツいです
誰か助けてください

793 名前:デフォルトの名無しさん mailto:sage [2009/04/08(水) 05:09:03 ]
バイト代は出ますか?



794 名前:デフォルトの名無しさん mailto:sage [2009/04/08(水) 05:14:13 ]
>>792
全ては君の勘違い

795 名前:デフォルトの名無しさん mailto:sage [2009/04/08(水) 06:02:20 ]
>>792
『Microsoft Visual C# Express Edition』で開発していると仮定しての話だが、(スレタイ読めよ!)
確かにVC++と違って C#の開発のときはアプリの実行ボタンでビルドが更新されないことがあるようだ。
しかし、コンパイルないしビルドボタンを押せば問題ないはず。
デバッグ無しで開始 や デバッグ実行 のボタンとは別にあるぞ。

796 名前:デフォルトの名無しさん mailto:sage [2009/04/08(水) 09:47:57 ]
>>792
リビルドしてみた?

797 名前:デフォルトの名無しさん mailto:sage [2009/04/08(水) 09:53:21 ]
むしろ自動ビルドしてるならクリーンアップ?で
さもなくばexploreでファイル削除

798 名前:デフォルトの名無しさん mailto:sage [2009/04/08(水) 15:22:07 ]
.net のプログラムを C#に書き換えています。
.net におけるshadow(オーバーライドの一種で引数も返り値も変更可能なもの)
はC#だとどういう風にトランスレートすればいいんですかね?

799 名前:デフォルトの名無しさん mailto:sage [2009/04/08(水) 15:26:15 ]
.net のプログラムってなに?VB?

800 名前:デフォルトの名無しさん mailto:sage [2009/04/08(水) 15:27:01 ]
もちろんC#

801 名前:デフォルトの名無しさん mailto:sage [2009/04/08(水) 15:27:15 ]
隠蔽のnew

802 名前:デフォルトの名無しさん mailto:sage [2009/04/08(水) 15:30:02 ]
vb.netっす

803 名前:デフォルトの名無しさん mailto:sage [2009/04/08(水) 15:32:06 ]
VBではoverridesとshadowが別なのが良くわかんないね。
overridesがほぼC#のnewと同じ。
shadowとまったく同じものはなかったかと。



804 名前:デフォルトの名無しさん mailto:sage [2009/04/08(水) 15:35:20 ]
それでは Public Shadow Property X は
public new override X
{get return ...みたいな感じで書けばいいってことですか?

805 名前:デフォルトの名無しさん mailto:sage [2009/04/08(水) 15:36:43 ]
ああちがうか、そもそもoverrideとoverridesのちがいがわかってませんでした。
勉強してきます。

806 名前:デフォルトの名無しさん [2009/04/08(水) 15:43:35 ]
WebBrowserのDocumentで、mshtmlを経由してiframeの中身にアクセスしようとするとUnauthorizedAccessExceptionになるのですが、
これを回避するにはどうすればいいのでしょうか。

807 名前:デフォルトの名無しさん mailto:sage [2009/04/08(水) 18:51:30 ]
public class Bar
inherits Foo
  overrides sub f()
  end sub
  shadows sub g()
  end sub
  overloads sub h()
  end sub
end class
をリフレクションで調べるとこういう違いがあるようだべさ。

public class Bar : Ansi,Auto
    extends public class Foo : Ansi,Auto
        public virtual Void f()
        public Void g()
        public Void h(),HideBySig
        public constructor Void .ctor(),SpecialName

C#の場合全部のメソッドにHideBySigが付いてるんだよね。


808 名前:デフォルトの名無しさん mailto:sage [2009/04/08(水) 19:28:38 ]
すみません。馬鹿な質問いいですか?

フォームにラベルがいくつかありまして、それぞれ
lbl001
lbl002
lbl003
という名前になっています。

で引数に001とか002を渡すと通し番号の一致するラベルのテキストを""に変えるメソッドを
作りたいのですが、どうしたら良いのでしょうか?

解りにくい文章ですみませんが、お願いします。



809 名前:808 mailto:sage [2009/04/08(水) 19:30:47 ]
private void hoge(string number)
{
lbl+number.text="";
}
という感じなのですが・・・

810 名前:デフォルトの名無しさん mailto:sage [2009/04/08(水) 19:36:25 ]
public void ClearLabel(string labelName)
 Control control = this.Controls.Find(labelName, false)[0].Text = "";

thisはForm


811 名前:デフォルトの名無しさん mailto:sage [2009/04/08(水) 19:39:39 ]
ああ、最初の変数宣言はイラネ

public void ClearLabel(string labelName)
 Control control = this.Controls.Find(labelName, false)[0];
 control.Text = "";

または

public void ClearLabel(string labelName)
 this.Controls.Find(labelName, false)[0].Text = "";


812 名前:デフォルトの名無しさん mailto:sage [2009/04/08(水) 19:42:38 ]
public void Func(int number)
{
string name = "lbl" + number.ToString("000");
foreach (FieldInfo info in this.GetFields())
{
if (name == info.Name)
{
Label label = (Label)info.GetValue(this);
label.Text = "";
}
}
}

813 名前:デフォルトの名無しさん mailto:sage [2009/04/08(水) 19:43:55 ]
ラベルを配列に入れりゃいいんじゃないの



814 名前:デフォルトの名無しさん mailto:sage [2009/04/08(水) 19:46:45 ]
>>808
そういうことをするならラベルをコレクションで管理しとけ
リフレクションを使うのはあくまで応急処置

最初からコレクションで生成してもいいし、どうしてもデザイナを使いたいなら以下のようにする
var labels = new List<Label>();
labels.Add(lbl001);
labels.Add(lbl002);
labels.Add(lbl003);

815 名前:808 mailto:sage [2009/04/08(水) 19:58:30 ]
みなさまありがとうございました!
>>811
public void ClearLabel(string labelName)
 this.Controls.Find(labelName, false)[0].Text = "";

この場合labelNameは"002"とかでもlbl002を見つけてくれるのでしょうか?

>>812
なるほど。僕でも判る解りやすいコードですね

>>814
おっしゃる通りです。以降気をつけます

816 名前:デフォルトの名無しさん mailto:sage [2009/04/08(水) 20:21:07 ]
>>815
見つけてくれないからlabelNameを自分で作成すれ

817 名前:808 mailto:sage [2009/04/08(水) 21:27:47 ]
>>816
ありがとうございました!

僕はデザイナでしかコントロールを置いたことがないので
名前の重複がありうるなんて知りませんでした。

なので名前のわかっているコントロールを探すなんてナンセンスな感じを
うけましたが、自分が無知だっただけでした!

818 名前:デフォルトの名無しさん mailto:sage [2009/04/08(水) 21:49:25 ]
何も解かってないことが解かった

819 名前:デフォルトの名無しさん mailto:sage [2009/04/08(水) 21:54:33 ]
>>817が何を言ってるのかまるでわからない・・・

820 名前:デフォルトの名無しさん mailto:sage [2009/04/08(水) 21:56:19 ]
なんとなく理解できる俺もほ乳類を名乗って問題無いのか・・・

821 名前:デフォルトの名無しさん mailto:sage [2009/04/08(水) 23:41:34 ]
>819
多分Nameプロパティとフィールド参照名をごっちゃにしてるんだろ。
>817
参照名はスコープ内で重複しないけど、コントロールごとに設定できるNameプロパティの値は重複可能。
デザイナーは勝手に「Name = 参照名」に設定してるから一意に見えるだけ。自前でNameを設定してなければ、
int num = 2;
Label label = this.Controls[ "lbl" + num.ToString("000")] as Label;
if( label != null ) { 処理 } else { エラー処理とか }
自前のコードでNameを設定してて同じNameの奴が重複してたら、最初に追加されたやつ(普通はデザイナーが作った方)が返ってくる。
どうしてもフィールド名のほうでアクセスする必要がある場合は、>812みたいにリフレクションを使う。
でもクラス内で完結することに使うことはまずない。

822 名前:デフォルトの名無しさん [2009/04/09(木) 00:09:57 ]
Regexクラスを使った正規表現って
交差演算子「&&」は使えませんよね?

823 名前:デフォルトの名無しさん mailto:sage [2009/04/09(木) 00:12:33 ]
古語でも可也



824 名前:デフォルトの名無しさん mailto:sage [2009/04/09(木) 00:18:44 ]
>>822
MSDN読め。






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<200KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef