C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

ログ内検索
  • キーワードを複数指定する場合は 半角スペース で区切ってください。
  • 検索条件は、(AND)=[A かつ B] (OR)=[A または B] となっています。
  • [返信]をクリックすると返信ページへ移動します。
キーワード/ 検索条件 /
検索範囲/ 強調表示/ ON (自動リンクOFF)
結果表示件数/ 記事No検索/ ON
大文字と小文字を区別する

全過去ログを検索

<< 0 | 1 | 2 >>
■29212  Re[6]: 行末のセミコロンの省略
□投稿者/ 774RR -(2008/12/05(Fri) 15:18:32)
    なんでたかが行末だけにこだわるのかよくわからない。
    行末にこだわるのならインデントにもこだわってほしい。
    括弧の位置にもこだわってほしい。

    とりあえず python などどうですか?
    インデントが文法の一部ですが、なにか?
記事No.29161 のレス /過去ログ53より / 関連記事表示
削除チェック/

■29213  Re[7]: 行末のセミコロンの省略
□投稿者/ .SHO -(2008/12/05(Fri) 15:26:13)
    No29212 (774RR さん) に返信

    > なんでたかが行末だけにこだわるのかよくわからない。

    多分よく忘れるからだと思います。
記事No.29161 のレス /過去ログ53より / 関連記事表示
削除チェック/

■29242  Re[8]: 行末のセミコロンの省略
□投稿者/ たくボン -(2008/12/05(Fri) 21:55:42)
    No29213 (.SHO さん) に返信
    > ■No29212 (774RR さん) に返信
    > 多分よく忘れるからだと思います。

    俺もよくVBなのに;や()書いてしまいます。

    言語仕様やコンパイラの挙動を熟知していればトリッキー(普通の人からはトリッキーに見えるだけ)なコーディングもできますし、使う人のレベルにあわせて言語もあると思います。
    言語仕様である程度の制限をかけておかないとお行儀の悪いコードが蔓延しますし、引いては言語とOSを提供しているMSから見れば不利益になることも多いでしょうし。

    VBが出てきた背景にはWindowsシェアの拡大が目的であり、そのためにはプログラマの受け口を広げるためにC++だけでなくVBが登場しました(うろ覚えですがVB2くらいまでは、コンパイラが一旦C++と同じようなエントリマップ吐いてたような記憶があるので、なんちゃってBASICだなぁって思ってました)

    当然、言語が成熟してくると言語仕様外のコーディングも当たり前(VB4くらいからAPI使用とか当たり前になりましたし)になってきて、リソースの管理ができていないお行儀の悪いプログラムが増えてきたので、.NETの登場だと思います。MSはC#の登場でVBプログラマの移行を狙ってたと思いますが、依然日本ではVBユーザが多いのも事実だと思います。

    時代と共に言語は変わるので、プログラマは変化に対応しないとロートル化しますが、この変化が進歩に繋がっていると思います。
    (JavaScriptなんかはいい例で、時代と共に言語仕様を大きく超えたとても強力な言語になったと思いますし)

    個人的に言語なんかは目的や政治的要因で変わっても問題ないかなと思っています。
    if thenやend〜のブロック終了のほうが冗長であまり好きになれないですし(でもVBを蹴ると仕事も少ないのが現実・・・orz)

    言語仕様が気持ち悪いとか、邪魔臭いって気持ちもよくわかります。

    そういう時は、仕事と趣味で言語をわけてみるのもいいと思います:-)
記事No.29161 のレス /過去ログ53より / 関連記事表示
削除チェック/

■29244  Re[9]: 行末のセミコロンの省略
□投稿者/ はいこーん -(2008/12/05(Fri) 23:18:35)
    No29242 (たくボン さん) に返信
    > 俺もよくVBなのに;や()書いてしまいます。

    セミコロンはともかく () はいいでしょう。
記事No.29161 のレス /過去ログ53より / 関連記事表示
削除チェック/

