- PR -

VBのWithってC#でどう書くんですか?

投稿者投稿内容
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-02-20 16:56
引用:

R・田中一郎さんの書き込み (2006-02-20 16:46) より:

仕方ないです。End ○○ とした時から運命は決まっているのです。


統一された記法であるため、ブロックの終わりは判りやすいと思います。
そういう意味では「Do 〜 Loop」から「While 〜 End While」の以降は望ましいと思います。

CShaper から「冗長だ!」と悪評な「End 〜」ですが、私は何故か好きだったりします。
やっぱり「Exit 〜」もあってペアになっているから、そう思うのかな。

と言っても、break; に比べてどのブロックを抜けるのか判りやすいとか、
一気にブロックを脱出できるとか、そういった理由ではなく、実は見た目だけだったりw

VB はアイコンどおり「青い」の言語ですね。

引用:

# そもそも何故 With という言葉なんでしょう。


「〜共に」記述する、ということでしょう。
With Me ... わ、私と共に... (^-^;)

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
R・田中一郎
ぬし
会議室デビュー日: 2005/11/03
投稿数: 979
投稿日時: 2006-02-20 19:56
引用:

じゃんぬねっとさんの書き込み (2006-02-20 16:56) より:

統一された記法であるため、ブロックの終わりは判りやすいと思います。



そうですね。C系のソースを書いていると、} はどれ?ってなりがちなのは、End ○○
に慣れているからかもしれません。

引用:

じゃんぬねっとさんの書き込み (2006-02-20 16:56) より:

CShaper から「冗長だ!」と悪評な「End 〜」ですが、私は何故か好きだったりします。



僕も嫌いではありません。
どちらも良い点と悪い点はあるものですね。

コード:
For i = 1 to 10
    for j = 1 to 10
        :
    next
next 



は、最近バグの発見のために「next i」のように書くべきだという意見を聞いたこと
があります。確かに、

コード:
For i = 1 to 10
    for j = 1 to 10
        exit i
    next j
next i



このように書けると、コンパイラがバグを拾ってくれやすいかもしれません。
でも、すっきり書けなくて煩わしさも残ります。
僕はC#の記号記号した書き方の方が好きですね。

引用:

じゃんぬねっとさんの書き込み (2006-02-20 16:56) より:

VB はアイコンどおり「青い」の言語ですね。



(?_?)よく理解できませんでした。

引用:

じゃんぬねっとさんの書き込み (2006-02-20 16:56) より:

With Me ... わ、私と共に... (^-^



はい、じゃんぬねっとさんと共に、僕も CShaper に仲間入りです。
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2006-02-20 20:23
引用:

R・田中一郎さんの書き込み(2006-02-18 15:12)より:
僕があれだけキーワードを駆使して調べられなかったのに、何気にたくさんの情報
収集ができてしまうのですね。
僕は調べるのが下手なんだろうか orz


あらら。じゃぁ、@IT 署名を出しておくので、参考にしてください。

 今回、どこかで「C# と VB.NET では、参照のさせ方が違うので、VB.NET の WITH に相当するような機能は C# では必要がない」と読んだ記憶があるんです。VB.NET では、 GotDotNet にあるように、上から順番に参照を解決していくけれど、C# では違うんだよと。で、それを探そうとしました。結局見つけられなかった。

Google 検索キーワード1:c# vb "with" 参照 必要
 (with は二重引用符で囲まなければスキップされる)
2:c# vb "withステートメント" OR "with句"
 ("with 句" は、SQL 文になってしまった)
3:c# vb "withステートメント" OR "with文"
 ("with" と "ステートメント" で文字種別が違うので、この間の空白は無視される)

〆 written by Jitta@わんくま同盟 on 2006/02/20
# やっぱり、MSN 検索より Google の方が「希望する結果」が出やすい(^-^;
_________________
R・田中一郎
ぬし
会議室デビュー日: 2005/11/03
投稿数: 979
投稿日時: 2006-02-22 17:47
引用:

Jittaさんの書き込み (2006-02-20 20:23) より:

あらら。じゃぁ、@IT 署名を出しておくので、参考にしてください。



ありがとうございました。
そういえば検索エンジンの指定方法については、あまり詳しく調べていませんでした。

引用:

Jittaさんの書き込み (2006-02-20 20:23) より:

Google 検索キーワード1:c# vb "with" 参照 必要
 (with は二重引用符で囲まなければスキップされる)
2:c# vb "withステートメント" OR "with句"
 ("with 句" は、SQL 文になってしまった)
3:c# vb "withステートメント" OR "with文"
 ("with" と "ステートメント" で文字種別が違うので、この間の空白は無視される)



Google で検索したのですが、with は二重引用符をつけていませんでした orz
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-02-22 18:07
引用:

R・田中一郎さんの書き込み (2006-02-20 19:56) より:

最近バグの発見のために「next i」のように書くべきだという意見を聞いたことがあります。


私は付けるようにしていますね。
そんなに長い For ブロックなんて書かないので無意味なんですけどw

そもそも、For ステートメントは単純な繰り返し以外の何者でもないですし。
複雑になった (対応がわからなくなった) のであれば、それは組んだ人が悪いんでしょうw

引用:

(?_?)よく理解できませんでした。


キーワードが多いので、コードエディタが青くなる言語という意味です。(日本語が変でしたがw)

引用:

そういえば検索エンジンの指定方法については、あまり詳しく調べていませんでした。


とりあえず、Google で良いと思います。
YST (Yahoo!) も最近精度をあげてきていますけどね。

# 知恵袋やらグループやらの Yahoo! 内部のコンテンツは Yahoo! でしますけどね。

引用:

Google で検索したのですが、with は二重引用符をつけていませんでした orz


IT, To, For とか良く使われる単語は無視されちゃうんですよね。

# もはや、オフトピですね。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
ちゃっぴ
ぬし
会議室デビュー日: 2004/12/10
投稿数: 873
投稿日時: 2006-02-22 18:13
引用:

じゃんぬねっとさんの書き込み (2006-02-22 18:07) より:
引用:

R・田中一郎さんの書き込み (2006-02-20 19:56) より:

最近バグの発見のために「next i」のように書くべきだという意見を聞いたことがあります。


私は付けるようにしていますね。
そんなに長い For ブロックなんて書かないので無意味なんですけどw

そもそも、For ステートメントは単純な繰り返し以外の何者でもないですし。
複雑になった (対応がわからなくなった) のであれば、それは組んだ人が悪いんでしょうw



昔はつけていたんですけど、VBScript に移植しづらくなるので、やめました。
Kazuki
ぬし
会議室デビュー日: 2004/10/13
投稿数: 298
投稿日時: 2006-02-23 00:50
引用:

R・田中一郎さんの書き込み (2006-02-20 19:56) より:
そうですね。C系のソースを書いていると、} はどれ?ってなりがちなのは、End ○○
に慣れているからかもしれません。


個人的には,一目で見渡せる行数のメソッドしか書かないので
{と}の対応がわかりにくくなる事自体問題だと思います。

インデントが6とかネストしていて1000行くらいのメソッドになると
{と}だと対応がまるっきりわからなくなりますよねorz
R・田中一郎
ぬし
会議室デビュー日: 2005/11/03
投稿数: 979
投稿日時: 2006-02-23 13:19
引用:

Kazukiさんの書き込み (2006-02-23 00:50) より:

個人的には,一目で見渡せる行数のメソッドしか書かないので
{と}の対応がわかりにくくなる事自体問題だと思います。



そうですね。実際には、名前空間→クラス→メソッド→for→if で終わった時に、
ちょっと「うっ」と身構える程度でしょうかw

コード:
            }
        }
    }
}
                End If
            Next
        End Sub
    End Class
End Namespace


後者はわかりやすいのですが、暑苦しい感じもしますね。

引用:

Kazukiさんの書き込み (2006-02-23 00:50) より:

インデントが6とかネストしていて1000行くらいのメソッドになると
{と}だと対応がまるっきりわからなくなりますよねorz


折角「なりますよね」と同意を求めていただいたのですが、僕は幸いにも、
そのような怖いものに遭遇したことはありません。
Kazukiさんは見てしまったのでしょうか・・・お察しします(T-T)

スキルアップ/キャリアアップ(JOB@IT)