1 名前:デフォルトの名無しさん [2012/03/21(水) 13:47:38.31 ] このスレッドは 「どんなにくだらないC#プログラミングに関する発言でも誰かが優しくレスをしてくれるスレッド」です。 ほかのスレッドでは恐ろしくて書き込めないような低レベル、もしくは質問者自身なんだか意味がよく分からない質問、 ググろうにもキーワードが分からない場合など、勇気をもって書き込んでください。 内容に応じて、他スレ・他板へ行くことを勧められる、あるいは誘導される場合がありますがご了承下さい。 なお、テンプレ2行目が読めない回答者は邪魔なので後述のC#相談室に移動して下さい。 >>980 を踏んだ人は新スレを建てて下さい。 >>980 が無理な場合、話し合って新スレを建てる人を決めて下さい。 ■前スレ ふらっとC#,C♯,C#(初心者用) Part87 toro.2ch.net/test/read.cgi/tech/1330881286/ ■関連スレ C#, C♯, C#相談室 Part70 toro.2ch.net/test/read.cgi/tech/1327570969/ ミスターサタンのC#相談室 hibari.2ch.net/test/read.cgi/tech/1092656075/ VB.NET質問スレ(Part38) toro.2ch.net/test/read.cgi/tech/1325083428/ くだすれC++/CLI(初心者用)part2 hibari.2ch.net/test/read.cgi/tech/1268613679/
183 名前:デフォルトの名無しさん mailto:sage [2012/03/24(土) 04:58:22.93 ] サードーパーティのクラスライブラリとかそういうの以前の問題で パスがどうなってるかわかってないだけだなw 自分が使いたいwavの名称がbeep.wavなのに 読み込ませようとしてるファイル名称がtest.wavっていうのもあれだし
184 名前:180 mailto:sage [2012/03/24(土) 05:01:50.71 ] >>183 ごめんなさい、スレに書き込む時test.wavって変えただけで 実際はbeep.wavというファイルで保存されててコードもそう書いてます。 おっしゃるとおりでおそらくパスが分かってないんだと思います。 カレントディレクトリがどこなのか分かってないのですが、 多分プロジェクト名(2番目の方)と考えてOpenStream("sounds\test.wav")という形でも試してみたのですが、 やはりダメでした。
185 名前:デフォルトの名無しさん mailto:sage [2012/03/24(土) 05:06:43.42 ] exeの絶対パスを取得できるライブラリ使って パスを取得してみ IDE上でデバック有り無しで実行するにしても思ってるパスとは違うから
186 名前:デフォルトの名無しさん mailto:sage [2012/03/24(土) 05:08:46.69 ] たぶん ../../sounds/test.wav 相対パスとしてはこうかも
187 名前:デフォルトの名無しさん mailto:sage [2012/03/24(土) 05:12:58.24 ] IDE上でテストする場合は デバッグ情報ありの場合は プロジェクト\bin\Debug デバッグ情報なしの場合は プロジェクト\bin\Release にビルドしたexeを置いてそこから起動してるので 相対パスを指定する場合は..(ピリオド2個で今のフォルダのひとつ上に戻るの意味)でいくつか戻らないと >>182 の プロジェクト名\sounds にはいけない
188 名前:デフォルトの名無しさん mailto:sage [2012/03/24(土) 05:23:36.74 ] これでパスの指定の仕方を勉強してね ideone.com/AVPxH
189 名前:180 mailto:sage [2012/03/24(土) 05:33:24.16 ] >>185-188 ありがとうございます。 パスについて調べてきます。
190 名前:デフォルトの名無しさん mailto:sage [2012/03/24(土) 09:03:54.48 ] 【中国BBS】中国ではJ−POPが飛躍、K−POPは? 「アジアでのJ−POPの活躍で、K−POPのライバルとなるのか?」というスレッドが立てられた。 スレ主のこの質問に対して様々な意見が寄せられている。以下に日本語に翻訳して紹介する。( )は編集部による素朴な感想。 ● スレ主:浅浅笑 日本の漫画、アニメ、音楽が今、インドネシアの若者の間で人気を集めている。日本文化祭が2月にインドネシアの首都ジャカルタで行われた。 これは日本の大衆文化を紹介するイベントで、AKB48と現地の姉妹団体JKT48が共演し、イベントを盛り上げた。 韓国メディアは、J−POPの反撃と題する報道を行い、J−POPはアジアに照準を定めはじめ、K−POPのライバルとなるかもしれないと伝えた。 ● spidercc J−POPはK−POPに完勝です。 ● 2347771 日本の音楽は1980年代にはすでに上海で人気に火がついていましたけど。韓国なんて比較にもなりませんが。 (谷村新司などはずいぶん人気があったようですね) ● MakiのLove K−POPを倒そうと思ったら、韓国に学ばないと。官民あげて推進しないとだよ。 (確かに韓国は官民一体で韓流を推し進めていますね) ● anly_zjc J−POPの方がK−POPよりもいいに決まっている。 ● applepiepie11 K−POPは大幅な赤字が出ている。文化産業の収入に対して、推進のための支出が多いのだ。 個人でも、文化でも、芸能でも、みんな赤字。黒字になったことがない。 これが真相さ。政府の援助頼みで、コンサートも赤字。欧米や日本音楽のコピーばかりで、 K−POPというよりCOPY−POPだよ。 news.searchina.ne.jp/disp.cgi?y=2012&d=0323&f=national_0323_036.shtml
191 名前:デフォルトの名無しさん mailto:sage [2012/03/24(土) 11:07:05.90 ] 一定時間毎に変数の値をCSVファイルに追加追加で書き出していきたいのですが、 どうやったらよいのかとっかかりすら全く思い浮かばず、手も付けられない状態です。 どこかに概要だけでもいいので作り方の考え方が載ってるサイト等 ご存じでしょうか。
192 名前:デフォルトの名無しさん mailto:sage [2012/03/24(土) 11:09:40.23 ] MSDNとか詳しい。サンプルもあったはず。
193 名前:デフォルトの名無しさん mailto:sage [2012/03/24(土) 11:20:53.49 ] タイマーを設定する タイマーが呼ばれたらCSVフォーマットの文字列を作る タブでもコロン区切りでもいいけど+やString.Formatでも使って できたらFile.AppendAllTextで追記 基礎過ぎて解説とかされないレベルと思う
194 名前:デフォルトの名無しさん mailto:sage [2012/03/24(土) 11:27:17.23 ] プログラミングはコンピュータに手順を解説してやる作業だ
195 名前:デフォルトの名無しさん mailto:sage [2012/03/24(土) 14:32:11.67 ] >>140 これ、マジで気になる。 なんで?
196 名前:デフォルトの名無しさん mailto:sage [2012/03/24(土) 14:53:34.28 ] >>131 やばいオレこればっかりやってるw なんで?
197 名前:191 mailto:sage [2012/03/24(土) 15:04:44.39 ] ありがとうございました。 とっかかりのキーワードを教えていただいたので、何とかなりそうです。
198 名前:デフォルトの名無しさん mailto:sage [2012/03/24(土) 16:24:56.60 ] >>195 長くなるからじゃね? 一番ながいMessageBox.Showのオーバーロードだと if( DialogResult.OK == MessageBox.Show( this, "text", "caption", MessageBoxButtons.OKCancel, MessageBoxIcon.Asterisk, MessageBoxDefaultButton.Button1, MessageBoxOptions.DefaultDesktopOnly, @"c:\hoge", HelpNavigator.AssociateIndex, obj ) ){... みたいな
199 名前:デフォルトの名無しさん mailto:sage [2012/03/24(土) 16:31:10.36 ] 興奮する
200 名前:デフォルトの名無しさん mailto:sage [2012/03/24(土) 16:59:27.79 ] ふつう改行するだろ if( DialogResult.OK == MessageBox.Show( this, "text", "caption", MessageBoxButtons.OKCancel, MessageBoxIcon.Asterisk, MessageBoxDefaultButton.Button1, MessageBoxOptions.DefaultDesktopOnly, @"c:\hoge", HelpNavigator.AssociateIndex, obj ) ){ ... } あ、タブは適当に脳内で入れてくれ
201 名前:デフォルトの名無しさん mailto:sage [2012/03/24(土) 17:39:58.04 ] >>131 もマジに分からん
202 名前:デフォルトの名無しさん mailto:sage [2012/03/24(土) 17:42:49.69 ] ifの中に入れる理由が分からない。 保守性ガン無視ですか?
203 名前:デフォルトの名無しさん mailto:sage [2012/03/24(土) 17:56:43.65 ] 理由は分かるよ。賛同はしないけどね。 世の中には行数が少ないことは常に可読性の面でよいことだと思ってる人がいるんですよ。
204 名前:デフォルトの名無しさん mailto:sage [2012/03/24(土) 17:56:58.67 ] >>131 の妄言に一々付き合ってやらんでいい。
205 名前:デフォルトの名無しさん [2012/03/24(土) 18:00:48.96 ] if()に入れるかどうかは、中身をデバッグするかどうかで決めるな 長さは気にしないからMessageBoxみたいなのはカッコに入れちまう
206 名前:デフォルトの名無しさん mailto:sage [2012/03/24(土) 18:07:34.75 ] >>198 だって今どきの液晶なら一行で表示できるだろ 老眼の人は無理だろうけど
207 名前:デフォルトの名無しさん mailto:sage [2012/03/24(土) 18:10:30.47 ] それはゆとりらしい視点だな。
208 名前:デフォルトの名無しさん mailto:sage [2012/03/24(土) 18:20:14.63 ] var resultNG = hoge(); if(!resultNG) こんな感じの命名をしない限りは問題ないね
209 名前:デフォルトの名無しさん [2012/03/24(土) 18:21:17.25 ] >>198 適度に改行すればいいw
210 名前:デフォルトの名無しさん mailto:sage [2012/03/24(土) 18:30:12.33 ] 改行すると余計見づらくなる場合もあるしね たとえばフィールドなどをVSで「すべての参照を検索」する場合、 どういう文脈で使っているのか一目で分からなくなるし
211 名前:デフォルトの名無しさん [2012/03/24(土) 18:34:14.51 ] private void open(){ using (SQLiteConnectionconn = new SQLiteConnection("Data Source=C:\test.db")) { conn.Open(); } } C#でSQLiteの公式サイトの.NETのDLLを使ってこう書いたんですが C:\test.dbが無い状態でopen()を実行すると例外エラーが出ます try〜catchをシンプルに書けるのがusingだと思ったんですがどう修正したらいいでしょうか?
212 名前:デフォルトの名無しさん mailto:sage [2012/03/24(土) 18:36:37.08 ] try-catch じゃなくてDisposeな
213 名前:デフォルトの名無しさん mailto:sage [2012/03/24(土) 18:42:52.61 ] ということは try{ using (SQLiteConnectionconn = new SQLiteConnection("Data Source=C:\test.db")) { conn.Open(); } } }catch(Exception error){ } って書き方にしたらOKでしょうか?
214 名前:デフォルトの名無しさん mailto:sage [2012/03/24(土) 18:44:35.84 ] フォームにMenuStripとSplitContainarをおきました SplitContainarのパネル1とパネル2にそれぞれTextBoxを置いてDockをFillにしました するとMenuStripの領域とTextBoxの領域が被ります これはどうやって被らないように出来ますか?
215 名前:デフォルトの名無しさん mailto:sage [2012/03/24(土) 18:47:10.04 ] >>214 Zオーダーが君の思ってる状態になってないんじゃないの?
216 名前:デフォルトの名無しさん mailto:sage [2012/03/24(土) 18:52:03.99 ] c#の練習でweb browserを使って簡単なブラウザを作ってるんだけど javascriptのconfirmって確認ダイアログを自動でokする機能を付けようとして躓いた ググるとscriptからconfirmを取り除け Microsoft HTML Object Libraryを使え ってあるんだけど、SetAttributeは見つけたけどRemoveAttributeはないし MSHTMLは参考にしたソースでエラーが出てどうしても動くようにできない 何か方法ないですか…
217 名前:デフォルトの名無しさん [2012/03/24(土) 18:55:08.89 ] kj
218 名前:デフォルトの名無しさん mailto:sage [2012/03/24(土) 18:56:05.18 ] >>215 すいませんZから始まるプロパティー名が右下のプロパティ画面に入ってないのですが それはどこから確認するのでしょうか?
219 名前:デフォルトの名無しさん mailto:sage [2012/03/24(土) 18:59:43.32 ] >>218 複数対策方法あるけど一番いいのはFormに貼り付けるときに Zオーダーを意識しながら順番を守ることかな www.atmarkit.co.jp/fdotnet/dotnettips/297changezorder/changezorder.html
220 名前:デフォルトの名無しさん mailto:sage [2012/03/24(土) 19:00:25.70 ] >>213 そこでcatchしていいのならそれでいい
221 名前:デフォルトの名無しさん mailto:sage [2012/03/24(土) 19:01:05.08 ] >>206 一行にまとめられる記述は老人を馬鹿にしてでも一行にまとめなきゃいけないの?
222 名前:デフォルトの名無しさん mailto:sage [2012/03/24(土) 19:01:31.46 ] 「表示」メニューから「タブオーダー」を選ぶ. たいていFillをNoneにしてから右クリックして「最背面に移動」とかすればそのうちに直るw
223 名前:デフォルトの名無しさん mailto:sage [2012/03/24(土) 19:02:18.90 ] >>218 をつけ忘れた
224 名前:デフォルトの名無しさん [2012/03/24(土) 19:02:26.13 ] >>222 それは面倒すぎw デザイナーが触る分離部分をちょろっといじればいいだけなんだけどねw
225 名前:デフォルトの名無しさん mailto:sage [2012/03/24(土) 19:03:31.58 ] >>219 ドキュメントアウトライン使えばよくね?
226 名前:デフォルトの名無しさん mailto:sage [2012/03/24(土) 19:04:56.15 ] >>218 xy座標でもxやyからじゃなくてtopやleftだろ zは奥行きだ BringtoFront()やSendtoBack()で遊んでみろ
227 名前:デフォルトの名無しさん mailto:sage [2012/03/24(土) 19:06:24.79 ] >>225 ほーこんなのあるのか
228 名前:デフォルトの名無しさん mailto:sage [2012/03/24(土) 19:06:54.44 ] >>213 catchの必要性が感じられない msdn.microsoft.com/ja-jp/library/ms229005.aspx
229 名前:デフォルトの名無しさん mailto:sage [2012/03/24(土) 19:54:35.07 ] >>220 >>228 これでもいいけどもっと良い方法があるということでしょうか? >クリーンアップ コードでは try-finally を使用し、try-catch の使用は避けてください。 適切に記述された例外コードでは、try-finally の方が try-catch よりもはるかに一般的です。 try-finallyで書き換えたらいいってことでしょうか?
230 名前:218 mailto:sage [2012/03/24(土) 20:09:50.24 ] いろいろアドバイスがついててパニックになりました
231 名前:デフォルトの名無しさん mailto:sage [2012/03/24(土) 20:32:32.42 ] >>229 228が言ってるのはこっちだろう >System.Exception や System.SystemException などの不特定の例外をアプリケーション コードでキャッチして、エラーを処理しないようにしてください。 >アプリケーションでエラーを処理することが許容される場合もありますが、そのような場合はごくまれです。 213が言っているのは >特定の例外が特定のコンテキストでスローされる理由を把握できている場合は、その例外をキャッチするようにしてください。 >回復可能な例外だけをキャッチする必要があります。
232 名前:デフォルトの名無しさん mailto:sage [2012/03/24(土) 20:34:26.90 ] using (SQLiteConnection conn = new SQLiteConnection("Data Source=C:\test.db")){ conn.Open(); } は try{ SQLiteConnection conn = new SQLiteConnection("Data Source=C:\test.db"); conn.Open(); } finally{ conn.Dispose();//Closeかも } って意味ね だから今回の例でusing(try-finally)しちゃうとOpen後に即Closeされるよ Open時のエラーを捕まえたいなら普通にtry-catchでいい
233 名前:デフォルトの名無しさん mailto:sage [2012/03/24(土) 20:58:20.65 ] >>231 >>232 理解できました catchにExceptionやSystemExceptionを使わないでそこで起き得るエラーコードを限定的に書いて処理するようにします
234 名前:デフォルトの名無しさん mailto:sage [2012/03/24(土) 21:00:22.39 ] TabControlでAlignmentをBottom、AppearanceをButtonsにすると、TabPageの高さが0になって変更できないのは仕様(´・_・`)?
235 名前:デフォルトの名無しさん mailto:sage [2012/03/24(土) 21:55:08.15 ] TabControl.Appearance プロパティ msdn.microsoft.com/ja-jp/library/system.windows.forms.tabcontrol.appearance%28v=vs.90%29.aspx >Appearance プロパティを Buttons に設定した場合は、タブ ページの内容が正しく表示されるように >Alignment プロパティを Top に設定する必要もあります。 キーワードがわかってるなら検索しろよ 2chで聞くよりずっとはやいから
236 名前:デフォルトの名無しさん mailto:sage [2012/03/24(土) 22:10:01.63 ] ここで質問して解決できたためしないよ ここでグタグダやってるうちにサクッとググったほうがいい ググって理解できないならなおさらここの回答じゃ理解できない
237 名前:デフォルトの名無しさん [2012/03/24(土) 22:10:53.09 ] 2012-03-24T20:00:40+09:00 みたいな文字列を普通の日付に変える方法教えろ
238 名前:デフォルトの名無しさん [2012/03/24(土) 22:12:55.05 ] がんばれ^^
239 名前:デフォルトの名無しさん mailto:sage [2012/03/24(土) 22:15:51.92 ] それは普通の日付じゃなくて異常な日付なんすか^^ 13月32日みたいにおかしくないように見えるけど^^
240 名前:デフォルトの名無しさん mailto:sage [2012/03/24(土) 22:17:15.24 ] 既に普通の日付だよな。
241 名前:デフォルトの名無しさん mailto:sage [2012/03/24(土) 22:21:24.14 ] >>237 DateTime.ParseExact メソッド msdn.microsoft.com/ja-jp/library/system.datetime.parseexact%28v=vs.100%29.aspx
242 名前:デフォルトの名無しさん mailto:sage [2012/03/24(土) 22:23:08.54 ] >>221 空気読めよ 老人は消え去れって言われてるの
243 名前:デフォルトの名無しさん [2012/03/24(土) 22:28:57.53 ] >>239 Tとか+とか書いてあるから普通じゃない
244 名前:デフォルトの名無しさん mailto:sage [2012/03/24(土) 22:37:47.54 ] 規則で1行80文字ないし100文字に制限されてるから どこかの言語みたいなIDEに頼って長い名前をつける言語は厳しいなあ >>243 少なくとも標準の書式指定に存在するのに普通じゃないってどこの常識の話? msdn.microsoft.com/ja-jp/library/az4se3k1%28v=vs.80%29.aspx >ラウンド トリップする日付と時刻のパターン >タイム ゾーン情報を保持するパターンを使用するカスタム DateTime 書式指定文字列を表します。 >このパターンは、Kind プロパティを含めた DateTime の形式をテキストでラウンド トリップするように意図されています。 >書式設定された文字列は、Parse または ParseExact を正しい Kind プロパティ値を指定して変換前の文字列に戻ることができます。 >カスタム書式指定文字列は、"yyyy'-'MM'-'dd'T'HH':'mm':'ss.fffffffK" です。 >この指定子のパターンは、定義済みの標準です。したがって、使用されるカルチャまたは指定された書式プロバイダに関係なく、常に同じです。 >(o) Roundtrip (local):. . . . 2006-04-17T14:22:48.2698750-07:00
245 名前:デフォルトの名無しさん mailto:sage [2012/03/24(土) 22:39:51.02 ] うざ
246 名前:デフォルトの名無しさん mailto:sage [2012/03/24(土) 23:23:12.90 ] 最近のプログラマーは提供する側じゃなく利用者側の思考なのね
247 名前:デフォルトの名無しさん mailto:sage [2012/03/24(土) 23:26:03.52 ] ゆとりって怖い
248 名前:デフォルトの名無しさん mailto:sage [2012/03/24(土) 23:32:29.15 ] おまえは金を出して作ってもらう方がいいよ アホは作るだけ無駄だから土下座して頼むしかない
249 名前:デフォルトの名無しさん [2012/03/25(日) 00:54:33.14 ] >>181 英語のリファレンスマニュアルを四苦八苦しながら読んでマルチページの取得に成功しました。 ただ、言わせてもらえれば、初めて触れるライブラリについて少しでも情報が欲しくて質問している人間に、素養がないとかゆとりとかこのスレの意義ってなんですか? 初心者用って看板外して、初心者をいじめるてニヤニヤするってスレタイに変えたらどうですか? プログラムって、ちょっとしたコツやちょっとしたヒントで前に進めますけど、そのヒントになかなか気づけなかったり得られないから難しいんですよね。 人に教えるってことは自分自身に確認したり、新たな発見あったりとお互いWin - Winだと思うんですが。 このスレでまともに質問に回答してる人ってぜんぜん見えないですね。 まぁ私は答えにたどり着きましたが、これじゃフィードバックする気にならないですね
250 名前:デフォルトの名無しさん mailto:sage [2012/03/25(日) 00:59:57.68 ] 粘着質なのは分かったから黙っててくれ
251 名前:デフォルトの名無しさん mailto:sage [2012/03/25(日) 01:00:53.69 ] なんでこここんなに香ばしいの?
252 名前:デフォルトの名無しさん mailto:sage [2012/03/25(日) 01:04:21.85 ] >>251 いつものことですよ ID欲しいわ〜
253 名前:デフォルトの名無しさん mailto:sage [2012/03/25(日) 01:05:27.85 ] このスレからの卒業おめでとう もうこんな所に戻って来るんじゃないぞ いや冗談じゃなくマジで ここにいるとスポイルされっから
254 名前:デフォルトの名無しさん mailto:sage [2012/03/25(日) 01:06:08.07 ] 2ちゃんに書き込んでる時点でry
255 名前:デフォルトの名無しさん mailto:sage [2012/03/25(日) 01:21:10.50 ] >>249 こういうレス見るとゆとりなんだなぁって思うわ
256 名前:デフォルトの名無しさん mailto:sage [2012/03/25(日) 01:24:05.84 ] 具体的にどこが?
257 名前:デフォルトの名無しさん mailto:sage [2012/03/25(日) 01:24:38.39 ] >>252 そういやム板なんでIDないんだろう
258 名前:デフォルトの名無しさん mailto:sage [2012/03/25(日) 01:44:31.24 ] >>249 匿名で書き込んどいて真摯に答えろだなんてなめたこと言ってんじゃねーよゆとりが
259 名前:デフォルトの名無しさん mailto:sage [2012/03/25(日) 01:45:39.52 ] ふぁびょるやつはゆとり以下
260 名前:デフォルトの名無しさん mailto:sage [2012/03/25(日) 01:46:51.30 ] レス早いね ふぁびょちゃってた?
261 名前:デフォルトの名無しさん mailto:sage [2012/03/25(日) 01:49:19.35 ] 春休みだぜ 回答者は腹くくれよ
262 名前:デフォルトの名無しさん mailto:sage [2012/03/25(日) 01:50:21.12 ] >>260 たまたまだよ
263 名前:デフォルトの名無しさん mailto:sage [2012/03/25(日) 01:56:40.66 ] 春休みはいつにも増して酷いな
264 名前:デフォルトの名無しさん mailto:sage [2012/03/25(日) 02:05:30.16 ] dobon.net/vb/dotnet/file/myversioninfo.html ここの一番下のほう、「AssemblyName.Versionから取得する」で自分のバージョンを取得することには成功したのですが バージョンの比較をしようとしたときver.CompareTo()の引数の作り方がわかりません ver2 =(Version) ”2.0.0.0”; a = ver.CompareTo(ver2); のように利用したいのですがわかる方いましたらお願いします
265 名前:デフォルトの名無しさん mailto:sage [2012/03/25(日) 02:16:14.97 ] Version.Parse("9.9.0.0");でいけた。スマソ
266 名前:デフォルトの名無しさん mailto:sage [2012/03/25(日) 02:17:24.53 ] win-winと言うからにはおまえも何か提供できるのか おねだり側の分際で自惚れるのも程々にしておけよ 質問スレは星の数ほどあるけどな、結局最後に恨み節を吐く奴は自分の望む回答が得られたかどうかが全てだ そんな奴は腐るほど見てきた ひどい奴はこんなスレ意味ねえから潰せと来るもんだ 社会に出る前にお前の自己中心的な腐った頭から潰しておけ
267 名前:デフォルトの名無しさん mailto:sage [2012/03/25(日) 02:42:11.90 ] つまんねー人間ほどダラダラと言い訳を述べるよなあーお前も>>249 も
268 名前:デフォルトの名無しさん mailto:sage [2012/03/25(日) 03:21:53.75 ] うまく作れなくてイライラしてるんだろうけど巻き込むなよ
269 名前:デフォルトの名無しさん [2012/03/25(日) 03:46:00.98 ] 配列コピーするのに↓だとできるのに static string[,] ArrayCopy(string[,] array1, int sourceIndex, int destinationIndex, int length) { string[,] array2 = new string[array1.GetLength(0), array1.GetLength(1)]; for (int a = 0; a < length; a++) { for (int b = 0; b < array1.GetLength(1); b++) { array2[a + destinationIndex, b] = array1[a + sourceIndex,b]; } } return array2; } ↓だとできないのはなぜか教えろ static string[,] ArrayCopy(string[,] array1, int sourceIndex, int destinationIndex, int length,string[,]array2) { for (int a = 0; a < length; a++) { for (int b = 0; b < array1.GetLength(1); b++) { array2[a + destinationIndex, b] = array1[a + sourceIndex,b]; } } return array2; }
270 名前:269 [2012/03/25(日) 03:48:50.45 ] 下のarray1はarray2と同じ
271 名前:デフォルトの名無しさん mailto:sage [2012/03/25(日) 03:49:53.75 ] >>269 がんばれ
272 名前:デフォルトの名無しさん [2012/03/25(日) 04:07:34.29 ] やり方わかった 引数変えると元の配列が変わるのか なんでこんなにくそなんだ
273 名前:デフォルトの名無しさん mailto:sage [2012/03/25(日) 04:08:22.69 ] private class Person { public String personText = "Person"; } private class Student : Person { private String studentText = "Student"; public String getText() { return (personText + studentText); } } public class Entry { public static void test(Person p) { Student s = p as Student; Console.Write(s.getText()); } } これで、Entry.testをコールした後、GCでstudentTextは解放されるのでしょうか?
274 名前:デフォルトの名無しさん mailto:sage [2012/03/25(日) 04:11:03.30 ] >>272 自分が糞なのが棚にあがってる >>273 なんでそんなこと心配するのか
275 名前:274 mailto:sage [2012/03/25(日) 04:13:40.53 ] >>274 作ってるやつのPerson的クラスで画像読み込みとかしようと考えてて、 メモリリークで落ちるのが怖くて
276 名前:デフォルトの名無しさん [2012/03/25(日) 04:15:30.11 ] その程度のテキストでどれだけメモリ食うんだよw
277 名前:273 mailto:sage [2012/03/25(日) 04:32:06.99 ] >>276 サイズに関わらずメモリリークを意識すべきだと思うけどな 調べてたら分かった。 キャストしても参照の型が変わるだけで、コンストラクタすら呼ばれないみたい
278 名前:デフォルトの名無しさん [2012/03/25(日) 04:34:08.70 ] この程度のテキストなんて意識してもしかたないよw むしろがっつりメモリ食う方でちゃんと計算すればいいだけ
279 名前:デフォルトの名無しさん mailto:sage [2012/03/25(日) 05:08:43.26 ] >>273 解放されない。 コンパイル時に確定するstringはメタデータとして読み込まれるので、 アセンブリがロードされた時にメモリ上に確保されて、AppDomainが破棄されるまでは残る。 文字列インターン プールから取ってきてるので大量にPersonのインスタンス作っても、消費するのは1個分だけ。 まぁ、著しく常識外れな長さの文字列をコードに埋め込まなければ気にする必要はないね。
280 名前:273 mailto:sage [2012/03/25(日) 05:28:53.47 ] >>279 文字列インターン プールってのは初耳だった。 裏でこんなことやってたのか。 勉強になった。ありがとう。
281 名前:デフォルトの名無しさん [2012/03/25(日) 06:10:22.04 ] XmlWriterでDispose()しようとすると「アクセス出来ない保護レベルです」と怒られます。 原因とその解決法ご存知の方いらっしゃいましたらご回答ください。 当方VS2010/.Net Framework4です。
282 名前:デフォルトの名無しさん mailto:sage [2012/03/25(日) 06:14:19.39 ] コードだせ
283 名前:デフォルトの名無しさん [2012/03/25(日) 06:29:08.53 ] XmlWriterSettings SaverHelper = new XmlWriterSettings(); SaverHelper.Indent = true; SaverHelper.IndentChars = " "; SaverHelper.Encoding = Encoding.UTF8; XmlWriter Saver = XmlWriter.Create(saveServer.FileName, SaverHelper); Saver.Flush(); Saver.Close(); Saver = XmlWriter.Dispose(true); ↑ ここに赤波線 関数はprivate voidです 保護レベルとなると違うところに原因があるような・・・