■29245  Re[10]: 行末のセミコロンの省略
□投稿者/ たくボン -(2008/12/06(Sat) 01:58:25)
    No29244 (はいこーん さん) に返信
    > ■No29242 (たくボン さん) に返信
    >>俺もよくVBなのに;や()書いてしまいます。
    > 
    > セミコロンはともかく () はいいでしょう。
    
    へぇ〜、いいんだ。
    
    For (i as integer = 0 To 10)
       '…
    Next
    
    Using (sr As New IO.StreamReader("hoge.txt"))
       '…
    End Using
    
    きっと叱られてるのは俺が悪いんですね。
記事No.29161 のレス /過去ログ53より / 関連記事表示
削除チェック/

■29253  Re[9]: 行末のセミコロンの省略
□投稿者/ .SHO -(2008/12/06(Sat) 11:44:47)
    No29242 (たくボン さん) に返信

    > 言語仕様である程度の制限をかけておかないとお行儀の悪いコードが蔓延しますし

    これは違うと思います。

    それと、なんとなくなんですが C# だとセミコロンなくても
    コンパイラは困らないかも?という気になってきました。

    他の言語はともかく、C#でセミコロンがないとコンパイラが
    困るという例が何かありますか?
記事No.29161 のレス /過去ログ53より / 関連記事表示
削除チェック/

■29259  Re[10]: 行末のセミコロンの省略
□投稿者/ 出水 -(2008/12/06(Sat) 12:36:38)
    続いてもいいし切ってもいい構文の時どちらに倒すか問題になります
    改行を完全なデリミタとするのであれば、そんなに問題になりませんが、
    これは下位互換性を著しく損なうので、新規の言語でないと導入できないでしょう

    その辺を賢く判断する、ってのは一見便利に見えるのですが、
    ゆくゆくは微妙な所が出てきて、判断ルールをちゃんと把握する必要が出てきます
    初心者向けだけど、使いこむとじゃじゃ馬っぷりが出てくるものは少なくありません

    私自身は見えない文字が制御にかかわるってのは馴染めません
    その辺はソースを見やすいように文法とは無関係に整形するためのもので、
    それを文法が強制するというのは、ちょっと窮屈すぎると思います
記事No.29161 のレス /過去ログ53より / 関連記事表示
削除チェック/

■29260  Re[11]: 行末のセミコロンの省略
□投稿者/ .SHO -(2008/12/06(Sat) 12:41:52)
    No29259 (出水 さん) に返信

    > 続いてもいいし切ってもいい構文の時どちらに倒すか問題になります
    > 改行を完全なデリミタとするのであれば、そんなに問題になりませんが、
    > これは下位互換性を著しく損なうので、新規の言語でないと導入できないでしょう

    改行をデリミタにするのは私も論外だと思います。
    その前提で、どちらに倒すか問題になる具体例があると
    凄くありがたいのですが。。。
記事No.29161 のレス /過去ログ53より / 関連記事表示
削除チェック/

■29268  Re[12]: 行末のセミコロンの省略
□投稿者/ 出水 -(2008/12/06(Sat) 14:57:47)
    > その前提で、どちらに倒すか問題になる具体例があると
    > 凄くありがたいのですが。。。

    具体例ならすでに出ているじゃないですか…
記事No.29161 のレス /過去ログ53より / 関連記事表示
削除チェック/

■29269  Re[13]: 行末のセミコロンの省略
□投稿者/ .SHO -(2008/12/06(Sat) 15:18:17)
    No29268 (出水 さん) に返信

    > 具体例ならすでに出ているじゃないですか…

    すいません。出てました。

    #印刷して探してしまった^^;
    #JavaScriptの話だと思って最後まで読んでませんでした。。。orz
記事No.29161 のレス /過去ログ53より / 関連記事表示
削除チェック/

