もり ひろゆきの日々是勉強

日々思ったことやIT関連のメモなどをのほほんと綴っていきたいと・・・。(^^;

ホーム 連絡をする 同期する ( RSS 2.0 ) Login
投稿数  1920  : 記事  12  : コメント  16429  : トラックバック  163

ニュース

Microsoft Innovation Center

MICでは各種無償セミナーを実施しています。
こちら
そして、スピーカーは僭越ながら私がお話させていただいております。
一生懸命努めさせていただきますので、よろしければご参加くださいm(__)m

平行運用はじめました。

  • 現在、こちらのほうで平行運用を行っております。

自己紹介

  • もり ひろゆき(森 博之)と申します。

    極東IT Engineersというコミュニティの代表です。

    本業は東京でソフトウェア開発のお仕事をしております。いわゆるDeveloperですね(^^;

    仕事ではVB,C#といろいろと渡り歩いてはおりますが、主に.NET系の業務アプリの開発が多いです。

    というか仕事となったら必死で何でも勉強しますが(^^;;;;

    最近ではMicrosoft Innovation Centerで講師もさせていただいておりますが、撃たれ弱いのでお手柔らかにお願いしますm(__)m

    まったく関係ありませんが、たこ焼き機も持っています。 関西人です。

    エントリの内容は私が個人的に収集した情報を元に書いていますが、あくまで個人的なメモ用途ですので内容の正確性を保証するものでありません。あらかじめご了承くださいm(__)m

Microsoft MVP

MCP


  • 70-316 Developing and Implementing Windows-based Applications with Microsoft Visual C# .NET and Microsoft Visual Studio .NET

    70-536 Microsoft .NET Framework 2.0 - Application Development Foundation


  • MCTS: :.NET Framework 2.0 Web アプリケーション
    70-528 Microsoft .NET Framework 2.0 - Web-based Client Development


  • MCTS: Microsoft SQL Server 2005
    70-431 Microsoft SQL Server 2005 - Implementation and Maintenance

Wankuma MVP


  • Wankuma MVP for OOO(= Original Object-Oriented)

iKnow!

etc.

  • 人気ブログランキング - もり ひろゆきの日々是勉強

    スカウター : もり ひろゆきの日々是勉強

    あわせて読みたい

書庫

日記カテゴリ

リンク

VBなんですが・・・・。

Select Case strFoo
      Case "A", "B"
            処理
End Select

要はIf文の代わりに比較対象が1つの変数に対して2つの比較対象となっているのでSelect Caseを使っているようですが・・・。

これってありと思いますか?(^^;

投稿日時 : 2006年11月22日 23:33

コメント

# re: 今日は他人のPGの障害対応をしていたワケだが・・・・。 2006/11/22 23:42 じゃんぬ
むしろ、char でないところが不満。

# re: 今日は他人のPGの障害対応をしていたワケだが・・・・。 2006/11/22 23:46 中博俊
なしな理由がない

# re: 今日は他人のPGの障害対応をしていたワケだが・・・・。 2006/11/22 23:48 ひろえむ
#じゃんぬさん

あ、パラメータの中身は気にしないでください(^^;
ミニマムコードなので、適当です(^^;

#中さん
そうなんですよねー。 
実は気にはなっているんですけど、ないこともないんですよねー。

# re: 今日は他人のPGの障害対応をしていたワケだが・・・・。 2006/11/23 0:43 ぽぴ王子
2つまではIfで対応。
3つに増えたらcaseで。

というのがおじいちゃんの遺言です。

# re: 今日は他人のPGの障害対応をしていたワケだが・・・・。 2006/11/23 0:52 まどか
個人的には、値が列挙値であればその種類の数に関係なく、Select文派です。
速度を気にする機会も少ないですし、最近では。>まぁ業務内容によりますが。

# re: 今日は他人のPGの障害対応をしていたワケだが・・・・。 2006/11/23 1:13 Blue
strFooのところが関数かなんかである場合、Select Caseを使うべきですかね。

sample)

Private Function TEST()
TEST = "C"
Debug.Print "TEST関数よんだ"
End Function

という関数があって、

(1)
Select Case TEST()
Case "A", "B"
Debug.Print "きたー"
Case Else
Debug.Print "こねー"
End Select

(2)
If TEST() = "A" Or TEST() = "B" Then
Debug.Print "きたー"
Else
Debug.Print "こねー"
End If

# re: 今日は他人のPGの障害対応をしていたワケだが・・・・。 2006/11/23 1:48 Blue
ごめんなさい。
(Select Case文はCaseを先に評価してから切り分けられるので)
ケースバイケースですね。

Sample)

Private Sub Command1_Click()

Select Case "C"
Case AAA(), BBB()
Debug.Print "きたー"
Case CCC()
Debug.Print "きたー"
Case Else
Debug.Print "こねー"
End Select
End Sub

Private Function AAA() As String
Debug.Print "AAA"
AAA = "A"
End Function

Private Function BBB() As String
Debug.Print "BBB"
BBB = "B"
End Function

Private Function CCC() As String
Debug.Print "CCC"
CCC = "C"
End Function

# re: 今日は他人のPGの障害対応をしていたワケだが・・・・。 2006/11/23 2:49 こた
Delphiだとこんなcaseの書き方もあるので、これはこれでいいんじゃないかと思います。

uses
SysUtils;

var
i: integer;

begin

for i := 0 to 9 do
begin

case i of

0, 1, 4, 6, 8, 9: Writeln( i, 'は素数じゃない' );

2,
3,
5,
7: Writeln( i, 'は素数だ' );

end;

end;

Writeln;

Write( 'Press any key to continue' );
Readln;

end.


# re: 今日は他人のPGの障害対応をしていたワケだが・・・・。 2006/11/23 8:54 ひろえむ
なるほどー。 いろいろ参考になる意見ありがとうございます。

やや、実はなんで違和感を覚えたかがわかりました。

このSelect Caseの後にまたSelect Caseがあるんですね。
で、こんな感じなんですよ。

Select Case strFoo
Case "A", "B"
A、Bのときは共通で行う処理
End Select
Select Case strFoo
Case "A"
Aのときのみ行う処理
Case "B"
Bのときのみ行う処理
Case "C"
Cのときのみ行う処理
Case "D"
Dのときのみ行う処理
End Select

というような書き方をしていたんですね。
でSelectが妙にながいなーということと、同じ評価を2回しているなーということなんですねー。
CaseのAとBで2回処理を書くことを冗長に思って書いたらしいんですが、同じ評価が2回ってところが気になっちゃったんですねー。

# re: 今日は他人のPGの障害対応をしていたワケだが・・・・。 2006/11/23 18:00 まどか
保守性も含めてそれらが機能的に独立したものならそれでもいいと思います。
#「冗長」が理由ならちょっと動機不純かなと思いますが。

# re: 今日は他人のPGの障害対応をしていたワケだが・・・・。 2006/11/23 22:01 中博俊
それよりもDefaultのないSelectはみとめねーーーー!!

# re: 今日は他人のPGの障害対応をしていたワケだが・・・・。 2006/11/23 22:54 ひろえむ
#まどかさん
冗長が理由かどうかは既に本人がいないので謎なんですが、コードを見たところそんなところかなぁと想像したワケで・・・。

なので同様の判定をするSelect Caseが2つ並んでいるところを見るとそうなんじゃないだろうかと。

まま、それ以外にもそもそもきちんとしなきゃいけないコードだったりしたんですけどね(^^;;;

#中さん
漢の叫びじゃないっすか(^o^;

# VFlkxSeiEmBVgx 2011/12/22 21:47 http://www.discreetpharmacist.com/
qhv1d6 Excellent! Got a real pleasure..!

Post Feedback

タイトル
名前
Url:
コメント