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

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

6
タイプ 'T'の値は変換できません
これはおそらく初心者の質問ですが、グーグルは意外にも答えを提供しませんでした。 私はこのかなり人工的な方法を持っています T HowToCast<T>(T t) { if (typeof(T) == typeof(string)) { T newT1 = "some text"; T newT2 = (string)t; } return t; } C ++の背景から来たので、これが機能することを期待していました。ただし、上記の両方の割り当てで、「タイプ 'T'を暗黙的に文字列に変換できない」および「タイプ 'T'を文字列に変換できない」でコンパイルできません。 私は概念的に間違っていることをしているのか、単に間違った構文を持っています。これを整理するのを手伝ってください。 ありがとうございました!
146 c#  .net  generics  casting 

6
C#で文字列をUTF-8に変換するにはどうすればよいですか?
サードパーティのアプリから受け取った文字列があり、Windows SurfaceでC#を使用して任意の言語で正しく表示したいのですが。 エンコーディングが正しくないため、私の文字列の一部はスペイン語では次のようになります。 Acción これは次のようになります。 アクシオン この質問の回答によると: C#で文字列エンコーディングを知る方法、受け取っているエンコーディングはすでにUTF-8で提供されているはずですが、Encoding.Default(おそらくANSI?)で読み取られます。 この文字列を実際のUTF-8に変換しようとしていますが、問題の1つは、Encodingクラスのサブセットしか表示できない(UTF8およびUnicodeプロパティのみ)ことです。これは、おそらくWindowsサーフェスAPIに制限されているためです。 私はインターネットで見つけたスニペットをいくつか試しましたが、東部の言語(つまり、韓国語)でこれまでに成功したと証明されたものはありません。一例は次のとおりです。 var utf8 = Encoding.UTF8; byte[] utfBytes = utf8.GetBytes(myString); myString= utf8.GetString(utfBytes, 0, utfBytes.Length); また、文字列をバイト配列に抽出してから、UTF8.GetStringを使用してみました。 byte[] myByteArray = new byte[myString.Length]; for (int ix = 0; ix < myString.Length; ++ix) { char ch = myString[ix]; myByteArray[ix] = (byte) ch; } myString = Encoding.UTF8.GetString(myByteArray, …


1
既存のASP.NET MVC(5)WebアプリケーションプロジェクトにWeb APIを追加する方法
新しいMVC(5)プロジェクトを作成するときにWeb APIチェックボックス(プロジェクトに追加)にチェックマークを付けるのを忘れた場合、Web APIを追加して機能させるには何が必要ですか? 移行に関する質問はたくさんありますが、Web APIをMVC 5プロジェクトに追加するための完全で最新の手順を持っているようには見えず、古い回答のいくつかから変更されているようです。 MVC 4にWeb APIを追加する GlobalConfiguration.Configure(WebApiConfig.Register)MVC 4の追加

4
C#でメソッドパラメーターのツールチップを表示する方法
VS2010: VBでは、既存のメソッドのパラメーターブラケット内にカーソルを置いて「スペース」を入力すると、現在のパラメーターの説明がツールチップに表示されます。これはC#では当てはまりません。このツールチップを表示するには、パラメーターを含む括弧全体を削除し、左括弧を再入力する必要があります。この動作を変更するためのショートカットまたは設定はありますか?Ctrlキー、Shiftキー、Altキーを押してみましたが、効果がありません。