■29271  Re[12]: 行末のセミコロンの省略
□投稿者/ NyaRuRu -(2008/12/06(Sat) 16:04:55)
    2008/12/06(Sat) 16:13:38 編集(投稿者)

    No29260 (.SHO さん) に返信
    > ■No29259 (出水 さん) に返信
    >
    >>続いてもいいし切ってもいい構文の時どちらに倒すか問題になります
    >>改行を完全なデリミタとするのであれば、そんなに問題になりませんが、
    >>これは下位互換性を著しく損なうので、新規の言語でないと導入できないでしょう
    >
    > 改行をデリミタにするのは私も論外だと思います。
    > その前提で、どちらに倒すか問題になる具体例があると
    > 凄くありがたいのですが。。。

    とりあえず前の投稿で調べて分かっているのが以下の問題です.

    ≪パラメータを省略できる命令の問題≫
    throw
    new Exception();

    ≪後置演算子の記号が別の用途に使われている問題≫
    ケース1. 丸括弧
    {
    Func<string,string> f;
    string s;

    var a = f // ここにセミコロンを挿入できてしまう
    (s+"!").ToString();
    }

    ケース2. 角括弧
    (これは現在エラーとなるコードなので互換性の問題はありません)
    {
    [AttributeUsage(AttributeTargets.All)]
    class DummyAttribute : Attribute
    {
    public DummyAttribute(string s)
    {
    }
    }

    class ListList : List<ListList>{}

    static class Program
    {
    static int Dummy(string s)
    {
    return 0;
    }

    static ListList _list = default(ListList);

    // 以下の (A) または (B) どちらか一方にのみ
    // セミコロンを挿入するとコンパイルが通る
    static ListList _s = _list // (A)
    [Dummy("!")] // (B)
    static void Main(string[] args)
    {
    }
    }
    }

    C/C++ では中置演算子絡みの問題も作れますが,
    今のところ C# で中置演算子を絡めた問題は構成できてないです.
記事No.29161 のレス /過去ログ53より / 関連記事表示
削除チェック/

■29272  Re[13]: 行末のセミコロンの省略
□投稿者/ .SHO -(2008/12/06(Sat) 16:11:05)
    No29271 (NyaRuRu さん) に返信

    > とりあえず前の投稿で調べて分かっているのが以下の問題です.

    本当にありがとうございます!
    土日でしっかり勉強させて頂きます。
記事No.29161 のレス /過去ログ53より / 関連記事表示
削除チェック/

■29361  Re[13]: 行末のセミコロンの省略
□投稿者/ .SHO -(2008/12/08(Mon) 20:40:09)
    No29271 (NyaRuRu さん) に返信
    
    >    Func<string,string> f;
    >    string s;
    > 
    >    var a = f     // ここにセミコロンを挿入できてしまう
    >    (s+"!").ToString();
    
    これも、(s+"!").ToString(); は、コンパイルは通りますが
    意味をなさないので f にくっつけてしまっていいように思えます。
    
記事No.29161 のレス /過去ログ53より / 関連記事表示
削除チェック/

■29363  Re[14]: 行末のセミコロンの省略
□投稿者/ NyaRuRu -(2008/12/09(Tue) 01:17:11)
    No29361 (.SHO さん) に返信
    > ■No29271 (NyaRuRu さん) に返信
    > 
    >>   Func<string,string> f;
    >>   string s;
    >>
    >>   var a = f     // ここにセミコロンを挿入できてしまう
    >>   (s+"!").ToString();
    > 
    > これも、(s+"!").ToString(); は、コンパイルは通りますが
    > 意味をなさないので f にくっつけてしまっていいように思えます。
    
    うーむ,"意味"ですか.
    
    確かに,コードとして意味が無さそうな例をだしてしまったのは申し訳ないのですが,
    かといって,意味がありそうな例が構成できないというわけでもないように思います.
    
    戻り値を捨てている文を一律に「意味を成さない」というのは無理で,実際それは
    メソッドの中のアクションというか副作用次第です.
    世界のどこにも何の影響も残さないようなアクションなら,確かに意味を成しません.
    しかし,世界のどこかに影響を残すなら,それは「意味を成しうる」ものです.
    
    例えば StringBuilder クラスの多くのメソッドは,自分自身の内容を変更し,
    戻り値としては自分自身の参照を返すようになっています.
    
    var sb1 = new StringBuilder();
    var sb2 = new StringBuilder()
    
    (isFooBar() ? sb1 : sb2).AppendLine("Hello");
    
    Console.WriteLine(sb1.ToString());
    Console.WriteLine(sb2.ToString());
    
    例えばこの (isFooBar() ? sb1 : sb2).AppendLine("Hello"); は,
    丸括弧で始まって,戻り値を捨てているものの,アクションの効果を期待して
    単独で使われても不思議ではないような例です.
    こういうケースを自動で判別できないように思います.
