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


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

C#, C♯, C#相談室 Part60



1 名前:デフォルトの名無しさん mailto:sage [2010/06/27(日) 03:17:20 ]
(#゚ー゚)つ < C#、.NETの話題はこちらでどうぞ。

前スレ
C#, C♯, C#相談室 Part59
pc12.2ch.net/test/read.cgi/tech/1274019232/

Visual C# 2010 Express Edition 日本語版
www.microsoft.com/japan/msdn/vstudio/express/vcsharp/

その他テンプレ>>1-5くらい


577 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 16:48:58 ]
オートフォーマット切るとか考えたこともないわ
コードのフォーマットにこだわって手修正したりする奴は迷惑なだけ

578 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 18:38:16 ]
デフォの括弧の位置だけは気に入らないけど。。。デフォのままで使ってる。

579 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 18:48:22 ]
そういや全てのソースを整形するにはどーすんの?

580 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 19:48:06 ]
返り値をboolで返すのも、IsXXXみたいな十分に明示的なネーミングのメソッドの場合は除くとして、
一般にはうんこだとされてる手法だと思うけど....
そんな程度の人が偉そうに命令口調で講釈垂れてるんだから嫌になるな

581 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 19:50:15 ]
> 一般にはうんこだとされてる手法だと思うけど....

思わない

582 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 19:53:10 ]
まあ、馬鹿な君ならそうでしょうとも

583 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 19:54:38 ]
一般に続く名詞はなんだろうな

584 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 19:56:00 ]
たとえばTryParseは成功したらTrue、失敗したらFalseだけど
>>580の命名規則にしたがってないからうんこメソッドだな

585 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 20:07:19 ]
Tell, Don't Ask原理主義者か?何事もほどほどに。



586 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 21:27:17 ]
最近だとHashSet<T>.Addは要素が重複してても例外を投げずにfalseを返す

587 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 22:00:20 ]
既にあるVC#プロジェクトでlinq-to-xmlを使いたく、まず最初に
  using System.Xml.Linq;
と宣言を追加しただけの状態でコンパイルしてみたのですが、
  型または名前空間名 'Linq' は名前空間 'System.Xml' に存在しません。アセンブリ参照が不足しています。
というエラーがでるのですが、どうすれば解決できるのですか?

588 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 22:04:43 ]
System.Linq.Xml.Linq.dllを参照設定に追加する
ターゲットフレームワークは.NET3.5か.NET4に設定する必要がある

589 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 22:07:14 ]
あきらめろ

590 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 22:13:00 ]
>>588
ありがとうございます。
対象のフレームワークは、.NerFramework3.5でした。
System.Linq.Xml.Linq.dllの参照設定とはどのようにやるのですか?

591 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 22:15:29 ]
ねーねー。なんで初心者スレ行かないの?

592 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 22:21:04 ]
ソリューションエクスプローラで参照設定を右クリックして参照の追加を選ぶ
.NETタブのSystem.Linq.Xml.dllを選んでOK
LINQ to XMLってちょっと癖があって結構難しいよ?
ちゃんとわかってる人のための便利なオモチャって感じ

593 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 22:33:16 ]
ちゃんとわかってる人のための便利なオモチャって感じだね

594 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 22:40:03 ]
>>592
おお!できました!
ありがとうございました!

595 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 22:44:49 ]
>>594
お役に立ててなによりです



596 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 22:51:40 ]
いえいえどういたしまして

597 名前:デフォルトの名無しさん mailto:sage [2010/07/13(火) 20:39:00 ]
File.Replaceってsoruceとdestinationが同じドライブでないとダメなようだけど、
こんな使いにくい制限をわざわざ設けてる理由って何なんだろう。

ファイルを上書き保存する時なんかに、作業ディレクトリに一旦一時ファイルを
作ってから元のファイルを置き換える用途を当然想定してるんだと思ってたが、
こんな制限があったらこういう使い方できないよね。

598 名前:デフォルトの名無しさん mailto:sage [2010/07/13(火) 20:47:07 ]
その用途ならMoveでもCopyでもいいだろ

599 名前:デフォルトの名無しさん mailto:sage [2010/07/13(火) 20:54:39 ]
馬鹿っぽい(たぶん「ぽい」ではないんだろうが)物言い....

600 名前:デフォルトの名無しさん mailto:sage [2010/07/13(火) 20:59:40 ]
>>597
物理的にファイル動かさなくて済むからでしょ。