9
appSettingsキーが存在するかどうかを確認するにはどうすればよいですか?
アプリケーション設定が使用可能かどうかを確認するにはどうすればよいですか? つまり、app.config <?xml version="1.0" encoding="utf-8" ?> <configuration> <appSettings> <add key ="someKey" value="someValue"/> </appSettings> </configuration> そしてコードファイル内 if (ConfigurationManager.AppSettings.ContainsKey("someKey")) { // Do Something }else{ // Do Something Else }

5
C#で正しいタイムスタンプを取得する方法
アプリケーションで有効なタイムスタンプを取得したいので、次のように記述しました。 public static String GetTimestamp(DateTime value) { return value.ToString("yyyyMMddHHmmssffff"); } // ...later on in the code String timeStamp = GetTimestamp(new DateTime()); Console.WriteLine(timeStamp); 出力: 000101010000000000 私は次のようなものが欲しかった: 20140112180244 何が悪いのでしょうか?
146 c#  timestamp 


21
エンティティタイプ<type>は現在のコンテキストのモデルの一部ではありません
Entity Frameworkに入りましたが、コードファーストアプローチの重要なポイントを見逃しているかどうかはわかりません。 https://genericunitofworkandrepositories.codeplex.com/のコードに基づいた汎用リポジトリパターンを使用して、エンティティを作成しました。 しかし、エンティティにアクセスまたは変更しようとすると、次のようになります。 System.InvalidOperationException:エンティティタイプEstateは、現在のコンテキストのモデルの一部ではありません。 私のリポジトリからアクセスしようとすると、次のようになります。 public virtual void Insert(TEntity entity) { ((IObjectState)entity).ObjectState = ObjectState.Added; _dbSet.Attach(entity); // &lt;-- The error occurs here _context.SyncObjectState(entity); } データベース(./SQLEXPRESS)は問題なく作成されますが、エンティティ(テーブル)は起動時に作成されません。 エンティティのマッピングを明示的に設定する必要があるかどうか疑問に思っていますか?EFはこれだけではできませんか? 私のエンティティは: public class Estate : EntityBase { public int EstateId { get; set; } public string Name { get; set; } } 私のコンテキストはそうです: public …


4
JSONファイルをC#で書き込む方法
C#でJSON形式を使用して、次のデータをテキストファイルに書き込む必要があります。大括弧は、有効なJSON形式であるために重要です。 [ { "Id": 1, "SSN": 123, "Message": "whatever" }, { "Id": 2, "SSN": 125, "Message": "whatever" } ] これが私のモデルクラスです: public class data { public int Id { get; set; } public int SSN { get; set; } public string Message { get; set;} }

12
リストに文字列を含む要素が含まれているかどうかを確認し、その要素を取得します
この質問への回答を検索しているときに、LINQを利用して同様の質問に出くわしましたが、慣れていないため、それらを完全に理解することはできません(したがって、それらを実装することもできません)。私が基本的にしたいのはこれです: リストの要素に特定の文字列が含まれているかどうかを確認します。 ある場合は、その要素を取得します。 正直なところ、どうすればいいのかわかりません。私が思いつくことができるのはこれです(もちろん機能していません): if (myList.Contains(myString)) string element = myList.ElementAt(myList.IndexOf(myString)); それが機能しない理由を知っています: myList.Contains()trueリストの要素全体が指定した文字列と一致するかどうかをチェックするため、は返されません。 myList.IndexOf() それは再びそうであるので、文字列に一致する要素をチェックするので、オカレンスは見つかりません。 それでも、この問題を解決する方法はわかりませんが、同様の質問で提案されているように、LINQを使用する必要があると思います。そうは言っても、ここでそうである場合は、回答者に例でのLINQの使用について説明してほしい(先ほど述べたように、C#のときは気にしていません)。事前にみんな(そしてギャル?)ありがとうございました。 編集:私は解決策を考え出しました; リストをループして、現在の要素に文字列が含まれているかどうかを確認し、現在の要素と等しい文字列を設定します。しかし、これより効率的な方法はありますか? string myString = "bla"; string element = ""; for (int i = 0; i &lt; myList.Count; i++) { if (myList[i].Contains(myString)) element = myList[i]; }
146 c#  .net  linq  list  contains 


17
同じプロジェクトでのC#とVBの混在
クラスライブラリの同じプロジェクトでvbファイルとc#ファイルを混在させることはできますか?それを可能にする設定はありますか? 私が試してみましたが、バックグラウンドコンパイラはそれを十分に処理しているようですが、(同じ名前の同じ名前空間に2つのクラスがあり、不満がなかったという事実を除いて)、どのIntelliSenseも完全に正しく機能しません。 VBからC#に変換しようとしていますが、すべてのコードの変換が完了していません。作成する必要がある新しいコードがいくつかありますが、それだけのために新しいプロジェクトを作成したくありませんでした。
145 c#  vb.net 

8
WhereとSelectのパフォーマンスがSelectだけの理由
私はこのようなクラスを持っています: public class MyClass { public int Value { get; set; } public bool IsValid { get; set; } } 実際にははるかに大きいですが、これは問題(奇妙さ)を再現します。 Valueインスタンスが有効なの合計を取得します。これまでのところ、これに対する2つの解決策を見つけました。 最初のものはこれです: int result = myCollection.Where(mc =&gt; mc.IsValid).Select(mc =&gt; mc.Value).Sum(); ただし、2つ目は次のとおりです。 int result = myCollection.Select(mc =&gt; mc.IsValid ? mc.Value : 0).Sum(); 最も効率的な方法を取得したいと思います。最初は、2番目のほうが効率的だと思いました。それから私の理論的な部分は「まあ、1つはO(n + m + m)、もう1つはO(n + n)です。最初の1つは無効が多いほどパフォーマンスが良く、2つ目はパフォーマンスが高いはずです。より少ない」。それらは同等に機能すると思いました。編集:そして@MartinはWhereとSelectが組み合わされていることを指摘したので、実際にはO(m + …
145 c#  linq 

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