1read 100read
ふらっとVisual C#,C♯,C#(初心者用) Part107 (667) TOP カテ一覧 スレ一覧 2ch元 削除依頼
Excel VBA 質問スレ Part32 (377)
音声合成プログラムを作りる (326)
Perlについての質問箱 61箱目 (102)
Excel VBA 質問スレ Part32 (377)
C言語なら俺に聞け(入門編)Part 121 (201)
【COBOLから】バッチ処理【Javaまで】 (153)

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


1 :2013/09/25 〜 最終レス :2013/10/26
「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。
他のスレッドでは書き込めないような低レベルな質問。
質問者自身なんだか意味がよく分からない質問。
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。
内容に応じて、他スレ・他板へ行くことを勧められることがあります、ご了承下さい。
なお、テンプレが読めない回答者は邪魔なので後述のC#相談室に移動して下さい。
>>980を踏んだ人は新スレを建てて下さい。
>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。
■前スレ
ふらっとVisual C#,C♯,C#(初心者用) Part106
http://toro.2ch.net/test/read.cgi/tech/1378514566/
■関連スレ
C#, C♯, C#相談室 Part80
http://toro.2ch.net/test/read.cgi/tech/1373037260/
■コード貼るなら↓使ってください
http://ideone.com/

2 :
なんかideone使いにくくなってね?
てか、run code無効にできなくね?

3 :
だってcodepad.orgはC#使えないんだもん

4 :
前もbootstrap使ってたっけ
今は使ってるって一目で分かるな

5 :
前はチェックボックスむき出しだったから使ってないんじゃない。
量産型オサレになりましたね。

6 :
コンパイルエラーが出るようになってむしろどこがおかしいのかまで分かるようになったから
ある意味コンパイラを持ってない人には親切かも
ついでに5桁のIDが6桁に増やされたな

7 :
ループでファイル名列挙するプログラム書いてみた。
若干冗長だけど、出力結果は正しいと思う。
ttp://ideone.com/Rzici0

8 :
SingletonのクラスをアプリのSettingデータとしてもってますが、
これを、設定画面でBindingしたいのですか、DataContextに普通にいれても無理でした。
どうやればいいでしょうか?

9 :
>>8
インスタンスを普通にDataContextに入れたら動くので、どこか他が間違っていると思うよ
デザパタで言うシングルトンじゃなくてstatic classをシングルトンと言っているなら.net4.5から対応しました
http://msdn.microsoft.com/ja-jp/library/vstudio/ms171868.aspx
>静的プロパティへのデータ バインド、ICustomTypeProvider インターフェイスを実装するカスタム型へのデータ バインド、およびバインド式からのデータ バインド情報の取得。
あ、勿論プロバティーがstaticでも動きません

10 :
みなさん質問ですがWPFのデータ接続ってなにつかってますか?データセット?エンティティ?それともLINQ? 必死こいてエンティティでのバインド覚えようと思ってるけどどうもうまくいかなくて

11 :
>>7
EnumerateFiles使うなっていってんだろ
980 名前:デフォルトの名無しさん[sage] 投稿日:2013/09/25(水) 12:24:09.75
>Directory.EnumerateFiles
これ中、再帰だろ、ボケ。
995 名前:デフォルトの名無しさん[] 投稿日:2013/09/25(水) 12:49:14.90
>>992
EnumerateFiles で見つかるのは名前だけだろ
そんな単純なもの以外に対応させるためには使えない
EnumerateFiles 使わずに書いてみてよ
FindFirstFile使え
http://ideone.com/opyS8O

12 :
前スレの糞みたいな流れを持ち込むんじゃねーよこの糞が
R

13 :
糞スレに誘導したのに、勝手にスレ立てんな、糞ども。

14 :
C#入門のサイトを見ながら作ってみたした
C#はまったくの初心者です
これはどこがだめなのでしょうか?
また、どうすればなおりますでしょうか?
背景に画像をうつして、消すとき確認をとりたいです
http://i.imgur.com/Riy4SAB.png

15 :
同じクラスあり過ぎてコンパイラが怒ってる
public Form1()
{
Bitmap ...
...
...
this.FormClosing += ... ←上のにまとめてここをコピー
 new FormClos...
}
上のForm1の
}から
下の
class Form1 : Form()までの行を消しちゃえ

