問題タブ [trygetvalue]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - c#: 参照を取得する代わりにインスタンスを作成する Dictionary TryGetValue
私は C# の完全な初心者であり、同じメソッドが異なる方法で機能する理由を理解できません。私は単純なスプレッドシート アプリケーションを作成しており、セルのディクショナリを使用しています。キーは文字列名で、値は Cell オブジェクトです。
ここで、セルの内容を簡単に追加/変更できるようにする必要があるため、次のようにしています。
もちろん、ディクショナリは新しいセルを問題なく作成しますが、TryGetValue を使用すると、取得しようとしている実際のオブジェクトにセルの新しいコンテンツが作成されません。2 番目の出力が 10 になることを期待していました。デバッグでは、手元のセルの参照を取得するのではなく、新しいセルをインスタンス化するようです。
以前に Dictionary を使用したことがあり、TryGetValue を使用して既存のオブジェクトのプロパティを変更したことがあります。ここで 2 つの質問があります。この場合、何が間違っているのでしょうか。また、メソッドが参照を返すかどうかを決定する要因は何ですか?
c# - IDictionary から値を取得するにはどうすればよいですか? 試してみると、「メソッドTryGetValueが含まれていません」というエラーが表示されました
IDictionary object があります。質問は、データをキーで読み取る方法です。簡単な質問に見えますが、 TryGetValueのようなメソッドはありません (似たようなものでも見つかりません) 。Containsメソッドしかないように見えますが、データの値をキーで取得したいです。
stgがありませんか?
編集:詳細として
私は値を取得しようとしています:
内部で定義されているIDictionary
オブジェクト(名前付き)から値を取得したい:Capabilities
System.Web.HttpContext.Current.Request.Browser
このオブジェクトから値を読み込もうとすると、できません。
dictionary - なぜ辞書なのか.TryGetValue(TKey, TValue) は常に true を返しますか?
Dictionary.TryGetValue()
ユーザー名とパスワードのハッシュの辞書を検索するために使用しようとしています。一致する場合はユーザーを認証し、そうでない場合は何か他のことを行います。
私が抱えている問題は、ハッシュ値が辞書の内容と一致しない場合はいつでも、おそらくユーザー名キーと一致したため、とにかく true を返すことです? キーのみが一致し、その値が一致しない場合に true を返す動作は予想されますか?
メソッドとユーザー出力を以下に示します。トラブルシューティングの目的でハッシュを出力しています。
ハッシュが一致し、その後一致しないユーザー出力の例を次に示します。
ハッシュが最初に一致しない場合、動作は変わりません
パスワード認証システム
1 つのオプションを選択してください:
- アカウントを開設する
- ユーザーを認証する
- システムを終了する
選択を入力してください: 1 ユーザー名を入力してください: ユーザー名
パスワードを入力してください: ユーザー名、5e884898da28047151d0e56f8dc6292773603d0d6aabbdd62a11ef721d1542d8]
パスワード認証システム
1 つのオプションを選択してください:
- アカウントを開設する
- ユーザーを認証する
- システムを終了する
Enter selection: 2 認証したいユーザー名を入力 Username: ユーザー名
パスワードを入力し てください: 5e884898da28047151d0e56f8dc6292773603d0d6aabbdd62a11ef721d1542d8
パスワード認証システム
1 つのオプションを選択してください:
- アカウントを開設する
- ユーザーを認証する
- システムを終了する
Enter selection: 2 認証したいユーザー名を入力 Username: ユーザー名
パスワードを入力してください: 152f66d0fe3a409590ec40fea1ee037cefb4549a1f511defd16824117a768b1d 5e884898da28047151d0e56f8dc6292773603d0d6aabbdd62a11ef721d1542d8
ユーザー名として正常に認証されました