ふらっとC#,C♯,C#(初心者用) Part78
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2011/08/03(水) 03:44:18.77「どんなにくだらないC#プログラミングに関する発言でも誰かが優しくレスをしてくれるスレッド」です。
ほかのスレッドでは恐ろしくて書き込めないような低レベル、もしくは質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からない場合など、勇気をもって書き込んでください。
内容に応じて、他スレ・他板へ行くことを勧められる、あるいは誘導される場合がありますがご了承下さい。
なお、テンプレ2行目が読めない回答者は邪魔なので後述のC#相談室に移動して下さい。
>>980を踏んだ人は新スレを建てて下さい。
>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。
■前スレ
ふらっとC#,C♯,C#(初心者用) Part77
http://hibari.2ch.net/test/read.cgi/tech/1310106189/
■関連スレ
C#, C♯, C#相談室 Part67
http://hibari.2ch.net/test/read.cgi/tech/1308128665/
ミスターサタンのC#相談室
http://hibari.2ch.net/test/read.cgi/tech/1092656075/
VB.NET質問スレ(Part36)
http://hibari.2ch.net/test/read.cgi/tech/1301828549/
くだすれC++/CLI(初心者用)part2
http://hibari.2ch.net/test/read.cgi/tech/1268613679/
0153デフォルトの名無しさん
2011/08/13(土) 10:43:59.90DebuggerStepThrough属性付けてみたら
0154デフォルトの名無しさん
2011/08/13(土) 10:56:46.47ありがとうございます。できました。
>>152
try catch で握りつぶすと、WebClient としての動作が違ってくるので、
それはできませんでした。
0155デフォルトの名無しさん
2011/08/13(土) 11:11:51.160156デフォルトの名無しさん
2011/08/13(土) 11:26:40.790157デフォルトの名無しさん
2011/08/13(土) 11:27:25.770158デフォルトの名無しさん
2011/08/13(土) 12:36:37.60> 組み込みはオーバースペックなcpu載せる事まず無いから
って書くなら 8bit も忘れないでくれ。
って言うか、普通の炊飯器だとまだ 8bit のほうが多いんじゃね?
http://www.semicon.toshiba.co.jp/product/micro/appli/app04/1187923_7183.html
さすがに 4bit のやつはなくなる方向みたいだが。
http://www2.renesas.com/micro/ja/product/17k_dts/legacy.html
0159デフォルトの名無しさん
2011/08/13(土) 12:45:42.480160デフォルトの名無しさん
2011/08/13(土) 13:12:57.72たとえば、文字列の追加、削除、存在確認ができればいい。
ただ存在確認はハッシュとか B-Tree とかでそれなりの速度が欲しい。
また、同一の値を複数格納するのはなし。
0161デフォルトの名無しさん
2011/08/13(土) 13:22:23.902.0ならMSDNでISet<T>のインターフェイス見て
それと全く同じの定義した上でDictionaryのラッパーとして実装したら
0162デフォルトの名無しさん
2011/08/13(土) 13:29:49.10https://github.com/mono/mono/blob/master/mcs/class/System.Core/System.Collections.Generic/HashSet.cs
0163デフォルトの名無しさん
2011/08/13(土) 13:45:19.17Form2内でmessageBox.show(MessageBoxButtons.OKCancel)を呼ぶ。
この時、キャンセルを選ぶと、Form2ごと消えていまいます。
これはForm2をshowDialog()で呼ぶ場合、どうしようもないでしょうか。
0164デフォルトの名無しさん
2011/08/13(土) 13:47:32.38そんなニッチなマイコンよく見つけてきたなw
ここ数年はローコスト向けの16bitMCUもいろいろ出てきてるんで(TIのMSP430とか)、
>>150の言うこともそう間違ってるわけじゃないけどね。
0165デフォルトの名無しさん
2011/08/13(土) 13:55:12.88なるほど、HashSet<T> いいね。
サンクス。
ない時は、Directory<Key, Value> の Value にダミーで null 入れて代用しようと思ってた。
0166デフォルトの名無しさん
2011/08/13(土) 13:56:39.76再現しないから答えられない
showDialog読んでるイベントハンドラのコード貼れや
0167デフォルトの名無しさん
2011/08/13(土) 13:57:38.89貼る時は>>2使って貼ってね
0168デフォルトの名無しさん
2011/08/13(土) 13:59:50.67うん。HashSetがなかった頃はnull入れてやってたよ、それでも全然問題ないしね。
0169デフォルトの名無しさん
2011/08/13(土) 14:00:11.09> そんなニッチなマイコンよく見つけてきたなw
この業界にいれば普通に知ってると思うぞ。
まあ、スレチだからどうでもいいことだが。
0170デフォルトの名無しさん
2011/08/13(土) 14:02:40.28あんたも相当精神病んでるな。
むしろこの業界(ってどの業界だよ)に居れば、日本のマイコンなんか世界的には
まったく相手にされていないことこそ常識なんですが。
ルネサスですらほとんど国内向けのものしか作ってない。
0171デフォルトの名無しさん
2011/08/13(土) 14:05:28.080172デフォルトの名無しさん
2011/08/13(土) 14:10:26.210173デフォルトの名無しさん
2011/08/13(土) 14:30:12.77//form1.cs
private void button8_Click(object sender, EventArgs e)
{
Form2 f2 = new Form2();
f2.f1 = this;
if (f2.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
//処理を記述
}
}
///Form2.cs
public Form1 f1
private void button1_Click(object sender, EventArgs e)
{
DialogResult dr = MessageBox.Show("以下で登録します。よろしければOKを押してください。" , "確認", MessageBoxButtons.OKCancel, MessageBoxIcon.Information);
if (dr == DialogResult.OK)
{
//処理を記述
}
}
0174デフォルトの名無しさん
2011/08/13(土) 14:50:59.01>>2をご利用になってお貼り下さいますよう申し上げたじゃねえかこのゴミクズ
再現しない
0175デフォルトの名無しさん
2011/08/13(土) 14:55:09.31やはり当然ながら発生しない。
0176デフォルトの名無しさん
2011/08/13(土) 14:55:36.69それが問題を再現するかどうかを確認することも怠る人間は、本質的にプログラミングに
向いてないとしか言いようがない。
0177デフォルトの名無しさん
2011/08/13(土) 15:06:29.37たいした量じゃねーから使わなかったんだよ
>>176
現状問題が発生してるから質問してるわけです。
0178デフォルトの名無しさん
2011/08/13(土) 15:07:39.94>むしろこの業界(ってどの業界だよ)に居れば、日本のマイコンなんか世界的には
>まったく相手にされていないことこそ常識なんですが。
>ルネサスですらほとんど国内向けのものしか作ってない。
何を言いたいのかさっぱりわからん。
海外の状況はよく知らんけど、ルネが国内向けに作ってるやつを普通に
使ってるだけだよ。
まあ、ニッチな世界というのは認めるけど、そもそも組み込み業界なんて
狭いから、各社のマイコンのシリーズぐらいは押さえとくのは普通だと思
うけどね。
0179デフォルトの名無しさん
2011/08/13(土) 15:11:54.50そのコードで発生するかどうかは真っ白のプロジェクトに同じコードを貼り付けて実行すれば分かるでしょう?
なぜそれをしない?
ここは初心者スレではあるが、手取り足取りスレとは違うぞ
0180デフォルトの名無しさん
2011/08/13(土) 15:13:53.020181デフォルトの名無しさん
2011/08/13(土) 15:17:06.44新規プロジェクトにその部分だけ引っこ抜いて実行したら再現しませんですた。。。
くそ。。。なんでだ。。。
0182デフォルトの名無しさん
2011/08/13(土) 15:17:47.17ここのスレ、C#の初心者用で問題ない??
ちょっと質問したいんだが・・・・・・。
0183デフォルトの名無しさん
2011/08/13(土) 15:19:47.28Form2の中でClose呼んでねえかClose
あるならブレークポイント貼ってみろ
無いならもう分からん
0184デフォルトの名無しさん
2011/08/13(土) 15:21:23.49ボタンにDialogResult設定してるだろ?
それNoneにしてみ
0185デフォルトの名無しさん
2011/08/13(土) 15:27:22.19確かにDialogResultにOKを設定しています。
そして外したら期待する動作になりました。
ただしf2をよんだ側でDialogResult.OKが返ってこなくなったので実装し直しです。
0186デフォルトの名無しさん
2011/08/13(土) 15:28:23.55早まるな
this.DialogResultに入れてやれば良いだけだ
0187デフォルトの名無しさん
2011/08/13(土) 15:29:37.65this.DialogResult = MessageBox.Show("以下で登録します。よろしければOKを押してください。"
if (this.DialogResult == DialogResult.OK)
{
this.Close();
}
0188デフォルトの名無しさん
2011/08/13(土) 15:36:09.760189デフォルトの名無しさん
2011/08/13(土) 15:40:53.05>>182
問題ないよ〜
けど煽り屋がいるから心して質問してくれ
変な人だと思ったら返事をしない触らない
0190デフォルトの名無しさん
2011/08/13(土) 16:37:33.49それでは心して質問させて頂きます(笑)
初心者(C#未経験者)向けの書籍などの
最低限度の知識は全て習得するのが当然ですので、その件は置いといて、
次のステップで、みなさんが御使用された書籍を御教え頂ければと思います。
「書籍名」と、「何に役立ったのか」など具体的な内容をお聞かせ頂ければ、大変参考になります。
もちろん、みなさんの中でもレベル感(どこまでが初心者?・最低限度の知識とは?)や
プログラムに対する使用目的などが異なることも十分承知しておりますので、
みなさんの思うがまま、お聞かせいただければ思います。
0191デフォルトの名無しさん
2011/08/13(土) 16:45:27.67最低限の知識も、仕事なのか趣味なのかでも違うと思うし。。。
オライリーにアレルギーがないなら、オライリー買っておけ!
0192デフォルトの名無しさん
2011/08/13(土) 17:08:16.130193デフォルトの名無しさん
2011/08/13(土) 17:25:15.53強いて言えばEssentialWPFだが、これは初心者が読んでも仕方ないだろう
0194デフォルトの名無しさん
2011/08/13(土) 17:52:46.81ただしLL、テメーはダメだ
0195デフォルトの名無しさん
2011/08/13(土) 17:55:02.410196デフォルトの名無しさん
2011/08/13(土) 19:17:24.10COMだから一緒
0197デフォルトの名無しさん
2011/08/13(土) 20:41:48.94Sendinputを代用する.netの関数とか無いんですかね。
0198デフォルトの名無しさん
2011/08/13(土) 20:49:27.600199デフォルトの名無しさん
2011/08/13(土) 23:29:58.320200デフォルトの名無しさん
2011/08/14(日) 00:08:59.13ラジオボタンを設置しました。
で、こいつらを排他にしたいのですが、方法ありますか?
0201デフォルトの名無しさん
2011/08/14(日) 00:27:18.160202デフォルトの名無しさん
2011/08/14(日) 00:27:34.84テキストボックス4つ並べてとか、素人ですって感じがするのだけれど
どうしたもんだか・・・
0203デフォルトの名無しさん
2011/08/14(日) 00:50:15.94この辺参考に
http://code.google.com/p/ipaddresscontrollib/
http://www.codeproject.com/KB/miscctrl/IpAddrCtrlLib.aspx
http://sanity-free.org/127/an_ipaddress_control_the_win32_sysipaddress32_control_in_csharp.html
0204デフォルトの名無しさん
2011/08/14(日) 00:57:14.59方法1
AutoCheck = falseにして手動で。
方法2
RadioButtonをGroupBoxの中ではなく上に配置する。
でもそんなウィンドウズアプリの標準的な作法に反する動作はそもそも採用しないのが一番正解。
0205デフォルトの名無しさん
2011/08/14(日) 01:36:38.68{
public string name="";
public int number;
}
というクラスの配列
student[] st;
があったとして、配列の中身をnumber順にソートしたいのですが
どうすれば簡潔に書けますか?
0206デフォルトの名無しさん
2011/08/14(日) 01:59:48.98var list = new student[10];
var result = from s in list orderby s.number select s;
0207デフォルトの名無しさん
2011/08/14(日) 06:12:02.59MSのサイトにあるリファレンスでも見ながらサンプルPGでも組んでみるべきですかね。
0208デフォルトの名無しさん
2011/08/14(日) 06:28:51.84配列の中身をソートしたいならArray.Sortでよくね?
Array.Sort(st, (x, y) => x.number < y.number ? -1 : 1);
0209デフォルトの名無しさん
2011/08/14(日) 10:26:41.81解凍後のdatのByteサイズでいいんですよね?
ローカルdatサイズ > サーバーdatサイズになって、416 HTTP_RANGE_NOT_SATISFIABLEで返ってきてしまうんですが
もしかして圧縮状態のサイズを指定しなきゃいけないんですか?
HEPL!
0210デフォルトの名無しさん
2011/08/14(日) 10:33:59.520211デフォルトの名無しさん
2011/08/14(日) 10:36:29.97gzipを指定している場合はRangeを打っては”いけない”
http://www.monazilla.org/index.php?e=198
>(但し、差分を圧縮して受け取ることはできないためAccept-Encoding: gzipは付けません。)
0212デフォルトの名無しさん
2011/08/14(日) 10:41:44.700213デフォルトの名無しさん
2011/08/14(日) 11:01:59.38受け取れない・・・だと・・・
1回目:Gzip全レス受け取り
2回目:text/plane, AddRange指定(datサイズ(GZip解凍後))
3回目以降:text/plane, AddRange指定(取得済datサイズ)
だったのか
だからあかんかったんや・・・
人
ありがとう、これで救われる(´・ω・`)
0214デフォルトの名無しさん
2011/08/14(日) 11:23:30.98intだから引き算でよくね?
0215デフォルトの名無しさん
2011/08/14(日) 11:34:30.98アンダーフローするかもしれないよ。
0216デフォルトの名無しさん
2011/08/14(日) 12:27:54.68ジェネリックFunc<...>だけで、Cでいう関数へのポインタ部分って記述できるって解釈でいいんだよな。コンパイルは通ったし。
こんな感じ↓
void Y( Func<int, double> f){
double Z = f(10);
...
}
static double X(int a){...}
static void Main(){
Y( X );
...
}
delegate、匿名メソッドとかまじめに読んでたら、
3.0になって、ラムダ式がでてきてせっかく覚えたdelegateが不要になって、式木にまで説明が及んで、おつむが死にかけた。
delegateはこれから書くコードとしてどりあえず要らない子でいいの?
0217デフォルトの名無しさん
2011/08/14(日) 12:31:33.620218デフォルトの名無しさん
2011/08/14(日) 12:38:11.36横からだが、整数の演算で下限値を振り切っても、その呼び方は「オーバーフロー」だぜ
アンダーフローは浮動小数点演算時に指数表現できなくなる現象
floatなら2の-130乗くらい
0219デフォルトの名無しさん
2011/08/14(日) 12:38:13.33staticでなくてもいいのが関数ポインタと違うところ
デリゲートのコンストラクタは実際には
new Func<int, double>(呼び出し先のオブジェクト, 関数ポインタ)
のようになっている
0220デフォルトの名無しさん
2011/08/14(日) 12:39:42.410222デフォルトの名無しさん
2011/08/14(日) 13:04:17.79レスthx,
メンバ関数でもいけるのが味噌だね。動的にインスタンス関数をアドレッシングできる。
結局、過去バージョンとの互換性以外で、delegateは完全に忘れてはいけない例ってある?
例えば、
static double hh(double x){ .... }
Func<double, double> z = hh;
という具合に、ジェネリックだけで記述できるよね。裏方でどーなってるかは置いといて。
delegateキーワードがないと記述できない例ってあれば教えてください。
0223デフォルトの名無しさん
2011/08/14(日) 13:15:57.92ない
複数ステートメントの匿名メソッド delegate(x) { ... } は x => { ... } で代用できる
ただ、匿名メソッドの引数は省略できるので、イベントハンドラ書くときには便利かもしれないが
一貫性と引き換えにするほどのものではないと思う
0224デフォルトの名無しさん
2011/08/14(日) 13:16:11.82delegateキーワードはデリゲート型の定義と匿名メソッドの使用って2つのケースで使用される
匿名メソッドとしては完全にラムダ式で置き換えられる
デリゲート型の定義としては>>217のためにAction<>/Func<>では足りない
0225デフォルトの名無しさん
2011/08/14(日) 13:28:50.80あっと見落としてたレスthx
そーかrefやoutはFunc内の引数に書くとエラーになるのか・・・
0226デフォルトの名無しさん
2011/08/14(日) 13:31:28.950227デフォルトの名無しさん
2011/08/14(日) 13:35:22.22225のようなケースを除けばそれでほとんど事足りる
0228デフォルトの名無しさん
2011/08/14(日) 14:42:11.430229デフォルトの名無しさん
2011/08/14(日) 14:45:47.440230デフォルトの名無しさん
2011/08/14(日) 14:55:29.52IComparerとかIEqualityComparerを作る拡張メソッドなら
0231デフォルトの名無しさん
2011/08/14(日) 15:00:35.08そもそもEqualityComparer<T>クラス自体が存在しない訳だが
0232デフォルトの名無しさん
2011/08/14(日) 15:01:08.350233デフォルトの名無しさん
2011/08/14(日) 20:37:25.65匿名メソッドでも型推論してくれりゃいいのに。
0234デフォルトの名無しさん
2011/08/14(日) 20:53:29.07なるべく将来的に邪魔にならないようにdelegateなんて冗長な変な目印付けたんだろ
0235デフォルトの名無しさん
2011/08/14(日) 21:02:54.720236デフォルトの名無しさん
2011/08/14(日) 21:40:10.71win7はネトウヨなんだよ
0237デフォルトの名無しさん
2011/08/14(日) 21:52:10.74わかんねーならレスすんなハゲ
0238デフォルトの名無しさん
2011/08/14(日) 21:53:37.380239デフォルトの名無しさん
2011/08/14(日) 21:54:33.191年以上使ってるがそう感じたことは一度もないけどな
0240デフォルトの名無しさん
2011/08/14(日) 22:05:31.660241デフォルトの名無しさん
2011/08/14(日) 23:07:12.900242デフォルトの名無しさん
2011/08/14(日) 23:28:39.47EqualityComparer<T>は存在してるし、DefaultはちゃんとTがIEquatable<T>実装してるか確認してるけど?
0243デフォルトの名無しさん
2011/08/15(月) 01:13:05.61ググってもWAV再生に関するページばかりで困っています
ヘッダ解析してバイナリいじるしかないのかな
0244デフォルトの名無しさん
2011/08/15(月) 01:27:57.37一秒のデータ量は、「チャンネル数*ビット数(をバイト換算)*周波数」だったと思うので、
2ch、16bit、44.1khzだったら、「2*2*44100」が一秒のデータ量だったと思う。
だからそのデータ量をほしい時間あたりで割ってやれば取れるんじゃないかな。
圧縮されてたらこのとおりではないかもしれん。
0245デフォルトの名無しさん
2011/08/15(月) 09:08:54.38SamplitudeかAudition立ち上げて
所望の時間にカーソル持って行ってコピペでせーぶ
0246デフォルトの名無しさん
2011/08/15(月) 09:15:27.98まぁバッチ処理としてやりたいんだろうけど、
音声でも映像でも一応データになにがしかのデータ破壊がおこってないか
確認の意味でも目視チェックはやっといた方がいいかと。
0247デフォルトの名無しさん
2011/08/15(月) 09:24:52.800248デフォルトの名無しさん
2011/08/15(月) 10:34:04.73OpenCVSharpでも使え
0249デフォルトの名無しさん
2011/08/15(月) 17:21:23.67インストーラを作成しているのですが、アプリケーションフォルダと同じ階層にフォルダを作成し、
デスクトップにそのショートカットを作成することは可能でしょうか?
┼AplicationFolder
└Hoge
よろしくお願いします。
0250デフォルトの名無しさん
2011/08/15(月) 18:30:33.56Visual studioで出来るインストーラって本当にオマケぐらいの機能しかないので
細かいことをしたいなら「orca」というキーワードでググッてみてください。
Visual studioで作成したmsiを編集するツールです。
0251デフォルトの名無しさん
2011/08/15(月) 20:19:07.34やり方も普通にググれば見つかるはず。
>>249は何も調べずに質問してるな。
0252デフォルトの名無しさん
2011/08/16(火) 09:11:20.13どの様にすればいいのでしょうか?
たとえば
public class xmlData
{
public int[] intData = new int[5] {0, 0, 0, 0, 0};
}
private xmlData scls = new xmlData();
を
XmlSerializer serializer = new XmlSerializer(typeof(xmlData));
FileStream fs = new FileStream("data.xml", FileMode.Create);
serializer.Serialize(fs, scls);
fs.Close();
でできたXMLのint配列を後からint[10]に変更した場合
xmlDataを以下に変更しても
public int[] intData = new int[10] {0, 0, 0, 0, 0, 0, 0, 0, 0, 0};;
Deserializeで読み込んだ段階でint[5]に変更されてしまいます。
XmlSerializer serializer = new XmlSerializer(typeof(xmlData));
FileStream fs = new FileStream("data.xml", FileMode.Open);
scls = (xmlData)serializer.Deserialize(fs); // ←ここでint[5]になっている
fs.Close();
■ このスレッドは過去ログ倉庫に格納されています