16 :
書き直すわ
Form1とpublic Form1()が2つずつあるよな? これがいけない
public Form1()の閉じ括弧 } ←これ から
public Form1()の始まり括弧 { までを選択してバックスペースキー使って消したらいけるはず

17 :
エラーはひとつもでなくなりました
ありがとうございます
しかし、実行しても背景も表示されず閉じようとしても確認をとってくれません
何か間違ってたでしょうか?
http://i.imgur.com/sCZkz6C.png

18 :
ClosingイベントやLoadイベントのハンドラーが登録されていない

19 :
色んな所で検索してイベントのハンドラーを調べてみて
色々実行してみたんですが
いまいち解決法が見つかりませんでした・・・
よろしければ、具体的な方法を教えていただけますか?

20 :
根本的にForm1じゃなくてFormのインスタンスnewしてるじゃないか
そりゃそうだよ

21 :
>>18
適当なこと言ってんじゃねーぞコラ?

>>19
Mainメソッドの
>Form form = new Form();

Form1 form = new Form1();
に修正してみそ

22 :
オブジェクトがnullだった時のメソッド呼び出しをエラーにしない方法ないですか
oppai.Momu();
この呼び出しがoppaiがnullの時でも例外を発生せずに単に無視して欲しい。

23 :
エラーにしない方法はないです

24 :
>>19
これでいいのか
http://ideone.com/NTzvdo

25 :
>>22
oppaiを何かのクラスでラップしてnullを返さないようにするとか
class Hoge
{
 public Oppai Oppai
 {
  get
  {
   if( oppai == null )
   {
    oppain = new Ginyu();
   }
   return oppai;
  }
 }
}
class Ginyu : Oppai
{...}

26 :
>>22
null objectパターン

27 :
>>25
if(Oppai != null)
{
}
で囲む以上のコードを書いたら意味ないだろ

28 :
>>9さんありがとう、Bindingうまくいくようになりました。
原因は、TextBoxに値を表示してたのですが、
Mode=TwoWay,
UpdateSourceTrigger=PropertyChanged
の追加で理想なうごきになりました。

29 :
>>22-25
それでは駄目です
oppai.GetChikubi().Nameru().MomuMomu();
みたいに関数呼び出しがチェーンします、そのうちの一部がnullでもエラーにならないようにしたいのです
一行で。

30 :
お帰りはあちら

31 :
間違った人は間違った方向に努力する典型と言わざるを得ない

32 :
駄目なのはお前だと

33 :
Objective-Cでもやれば

34 :
System::Windows::Forms::Show(NULL,L"C++/CLIも忘れんな",L"Win32APITest",MB_OK);

35 :
>>29
public static class Ext {
&nbsp; &nbsp; public static TOutput Do<TInput, TOutput>(this TInput obj, Func<TOutput> method) {
&nbsp; &nbsp; &nbsp; &nbsp;return obj == null ? default(TOutput) : method();
&nbsp; &nbsp; }
}
oppai.Do(GetChikubi).Do(Nameru).Do(Momu);
ぐらいで我慢しとけ

36 :
これは難しい暗号だ。

37 :
中途半端に代替案提示してやろうとするから食い下がるんだよ
有無を言わさず打ち砕け

38 :
>オブジェクトがnullだった時のメソッド呼び出しをエラーにしない方法 ← ここが間違いの根本
コンポジションしたメソッドチェーン対応クラスでも書くのが正解

39 :
色々問題があったけどまあいいや

40 :
言語機能に付いてないんだから諦めろとしか
どうしても自分でやりたいなら
リフレクションで全てモックオブジェクト返すようなNullableでも作ればいい

41 :
Roslynでも使えばいいんじゃない?
nullチェックの数千倍敷居が高いけど

42 :
オブジェクト指向の関数の呼び出しはthisポインターの省略に過ぎないわけで
関数には言ったら
 if (this == null){
  return;
 }
と書ければ一発で解決することがなぜできない

43 :
ようするにnullの時には、何もしない、という処理をしたいわけだ。
だから、>26が書いてるようにNullオブジェクトパターンで、
そもそものnullを、何もしない処理を実装したNullオブジェクトに置き換えればいいだけ。
Strem.Nullフィールドもそのパターンだな。

44 :
>>22
無理じゃねーの?
.NETがメソッドテーブルか型情報持ってるかは知らんけど、
抽象メソッドinvokeすんのに何かしらのポインタもってないとダメだろ
そんなこんなでnull大丈夫なんて前提作れないだろ

45 :
インスタンスないから関数にも入れないじゃん

46 :
解説すると。
Stream stream = null;
だと、
stream.ReadByte();
で例外になる訳だ。
これをNullオブジェクトパターンにすると、
Stream stream = Stream.Null;
stream.ReadByte();
値は読めないが、例外で落ちることは無い。

47 :
そんなこと誰でも知ってるが、それは何もしないオブジェクトをNull Objectと
呼んでいるだけのこと。
連想ゲームじゃねえんだから、名前にnullが付いてるからってnullと関係ないから。
試したわけじゃないけど、使うメソッド全てをあえて拡張メソッドで実装すれば
質問者の希望するような動作が可能かも知れないが、たとえ可能でもそんなアホなことするなと。
間違った方向に労力を投入するのはただの馬鹿

48 :
>>45
C++は変態言語の名に相応しく、呼び出せるんだよなーこれが
もちろんthisにアクセスしたらアクセス違反だが

49 :
ScalaのOptionがほしいんだろ?
型情報読み取って、その場で動的に作ればいい
どう見ても実用的じゃないが

50 :
>>48
そんな事してまで呼び出してどうするんだと
どうせvirtualじゃ無い物限定だろ

51 :
>>48
まったくこまった変態さんですね

52 :
>>48
変態もクソもチェックしてないだけだぜ
ILならnullのインスタンスメソッドは呼べるし呼べるのが自然だが、
わざとチェック入れて例外を発生させてる

53 :
>>47
別に名前なんてどうでもいいよ。
この質問者の目的をシンプルに解決する方法として、
Nullオブジェクトパターンと呼ばれている方法がいいんじゃないか、
というだけ。

54 :
シンプルに解決できないだろ。
>>47が言うように実装全部を変更する羽目になる。

55 :
>>21
おおおお!
原因はいまいち分かりませんができました!
ありがとうございます!
頑張ってソフトウェア完成させます!

56 :
>>53
くだらない事でクラス数を増やしたくないのでNullオブジェクトパターンは無理です
ただ単にnullのオブジェクトの関数を呼び出して何もしたくないだけなんですがね
はぁ、何故こんな簡単なことが書けないんだC#は

57 :
C#たんはダメな子なんです
我慢してください

58 :
F#でも使えばいいんじゃねーの?
できるかしらんけど

59 :
正常系でnullを返す自分の設計が糞なんだ

60 :
そういえばそうだな。
null返さなければいいだけだ。

61 :
nullなのにメソッド呼びたいとか考えたことなかった

62 :
まずこの議論がくだらない

63 :
疑問は(絶望的な方向に)解決したし、これ以上愚痴りたいなら穴掘ってどうぞ。
ここでやらないでね。

64 :
>>56
だから、書くだけなら拡張メソッドでいけるよ。

65 :
ところで、NULLはオブジェクトなのか?

66 :
var o = oppai;
if(obj != null) o = o.GetSize(ref size);
if(obj != null) o = o.Lick();
if(obj != null) o = o.UseCandle(true);
if(obj != null) o = o.AttackBySperma();
if(obj != null) o = GoToHeaven();

67 :
var o = oppai;
if(o != null) o = o.GetSize(ref size);
if(o != null) o = o.Lick();
if(o != null) o = o.UseCandle(true);
if(o != null) o = o.AttackBySperma();
if(o != null) o = GoToHeaven();

68 :
wpfのListBoxで、画面に見えていないアイテムを表示させようとしているんだが
ItemContainerGenerator.ContainerFromIndexでListBoxIemを拾おうとしても、一度表示するまではnullが返ってくる
何とかなりませんか?

69 :
確か仮想化を切ればいいはず

70 :
>>69
ありがとう、おかげで何とかなりました
<ListBox VirtualizingStackPanel.IsVirtualizing="false" って書けばいいなんて判るかよ!

71 :
失礼します。
Win7 64bitで作成しているのですが複数のdllを使用する時、一つでもx86用しか無い場合は
全てx86で使用するのが無難でしょうか?

72 :
無難もなにも混在などできない

73 :
>>72
返事ありがとうございます。
AnyCPUもどちらが動くかわからないから止めた方が良いと以前このスレで見かけましたので
ターゲットプラットフォームをx86で作るしか無さそうですね。

74 :
nullをオブジェクトで扱うべきという議論は他でもあって、
関数型言語などではSOME/NONE型として扱ってる
C#の場合は拡張メソッドでどうよ?
FooクラスにHelloIfNotNullを書けない所にまだ良心が残ってるといえよう
class Foo {
public void Hello() { Console.WriteLine("Hello Wolrd !"); }
}
static class FooExtentions {
public static void HelloIfNotNull(this Foo o) { if (o != null) o.Hello(); }
}

75 :
http://www.buzzword.jp/img/face10.png

76 :
Mac版Xamarin Studioが超絶バージョンアップ!C言語やD言語、F言語にも対応!Visual Studio不要に
http://engawa.2ch.net/test/read.cgi/poverty/1380351550/

77 :
コピペマン参上!まで読んだ。

78 :
C#はさ永遠とToString().ToString().ToString()....ってできるところがいいよね

79 :
そんなに釣り要素満載だと胃もたれしてしまうよ

80 :
動的に作成したコントロールに引数を追加する方法を探しています。
int i = 0;
while(true)
{
panel[i] = new Panel();
label[i] = new Label();
panel[i].Controls.Add(label[i]);
panel[i] += new EventHandler(panel_Click);
label[i] += new EventHandler(panel_Click);
this.Controls.Add(label[i]);
this.Controls.Add(panel[i]);
i++;
}
panel_Clickにiを渡したいのですが、方法がわかりません。
どうすれば出来ますか?

81 :
> panel_Clickにiを渡したい
そんなことは出来ないので、iをTagに入れるか、
またはFormのコードなどでコントロールをキーにするDictionaryを持つようにする

82 :
ソフトウェア板で答えたと思ったらマルチされてたでござるの巻

83 :
>>80
マルチR

84 :
c#6.0ってどうなってますか?

85 :
どうでしょうなあ・・・

86 :
マルチスレッドは簡単らしいです。

87 :
>>80
panel[i].Click += ( sender, e ) => MessageBox.Show( i.ToString() );
とか?w
動的にコントロール生成って、どうしても初心者の方がやりたくなってしまう魅力があるのかな

88 :
async/awaitより楽な非同期が思いつかない

89 :
>>87
そのiはいつ評価されるの?
初心者に魅力って、お前同じコントロール100個あってもデザイナで頑張って張りつけるの?
そっちの方が初心者くさいと思わん?

90 :
10個くらいなら普通に貼り付けてるな

91 :
同じコントロール100個も貼らなくていいようにUI設計する

92 :
同じコントロール100個貼り付けるってどんなプログラムだよ

93 :
グリッドみたいなものを作るときによくやるよね

94 :
テキストボックスだけで作るグリッド

95 :
VB6のコントロール配列は良かった

96 :
>>89
いいからサラのWindowsフォームアプリケーション作成して
コンストラクタに
public Form1()
{
 InitializeComponent();
 int i = 0;
 this.Click += ( s, e ) => MessageBox.Show( ( i++ ).ToString() );
}
って書いたらデバッグ実行してクリックしまくってみろ

97 :
>>96
ループ内に書かないと。
int i = 0;
while (i < 10)
{
 if (i == 5)
   this.Click += (s, e) => MessageBox.Show(i.ToString());
 i++;
}

98 :
推測されにくいIDってどうやって発行するのがいいでしょうか?
GUIDだと推測されやすいですか?

99 :
>>98
ランダムな文字列を使うべき

100read 1read
1read 100read
TOP カテ一覧 スレ一覧 2ch元 削除依頼
【C++】高速化手法【SSE】 (884)
【C++】高速化手法【SSE】 (884)
MSX-BASICの奥義を伝授するスレ (782)
リーダブルコーディング技術スレ (187)
Perlについての質問箱 61箱目 (102)
【関数】Erlang Part 2【エリクソン】 (209)
--log9.info------------------
★ 一文字リレー小説 Part100★ (141)
昭和風味しりとり その112 (608)
★☆クイズしりとり(パート40)☆★ (452)
新・漢字1文字とって千人名前を連ねよう!上級編194 (315)
映画の題名でしりとり (627)
本の題名でしりとり (667)
四字熟語の一字を残せ!! その197 (359)
似非テレホンショッキング その2 (292)
なんだかんだお題でつなごうよ 19 (723)
【駅名でしりとり】140番線 (189)
★☆クイズしりとり 【特設会場】☆★ (271)
漢字2文字言葉の1文字を変えて・その465 (929)
なんだかんだお題でつなごうよ(昭和編) (230)
漢字1文字人名取り 漫画・ゲーム・アニメ編その96 (436)
新・漢字人文字取って千人名前を連ねよう Vol.238 (411)
数字のついた映画を並べてくスレッド (265)
--log55.com------------------
【狼は眠らない】支援BIS総合スレ 2【辺境の老騎士】
ハーメルン作者のスレ128
WEB小説は女装・性転換(TSF)作品の宝庫♪ Part.64【ワッチョイ】
【内藤騎之介】異世界のんびり農家 七村目
小説家になろう出版スレ143
【小説投稿サイト・令和小説大賞】LINEノベル02【ストレートエッジ・三木一馬】
暁〜小説投稿サイト〜 について語るスレ 33
【小説家になろう】VRゲーム作品総合スレ【VRMMO】 Part.6