タグ付けされた質問 「c#」

C#(「seesharp」と発音)は、Microsoftによって開発された、静的に型指定された高レベルのマルチパラダイムプログラミング言語です。C#コードは通常、Microsoftの.NETファミリのツールとランタイムを対象としています。これには、.NET Framework、.NET Core、Xamarinなどが含まれます。このタグは、C#またはC#の正式な仕様で記述されたコードに関する質問に使用します。


4
.NETのバイトのリテラルサフィックス?
floatやdoubleのようにバイト変数を短い方法で宣言する方法はあるのでしょうか。私のような意味5fと5d。確かに私はを書くことができbyte x = 5ますがvar、ローカル変数に使用する場合、それは少し重要ではありません。
162 c#  .net  value-type 

8
Collection <T>とList <T>では、インターフェイスで何を使用する必要がありますか?
コードは次のようになります。 namespace Test { public interface IMyClass { List&lt;IMyClass&gt; GetList(); } public class MyClass : IMyClass { public List&lt;IMyClass&gt; GetList() { return new List&lt;IMyClass&gt;(); } } } コード分​​析を実行すると、次の推奨事項が表示されます。 警告3 CA1002:Microsoft.Design: 'IMyClass.GetList()'の 'List'を、Collection、ReadOnlyCollection、またはKeyedCollectionを使用するように変更します これをどのように修正すればよいですか?ここでの良い習慣は何ですか?

8
クエリ文字列に値を追加する
以下のリストに類似したURLのセットがあります http://somesite.com/backup/lol.php?id=1&amp;server=4&amp;location=us http://somesite.com/news.php?article=1&amp;lang=en 次のコードを使用してクエリ文字列を取得できました。 myurl = longurl.Split('?'); NameValueCollection qs = HttpUtility.ParseQueryString(myurl [1]); foreach (string lol in qs) { // results will return } ただし、指定されたURLに基​​づいて、id、server、locationなどのパラメーターのみを返します 。 既存のクエリ文字列に値を追加/追加する必要があります。 たとえば、次のURLの場合: http://somesite.com/backup/index.php?action=login&amp;attempts=1 クエリ文字列パラメーターの値を変更する必要があります。 action = login1 試行= 11 ご覧のとおり、各値に「1」を追加しています。クエリ文字列が異なる文字列からURLのセットを取得し、最後に各パラメーターに値を追加して、リストに再度追加する必要があります。

5
C#で参照されているXSDに対してXMLを検証する
次のようなスキーマの場所が指定されたXMLファイルがあります。 xsi:schemaLocation="someurl ..\localSchemaPath.xsd" C#で検証したい。Visual Studioでファイルを開くと、スキーマに対して検証され、エラーが完全に一覧表示されます。しかし、どういうわけか、検証するスキーマを次のように指定しないと、C#で自動的に検証することができないようです。 XmlDocument asset = new XmlDocument(); XmlTextReader schemaReader = new XmlTextReader("relativeSchemaPath"); XmlSchema schema = XmlSchema.Read(schemaReader, SchemaValidationHandler); asset.Schemas.Add(schema); asset.Load(filename); asset.Validate(DocumentValidationHandler); XMLファイルで指定されたスキーマで自動的に検証できませんか?何が欠けていますか?
161 c#  xml  xsd 

11
パラメーター付きのコンストラクターを作成すると、デフォルトのパラメーターレスコンストラクターがなくなる理由
C#、C ++、およびJavaでは、パラメーターを受け取るコンストラクターを作成すると、パラメーターのないデフォルトのコンストラクターがなくなります。私は常にこの事実を受け入れてきましたが、今はなぜなのかと思い始めています。 この動作の理由は何ですか?「独自のコンストラクターを作成した場合、おそらくこの暗黙的なコンストラクターをぶら下げたくない」と言っているだけの「安全対策/推測」ですか?それとも、自分でコンストラクタを作成した後にコンパイラが追加できないようにする技術的な理由がありますか?

7
__doPostBack()の使用方法
を使用してASP.NETで非同期ポストバックを作成しようとしています__doPostBack()が、その方法がわかりません。バニラJavaScriptを使用したいと思います。 ボタンのクリックのような単純なもので__doPostBack()イベントが発生する可能性があります。私はメカニズムがどのように機能するかを学ぼうとしているだけです。