記事No.29161 のレス /過去ログ53より / 関連記事表示
削除チェック/

■29270  Re[2]: 行末のセミコロンの省略
□投稿者/ .SHO -(2008/12/06(Sat) 15:48:07)
    > throw
    > new Exception();
    > このコードの意味が変わらないような省略ルールでなければなりません.

    この場合、throw; のように単独だと、new Exception(); は
    「到達できないコード」として検出できるので
    throw new Exception();
    でいいような気もします。

    まぁ「到達できないコード」はワーニングなので
    throw;
    new Exception();
    でも、絶対ダメということはないのですが。。。
記事No.29161 のレス /過去ログ53より / 関連記事表示
削除チェック/

■29365  Re[3]: 行末のセミコロンの省略
□投稿者/ 出水 -(2008/12/09(Tue) 05:36:38)
    私が例を出さなかったのは、個々の例だけを見てこれがいい、これがだめという
    議論の方向に持っていきたくないな、と思ったからです

    ここで出された例をすべて決着したところで、すべての問題構文が洗い出されるわけじゃないです

    で、どうすればいいかというと、BNF記法レベルで再構築すればいいんです
    掲示板のネタとしては面白くない結論なのですが…
記事No.29161 のレス /過去ログ53より / 関連記事表示
削除チェック/

■29378  Re[4]: 行末のセミコロンの省略
□投稿者/ .SHO -(2008/12/09(Tue) 09:50:31)
    No29363 (NyaRuRu さん) に返信
    No29365 (出水 さん) に返信

    > 意味がありそうな例が構成できないというわけでもないように思います.

    はい。「なんとなく」と最初に書いたのは、私もそう思うからです。
    ただ、意味のある例が1つも出ていない(いなかった)のと、私の
    能力ではいい例が思いつかなかったので、1つでも意味のある例が
    あればいいなと思った次第です。

    > 私が例を出さなかったのは、個々の例だけを見てこれがいい、これがだめという
    > 議論の方向に持っていきたくないな、と思ったからです

    私も、個々の例の評価をしたいわけではないです。
    ただ、上にも書いたように意味のある例が1個あれば、すんなり納得できる
    んだけどということです。

    ということで

    > (isFooBar() ? sb1 : sb2).AppendLine("Hello");

    この例はシンプルでわかりやすかったです。
    ありがとうございました。
記事No.29161 のレス /過去ログ53より / 関連記事表示
削除チェック/

■55565  VB2005からIE8,Firefox3,Safari5を。
□投稿者/ .NET初心者 -(2010/12/06(Mon) 14:38:39)

    分類:[VB.NET/VB2005 以降] 

    VB2005StandardからIE8,Firefox3,Safari5を操作する方法やサンプルを探しています。

    具体的には、Formなしのサービスアプリケーションを作成し、
    IE8,Firefox3,Safari5のいずれかがアクティブで、かつ
    指定のURLを開いているときに、Login IDを自動入力させるものを
    考えています。

    ShellWindows = CreateObject("Shell.Application").Windows()

    でオブジェクトを取得すると、FirefoxやSafariが取得できませんでした。

    起動中のウェブブラウザを、種類を問わずに取得して操作する方法はありませんでしょうか?

    よろしくお願いします。

親記事 /過去ログ93より / 関連記事表示
削除チェック/