601 名前:デフォルトの名無しさん mailto:sage [2010/07/13(火) 21:05:49 ]
>>600
それは事実としては正しいけど、
それって>>597みたいな制限を正当化する理由になるかね?

602 名前:598 mailto:sage [2010/07/13(火) 21:16:23 ]
ファイルシステム上のエントリの参照先を変更するだけなんだから
当然ファイルの実体は全部同じボリューム上にある必要があるだろ

603 名前:デフォルトの名無しさん mailto:sage [2010/07/13(火) 21:18:39 ]
>>602
言ってる意味分かってる?
だから、そういうシステムの都合があるにせよ、
そのシステムの都合をFile.Replaceに「押し付ける」理由をお聞きしてるわけですが。

604 名前:デフォルトの名無しさん mailto:sage [2010/07/13(火) 21:29:48 ]
>>603
MSに聞けとしか。

想像だけどアトミックな操作に使ってくれ(そしてそれは物理ボリュームが別だと無理)ってことなんじゃないの?
同じディレクトリ内の作業でバックアップファイル作るために使うとかさ。

それ以外は Move とか Copy とか使えってことなんじゃないのかね。



605 名前:598 mailto:sage [2010/07/13(火) 21:31:06 ]
WIN32のReplaceFileをラップしただけだろっつうか
ファイルシステムに依存した機能だからこそアトミック性が保証できるんだろっつうか
逆にファイルシステムの都合に依らないファイル操作なんてありえんのかって話だが



606 名前:デフォルトの名無しさん [2010/07/13(火) 21:35:25 ]
なぁ、formの無いプログラムってどうやるん?

タスクトレイだけですませたいんだけど。
フォームがないとデザイン画面でnotifyiconとか作れないし。

607 名前:デフォルトの名無しさん mailto:sage [2010/07/13(火) 21:42:00 ]
態度がでかいな

608 名前:デフォルトの名無しさん [2010/07/13(火) 21:44:36 ]
あの、すみません。

Formの無いプログラムっていうのは、どうやってつくればよろしいんでしょうか?

タスクトレイだけですまたいんです。

フォームがないとVisualStudioのデザイン画面を使い
NotifyIconコントロールなどを貼り付けたりすることができません。

よろしければ、教えてもらいたいのですが。すみません。どうぞ、宜しくお願いします。


609 名前:デフォルトの名無しさん mailto:sage [2010/07/13(火) 21:48:53 ]
改行が多いな

610 名前:デフォルトの名無しさん mailto:sage [2010/07/13(火) 21:51:48 ]
あの、すみません。Formの無いプログラムっていうのは、どうやってつくればよろしいんでしょうか?タスクトレイだけですまたいんです。
フォームがないとVisualStudioのデザイン画面を使いNotifyIconコントロールなどを貼り付けたりすることができません。よろしければ、教えてもらいたいのですが。すみません。どうぞ、宜しくお願いします。

611 名前:598 mailto:sage [2010/07/13(火) 21:53:03 ]
ノリがいいな

612 名前:デフォルトの名無しさん mailto:sage [2010/07/13(火) 21:53:40 ]
>>604
ただの愚痴だけど、>>597みたいな処理を安全に書くのって意外と手間だからさ。

安全っていうのは、例えば仮に何らかの理由でオリジナルのファイルを
作業ディレクトリに作った一時フォルダで置き換えられないとしても、
最低限オリジナルのファイルが失われないことを保証しようと思うと結構面倒。

こういうのこそライブラリで用意されるべきだと思うんだけどな。

613 名前:デフォルトの名無しさん mailto:sage [2010/07/13(火) 21:54:42 ]
すまたin!

614 名前:デフォルトの名無しさん mailto:sage [2010/07/13(火) 21:57:20 ]
今必要だけどないものをウダウダ言ってもムダ
その間にソース書いたほうがよっぽど生産的

615 名前:デフォルトの名無しさん mailto:sage [2010/07/13(火) 21:59:14 ]
>>608
notifyIcon.Visible = true;
しといて
Application.Run();
呼ぶだけ。
これでメッセージループが動く。
終わるときは、
Application.Exit();
を呼ぶ。



616 名前:608 mailto:sage [2010/07/13(火) 22:03:32 ]
>>615
どうも、ありがとうございます。それだけでできるんですか?
とても助かりました。今からやってみます!
他の人もどうもありがとうございました!