5
.NET正規表現の「グループ」と「キャプチャ」の違いは何ですか?
.NETの正規表現言語に関して、 "グループ"と "キャプチャ"の違いは少し曖昧です。次のC#コードを考えます。 MatchCollection matches = Regex.Matches("{Q}", @"^\{([A-Z])\}$"); これにより、文字 'Q'が1回キャプチャされることが期待されますが、返されたのプロパティを出力するとMatchCollection、次のようになります。 matches.Count: 1 matches[0].Value: {Q} matches[0].Captures.Count: 1 matches[0].Captures[0].Value: {Q} matches[0].Groups.Count: 2 matches[0].Groups[0].Value: {Q} matches[0].Groups[0].Captures.Count: 1 matches[0].Groups[0].Captures[0].Value: {Q} matches[0].Groups[1].Value: Q matches[0].Groups[1].Captures.Count: 1 matches[0].Groups[1].Captures[0].Value: Q ここで正確に何が起こっているのですか?試合全体の攻略もあると聞きましたが、グループはどのようにして参加しますか?そして、なぜmatches[0].Captures「Q」の文字のキャプチャが含まれていないのですか?
161 c#  .net  regex 

11
C#:1つのステートメントで複数の変数に同じ値を割り当てる
C#で1つのステートメントで一度に1つの値を複数の変数に割り当てる方法はありますか(今日、複数の変数への複数の同じ値の割り当てに遭遇したため、好奇心から脱出できますか)? これらの行に沿った何か(疑似コード): int num1 = 1; int num2 = 1; num1 &amp; num2 = 5; おそらくそうではないかもしれませんが、実際に同様のことが可能かどうかを尋ねる価値はあると思いました!
161 c# 

8
linqを使用して2つのオブジェクトリストからリストを作成する
次のような状況です class Person { string Name; int Value; int Change; } List&lt;Person&gt; list1; List&lt;Person&gt; list2; 2つのリストを新しいものList&lt;Person&gt; に結合する必要があります。それは、結合レコードがその名前を持っている同じ人である場合、list2の人の値、changeはlist2の値-list1の値です。重複がない場合、変更は0です。
161 c#  linq 

13
存在しない場合、および新しい行を追加する場合は、.txtファイルを作成します
.txtファイルを作成して書き込みたいのですが、ファイルが既に存在する場合は、さらに行を追加したいだけです。 string path = @"E:\AppServ\Example.txt"; if (!File.Exists(path)) { File.Create(path); TextWriter tw = new StreamWriter(path); tw.WriteLine("The very first line!"); tw.Close(); } else if (File.Exists(path)) { TextWriter tw = new StreamWriter(path); tw.WriteLine("The next line!"); tw.Close(); } しかし、最初の行は常に上書きされるようです...同じ行に書き込むことを回避するにはどうすればよいですか(これをループで使用しています)? 簡単なことだとは思いますが、このWriteLine方法を使ったことはありません。私はC#をまったく使用していません。
161 c#  text-files 

4
ASP.NET Coreでのトークンベースの認証
ASP.NET Coreアプリケーションを使用しています。トークンベースの認証を実装しようとしていますが、新しいセキュリティシステムを使用する方法がわかりません。私は例を試してみましたが、彼らは私をあまり助けませんでした、彼らはクッキー認証または外部認証(GitHub、Microsoft、Twitter)のどちらかを使用しています。 私のシナリオは何ですか:angularjsアプリケーションは、/tokenユーザー名とパスワードを渡すURLを要求する必要があります。WebApiはユーザーを承認しaccess_token、次のリクエストでangularjsアプリが使用するものを返す必要があります。 ASP.NETの現在のバージョン-ASP.NET Web API 2、Owin、およびIdentityを使用したトークンベースの認証に必要なものを正確に実装することに関する優れた記事を見つけました。しかし、ASP.NET Coreで同じことをする方法は私には明らかではありません。 私の質問は、ASP.NET Core WebApiアプリケーションをトークンベースの認証で動作するように構成する方法ですか。

7
Find()とWhere()。FirstOrDefault()の比較
私Where.FirstOrDefault()は、検索を実行して最初の要素を取得するために使用している人をよく見ます。なぜ使用しないのFind()ですか?他に利点はありますか?違いがわからなかった。 namespace LinqFindVsWhere { class Program { static void Main(string[] args) { List&lt;string&gt; list = new List&lt;string&gt;(); list.AddRange(new string[] { "item1", "item2", "item3", "item4" }); string item2 = list.Find(x =&gt; x == "item2"); Console.WriteLine(item2 == null ? "not found" : "found"); string item3 = list.Where(x =&gt; x == "item3").FirstOrDefault(); Console.WriteLine(item3 …
161 c#  linq  linq-to-objects 

8
JSON文字列をJSONオブジェクトに変換するc#
私のデータベースにはこの文字列が保存されています: str = "{ "context_name": { "lower_bound": "value", "upper_bound": "value", "values": [ "value1", "valueN" ] } }" この文字列はすでにJSON形式ですが、JObjectまたはJSONオブジェクトに変換したいと思います。 JObject json = new JObject(); json = (JObject)str;キャストを試しましたがうまくいきませんでした。
161 c#  asp.net  json  string  parsing 


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.