■55570  Re[7]: Webアプリの初回起動がとても遅い
□投稿者/ tani -(2010/12/06(Mon) 15:20:45)
    2010/12/07(Tue) 09:05:39 編集(投稿者)

    No55488 (akira さん) に返信
    > 今朝出社して対象のWebアプリを起動したところ、初回起動時間が約6秒と以前の
    > 約12秒から短くなりました。
    > 前回のVB.NETで非常にシンプルなexeプログラムを起動・終了した時とほぼ同じ
    > 初回起動時間の結果となりました。
    > http://bbs.wankuma.com/index.cgi?mode=one&namber=55394&type=55261&space=30
    >
    > 初回起動時間を2回目起動時間の約3秒まで短縮するまでにはなっていませんが、
    > 初回起動時間が約6秒であれば、実用上利用者が「あれ、トラブルかな?」とか
    > 「起動遅過ぎる?」と感じないレベルかなと感じています。
    >
    > もう少し初回起動時間の短縮の方法を検討は続けてみるつもりです。
    >
    > 質問:ASP.NETのWebアプリは皆様のところでも、初回起動は約12秒位掛かって
    > おり、2回目起動からは約3秒になると言う現象は発生しているのでしょうか?
    > また、この状態で運用を行っておられ、利用者の理解も得られているのでしょうか?

    私の場合
    起動時間については全く問題になっていません。。。ですがAjaxで2〜5秒程度待つところでは当初速度アップを要求されましたが、今はご理解いただいています。

    Ajaxが遅いのは、MSAjaxの問題とブラウザ側(IE8)の問題が大きいようですね。IE8が遅いのはどうしようもありませんでした。Google Chrome使えばとても速いです。
    初回起動時は多少遅くログイン画面が出るまでに数秒程度かかりますが、1度表示すればGoogleなどと同じような応答速度です。
    ■ログイン画面(初回):数秒で表示
    ■ログイン画面(2回目以降):インターネット越しで0.5秒くらいで表示されます。
    プリコンパイルの効果が大きく、予想以上にサクサク問題なく動いています。
    負荷が軽すぎるので、参考にならなかったらすみません。


    OS: Windows WebServer2008R2(ASP.net自体は32bit WOW32で動作)
    DB: OracleへODP.net使用
    ASP.net:ASP.net 2.0 (Visual Studio 2005)
    GrapeCity社製ActiveReport使用。
    プリコンパイル済み。binフォルダが7MB。プロジェクト名.dllが732KB。
    用途:社内用Webシステムで、利用率はとても低い。ピーク時でも5ユーザ以内。
    毎朝6時にASP.netのプロセスをリサイクル。また1日に3回くらいタイムアウト(3時間くらい?)でリサイクルされています。

    ※2010/12/07追記:ASP.netのプロセス = アプリケーションプールです。
記事No.55261 のレス /過去ログ93より / 関連記事表示
削除チェック/

■55571  ファイルのダウンロード画面を経由せずにExcelを開きたい
□投稿者/ ふくおか -(2010/12/06(Mon) 15:25:59)

    分類:[VBScript] 

    Vbscriptでボタンを押下したら、

    1.Excelを生成(Vb.Net)してサーバに保存。
    2.1.が成功したら、生成したExcelを表示する。

    という処理をしたいのですが、
    ファイルのダウンロード画面が表示されます。

    ファイルのダウンロード画面を表示せずに、Excelを直接開きたいのですが、
    どのようにすれば、よろしいでしょうか?


    [作成したコード]
    Set objBasp = Server.CreateObject("Basp21")
    Response.clear
    Response.ContentType = "application/vnd.ms-excel"
    Response.AddHeader "Content-Disposition", "attachment; filename=" & ReportFile
    bynaryContent = objBasp.BinaryRead(ExcelFilePath)
    Response.BinaryWrite bynaryContent
親記事 /過去ログ93より / 関連記事表示
削除チェック/

<前の20件 | 次の20件>

<< 0 | 1 | 2 >>

パスワード/

- Child Tree -