617 名前:デフォルトの名無しさん mailto:sage [2010/07/13(火) 22:29:35 ]
C#の初心者向けで良い本何かありますか?
あと、C#のソースをJAVAに移植するとしたら、どんな事に気をつければよいですか?

618 名前:デフォルトの名無しさん mailto:sage [2010/07/13(火) 22:35:52 ]
@ITで十分
本なんていらん
どうしてもというなら@ITの本があるからそれ買え

619 名前:デフォルトの名無しさん mailto:sage [2010/07/13(火) 22:42:28 ]
>>616
最小構成サンプル
using System;
using System.Windows.Forms;
namespace nicon {
public class nicon {
System.Windows.Forms.NotifyIcon icon
= new System.Windows.Forms.NotifyIcon();
System.ComponentModel.ComponentResourceManager res
= new System.ComponentModel.ComponentResourceManager(typeof(nicon));
nicon() {
icon.Icon = (System.Drawing.Icon)res.GetObject("nicon");
icon.ContextMenu = new ContextMenu( new MenuItem[] {
new MenuItem("Exit", delegate { Application.Exit(); } )
});
}
[STAThread]
public static void Main(string[] args) {
nicon inst = new nicon();
inst.icon.Visible = true;
Application.Run();
inst.icon.Dispose();
}
}
}

620 名前:デフォルトの名無しさん mailto:sage [2010/07/13(火) 23:42:52 ]
StreamReaderってファイルが無かったりアクセス権がなかったりしたら
例外をスローもせずに完全に固まらないか?

621 名前:デフォルトの名無しさん mailto:sage [2010/07/13(火) 23:48:01 ]
んなこたーない。

622 名前:デフォルトの名無しさん mailto:sage [2010/07/13(火) 23:56:27 ]
おまえアク禁な

623 名前:デフォルトの名無しさん mailto:sage [2010/07/13(火) 23:56:44 ]
>>621
いやなる
Windows7 64bit C:\ルートに存在しないファイル名でStreamReaderやってみそ

624 名前:デフォルトの名無しさん mailto:sage [2010/07/13(火) 23:58:00 ]
StreamWriterの方もだわw

625 名前:608 mailto:sage [2010/07/14(水) 00:00:19 ]
>>619さん。

ぬぁー!どうもありがとうございます。すごい参考になりました!
もう、あとは私の個人的な機能を付加するだけですね(;^_^

個人的な機能もたいしたことがないので、ちょっと追加するだけでよさそうです。
こんなものをパッと書けるなんてすごいですね。

ネットを今、あさってる最中でした。ありがとうございました。ComponentResourceManagerとかすごい参考になります。




626 名前:デフォルトの名無しさん mailto:sage [2010/07/14(水) 00:03:04 ]
>>623
いやだよ。

627 名前:621 mailto:sage [2010/07/14(水) 00:09:35 ]
>>623
Windows7 Ultimate x64 + Visual Studio 2010 Professional

.NET2.0/4.0, x86/x64/AnyCPU, Debug/Release の12通りの組み合わせで試してみたけど、
どの組み合わせでもFileNotFoundExceptionが発生するな。とりあえずソース晒せ。
ちなみに俺はこう書いた。

using (var sr = new StreamReader(@"C:\a.txt"))
{
}


628 名前:デフォルトの名無しさん mailto:sage [2010/07/14(水) 00:29:37 ]
using (StreamReader sr = new StreamReader(@"c:\a.txt"))
{
   String data = sr.ReadToEnd();
}
MessageBox.Show("aaa");

複雑なんでFormLoadにこれを書いて試したがやっぱりメッセージが出てこない

629 名前:デフォルトの名無しさん mailto:sage [2010/07/14(水) 00:31:21 ]
ちなみにVisualStudio2008の.Net2.0 Windows7 64bit
Windows7はクリーンインストール後、特にフォルダの権限とかいじってない状態です

630 名前:デフォルトの名無しさん mailto:sage [2010/07/14(水) 00:35:46 ]
>>625
あのさあ・・・初心者スレに行ってくれないかな?

631 名前:デフォルトの名無しさん mailto:sage [2010/07/14(水) 00:43:34 ]
>>628
そりゃc:\a.txtが存在してないならMessageBox.Showが呼び出されることは決して無いだろうが

632 名前:621 mailto:sage [2010/07/14(水) 00:47:07 ]
>>628
確かにVS2008でデバッグ実行すると、例外が捕捉されないな。

出力ウィンドウを見る限り例外自体は発生しているし、デバッグなしで実行(Ctrl+F5)すれば
ちゃんと例外ハンドラが働くから、VS2008のデバッガの問題っぽい。

メッセージボックスが表示されないこと自体は>>631の言うとおり正常な動作。

とりあえず StreamReader は避けて File.ReadAllLines とか File.ReadAllText を使ったら?

633 名前:デフォルトの名無しさん mailto:sage [2010/07/14(水) 00:59:40 ]
>>532
ああほんとだ、デバッグモードのしとけば何か原因が拾えるという思い込みが逆に命取りだった
普通に実行したら例外が出てるね
なんじゃこりゃ

634 名前:デフォルトの名無しさん mailto:sage [2010/07/14(水) 01:05:41 ]
100ずれてますよ

635 名前:デフォルトの名無しさん mailto:sage [2010/07/14(水) 01:53:49 ]
VS2008のデバッグ実行でも、出力窓には例外が出ているハズ
例外出ても止まったり止まらなかったりするのは割とよくある



636 名前:デフォルトの名無しさん mailto:sage [2010/07/14(水) 09:38:11 ]
P2PソフトをC#で作ってみた
DHTを実装して普通に車輪の再発明しても意味がないので
全文検索システムに改造してみた
といっても負荷の予想がつかないので小さいメモを放流して
内容から検索するみたいなそんなものを
理論上数百万件のデータが保持出来る
検索はたぶん1つにつき10分程度かもしれない
ただの実験ソフトなんだけど、実用的に動いたら応用範囲はかなりあると思うのだけど
誰かテストしませんか?

637 名前:デフォルトの名無しさん mailto:sage [2010/07/14(水) 09:39:57 ]
するする
面白そう

638 名前:デフォルトの名無しさん mailto:sage [2010/07/14(水) 09:44:58 ]
検索に10分?え?

639 名前:デフォルトの名無しさん mailto:sage [2010/07/14(水) 11:15:26 ]
>>637
アップロードとかいろいろしないといけないのでしばらくお待ちください

>>638
遅いかな?まあGoogleみたいなのに比べると遅いけど
ネットじゅうに分散したメモから10分で余すところ無く拾い集めてくるってことだよ
といっても予想だけど、シミュレーションではうまく動いてるけど
実際のネット環境では動くかどうか

640 名前:デフォルトの名無しさん mailto:sage [2010/07/14(水) 11:34:49 ]
目的のデータを保持してるマシンが24時間稼働とは限らないからね

641 名前:デフォルトの名無しさん mailto:sage [2010/07/14(水) 11:38:37 ]
>>577,578
そのまま使ってるのかー。
自分も一応そのまま使ってるけど、2010になってから
かなり補正するようになって使いにくくなった気がする。
;か}が入力されたときに調整してるから}を先に書くと
うまく補正されない。癖の問題ではあるけど。

ところで「基本設定」と「上級者設定」ってのがあるけど、
基本設定の場合、手動で追加しないとタブオーダーと
インデント操作はできないの?

642 名前:デフォルトの名無しさん mailto:sage [2010/07/14(水) 11:41:14 ]
P2Pってそれぞれのマシンが落ちててもいいように、自動でキャッシュ持つんじゃないの?

643 名前:デフォルトの名無しさん mailto:sage [2010/07/14(水) 11:42:12 ]
うまく補正されない。痔の問題ではあるけど。

に見えた。

644 名前:598 mailto:sage [2010/07/14(水) 11:43:04 ]
>>641
;}が先に書いてあってもEnter押したらたいがい補正されるだろ?

645 名前:デフォルトの名無しさん mailto:sage [2010/07/14(水) 11:45:36 ]
おお、名前が残っていたがもう不要だな



646 名前:デフォルトの名無しさん mailto:sage [2010/07/14(水) 11:49:56 ]
641がどんなコードの書き方しててどんなオートフォーマットの動作を難儀に感じてるのか全く分からない

647 名前:デフォルトの名無しさん mailto:sage [2010/07/14(水) 12:38:29 ]
>>644
ある程度構文正しければ確かに補正されたと思う。
構文関係は慣れることにします。
>>646
 /*〜*/の中に貼り付けすると勝手にインデントする
 (これを直すのにインデント操作ボタンが欲しかったけど基本設定では表示されてなかった)
 /*で改行すると次の行に*が入る
この辺が特に難儀に感じた。

648 名前:デフォルトの名無しさん mailto:sage [2010/07/14(水) 12:45:34 ]
まあね

649 名前:デフォルトの名無しさん mailto:sage [2010/07/14(水) 14:04:14 ]
すみません、すべてのテキストボックスでエンターが押された時に
フォーム内のボタンを押した事と同じイベントを発生させたいのですが
これはどうやって実現できますか?

また、テキストボックスが10個あるとして
そのすべてに同じKeyUpイベントと処理を記述するのは見通しが悪くなると思うのですが
これを一カ所にまとめる事はできますか?
VB の handle1,handle2 みたいな書き方がしたいのですが

ご教示お願いいたします。

650 名前:デフォルトの名無しさん mailto:sage [2010/07/14(水) 14:11:19 ]
>>649
> すみません、すべてのテキストボックスでエンターが押された時に
> フォーム内のボタンを押した事と同じイベントを発生させたいのですが
同じイベントを発生させるんじゃなくて、それぞれのイベントで同じメソッドを呼び出す方向で

> また、テキストボックスが10個あるとして
> そのすべてに同じKeyUpイベントと処理を記述するのは見通しが悪くなると思うのですが
> これを一カ所にまとめる事はできますか?
> VB の handle1,handle2 みたいな書き方がしたいのですが
デザイナでイベントハンドラを既存のに設定する

651 名前:デフォルトの名無しさん mailto:sage [2010/07/14(水) 14:12:16 ]
>>650さん
ありがとうございます。
さっそく調べてみます。

652 名前:デフォルトの名無しさん mailto:sage [2010/07/14(水) 14:17:14 ]
>>650さん
>デザイナでイベントハンドラを既存のに設定する
できました!ありがとうございます!

653 名前:デフォルトの名無しさん [2010/07/14(水) 14:54:09 ]
ListView を仮想モードにした場合、
項目の選択状態を未選択、または先頭の項目を選択状態にするには、
どうすれば良いでしょうか?
SelectedItemsプロパテイでできるかと思いましたが、
仮想モードではエラーとなりました。

654 名前:デフォルトの名無しさん mailto:sage [2010/07/14(水) 15:02:49 ]
ListView.VirtualModeの解説に書いてる

655 名前:デフォルトの名無しさん mailto:sage [2010/07/14(水) 15:12:14 ]
もう一つ質問なんですが^^;

C#のコードの記法が

if(state)
{
}
とかに自動的になるのが気に入らないんですが

デフォルトを
if(state){
}
にする方法はありますか?



656 名前:653 mailto:sage [2010/07/14(水) 15:13:54 ]
>>654
SelectedIndices ですね。
大変失礼しました。ありがとうございます。

657 名前:デフォルトの名無しさん mailto:sage [2010/07/14(水) 15:24:11 ]
>>655
C#の相談というよりVSの使い方だが
[ツール]→[オプション] の中にテキストエディタの設定をするところがある

658 名前:デフォルトの名無しさん mailto:sage [2010/07/14(水) 15:24:27 ]
>>655
オプションのテキストエディタ - C# - 書式設定の中を好きにいじれ
あと初心者用スレもあるから内容に応じて選択しろ

659 名前:デフォルトの名無しさん mailto:sage [2010/07/14(水) 15:45:00 ]
\   / .::::::::::::::::::::::::;;:;;::,ッ、::::::   )  く   ホ  す
  \  l  ,ッィrj,rf'"'"'"    lミ::::::: く   れ  モ  ま
     Y           ,! ミ::::::: ヽ  な  以  な
`ヽ、  |           くミ:::::::: ノ   い  外  い
     |、__  ャー--_ニゞ `i::::,rく   か  は
``''ー- ゝ、'l   ゙̄´彑,ヾ   }::;! ,ヘ.)  !  帰
      ゙ソ   """"´`     〉 L_      っ
      /          i  ,  /|    て    r
≡=- 〈´ ,,.._        i  't-'゙ | ,へ     ,r┘
,、 yx=''" `ー{゙ _, -、    ;  l   レ'  ヽr、⌒ヽ'
        ゙、`--─゙      /!         `、
  _,,、-     ゙、 ー''    / ;           `、
-''"_,,、-''"    ゙、    /;;' ,'  /         、\
-''"    /   `ー─''ぐ;;;;' ,'  ノ      
   //    /     ヾ_、=ニ゙

660 名前:デフォルトの名無しさん mailto:sage [2010/07/14(水) 15:46:09 ]
うわ−!すみません誤爆です^^;
>>657 >>658さん ありがとうございました!解決しました!

661 名前:デフォルトの名無しさん [2010/07/14(水) 15:53:53 ]
>>660
しねよ

662 名前:デフォルトの名無しさん [2010/07/14(水) 18:01:14 ]
>>661
お前が市ね、ばか

663 名前:デフォルトの名無しさん [2010/07/14(水) 18:03:58 ]
^^; ←これむかつく

664 名前:デフォルトの名無しさん mailto:sage [2010/07/14(水) 18:14:27 ]
>>662
じゃあ俺が市ぬよ。

665 名前:デフォルトの名無しさん mailto:sage [2010/07/14(水) 20:02:43 ]
System.IO.Directory.GetDirectories("C:");
System.IO.Directory.GetDirectories("C:\\");
って、結果違うのね。。。
フォルダの時はちゃんと\付けて返してくれるのに、
なぜドライブの時は\を付けてくけないのだ。。。



666 名前:デフォルトの名無しさん mailto:sage [2010/07/14(水) 20:13:00 ]
それより、ドライブのルートと SearchOption.AllDirectories を指定して
GetFiles や GetDirectories を使うと落ちるのはどうにかならないものか。
SystemVolumeInformationにアクセスしようとして権限違反で落ちるようなんだけど。

667 名前:デフォルトの名無しさん mailto:sage [2010/07/14(水) 20:35:01 ]
リンクがループしてると無限ループするって書いてあるし、実用的なオプションとは思えない
TopDirectoryOnlyで例外ハンドルしながら自分で再帰処理するしかないんじゃ

668 名前:デフォルトの名無しさん mailto:sage [2010/07/14(水) 21:02:22 ]
いくつか教えてください。
・JapaneseCalendar.Eraから西暦の開始日付を取得したい
・JapaneseCalendar.Eraを"平成"等の文字に変換したい
完全にJapaneseCalendar依存にしたいのでEraをswitch分岐したり
定数で開始日付を固定したくはないのですが出来ますか?



669 名前:デフォルトの名無しさん mailto:sage [2010/07/14(水) 21:24:02 ]
前者はリフレクションでJapaneseCalenderのprivateフィールドを読めば可能。
後者はたぶん無理。

670 名前:デフォルトの名無しさん mailto:sage [2010/07/14(水) 21:35:43 ]
通常の使い方では無理ってことですね・・・。
Parseで変換できるんだから"平成"等の取得くらいは期待してました・・。
ありがとう。


671 名前:デフォルトの名無しさん mailto:sage [2010/07/14(水) 21:41:21 ]
年号の取得はもう一段階上のDateTimeFormatInfoの仕事らしい

672 名前:デフォルトの名無しさん mailto:sage [2010/07/14(水) 22:06:49 ]
あれは動けばいい

673 名前:636 mailto:sage [2010/07/14(水) 22:43:55 ]
初期ノードキャッシュ用と本体配布が出来るCGIが使えるサーバが見つからない

674 名前:デフォルトの名無しさん mailto:sage [2010/07/14(水) 22:48:37 ]
GAEは?

675 名前:デフォルトの名無しさん mailto:sage [2010/07/14(水) 23:07:44 ]
GAEは?・・・



676 名前:デフォルトの名無しさん mailto:sage [2010/07/14(水) 23:20:06 ]
>>670
int era = 0;
var culture = new System.Globalization.CultureInfo("ja-JP", true);
culture.DateTimeFormat.Calendar = new System.Globalization.JapaneseCalendar();
var eraName = culture.DateTimeFormat.GetEraName(era);
で取得できるみたい

677 名前:デフォルトの名無しさん mailto:sage [2010/07/14(水) 23:21:05 ]
>>674
面白そうだけどPerl版で普通のhttpリクエストしか実装してないから
GAE専用のアクセスクラスを実装しないといけないので時間が掛かる






[ 続きを読む ] / [ 携帯版 ]

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

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