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

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

19
そこにまともなC#プロファイラーはありますか?[閉まっている]
現在のところ、この質問は私たちのQ&A形式には適していません。回答は事実、参考資料、または専門知識によって裏付けられることを期待していますが、この質問は、討論、議論、世論調査、または広範な議論を求める可能性があります。この質問を改善し、場合によっては再開できると思われる場合は、ヘルプセンターにアクセスしてガイダンスを入手してください。 8年前に閉鎖されました。 C#プロファイラーが必要です。 お金を払うのは嫌いではありませんが、注文書を出すのに時間がかかるので、無料または少なくとも試用版が付いているものが理想的です。 何かお勧めはありますか?
83 c#  .net  profiling  profiler 

5
読み取り専用フィールドに不純なメソッドが呼び出されます
私が使用しているのVisual Studio 2010 + ReSharperのを、それが次のコードに警告を示しています。 if (rect.Contains(point)) { ... } rectはreadonly Rectangleフィールドであり、Resharperは次の警告を表示します。 「値型の読み取り専用フィールドに対してImpureメソッドが呼び出されます。」 不純な方法とは何ですか?なぜこの警告が表示されるのですか?
83 c#  resharper 

6
リフレクションを介してnull許容プロパティのタイプを見つける
リフレクションを介してオブジェクトのプロパティを調べ、各プロパティのデータ型の処理を続行します。これが私の(縮小された)ソースです: private void ExamineObject(object o) { Type type = default(Type); Type propertyType = default(Type); PropertyInfo[] propertyInfo = null; type = o.GetType(); propertyInfo = type.GetProperties(BindingFlags.GetProperty | BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance); // Loop over all properties for (int propertyInfoIndex = 0; propertyInfoIndex <= propertyInfo.Length - 1; propertyInfoIndex++) { propertyType = propertyInfo[propertyInfoIndex].PropertyType; …
83 c#  .net  reflection  nullable 

9
C#がインデックス付きプロパティを実装しないのはなぜですか?
私は知っています、私は知っています...この種の質問に対するエリック・リペットの答えは、通常、「設計、実装、テスト、および文書化のコストに見合う価値がなかったため」のようなものです。 しかし、それでも、もっと良い説明が欲しいのですが...新しいC#4機能についてのこのブログ投稿を読んでいて、COM相互運用に関するセクションで次の部分が私の注意を引きました: ちなみに、このコードはもう1つの新機能を使用しています。インデックス付きプロパティ(範囲の後の角括弧を詳しく見てください)。ただし、この機能はCOM相互運用でのみ使用できます。C#4.0で独自のインデックス付きプロパティを作成することはできません。 いいけどなんで ?C#でインデックス付きプロパティを作成できないことはすでに知っていて後悔していましたが、この文でもう一度考えさせられました。私はそれを実装するいくつかの正当な理由を見ることができます: CLRは、それが(例えば、サポートしPropertyInfo.GetValueているindexことが、我々はC#で、それを利用することはできません残念ですので、パラメータ) 記事に示されているように、COM相互運用でサポートされています(動的ディスパッチを使用) VB.NETに実装されています インデクサーを作成すること、つまりオブジェクト自体にインデックスを適用することはすでに可能です。そのため、同じ構文を維持thisし、プロパティ名に置き換えるだけで、アイデアをプロパティに拡張することはおそらく大したことではありません。 それはそのようなことを書くことを可能にするでしょう: public class Foo { private string[] _values = new string[3]; public string Values[int index] { get { return _values[index]; } set { _values[index] = value; } } } 現在私が知っている唯一の回避策はValuesCollection、インデクサーを実装する内部クラス(たとえば)を作成し、Valuesその内部クラスのインスタンスを返すようにプロパティを変更することです。 これは非常に簡単ですが、面倒です...おそらくコンパイラが私たちのためにそれを行うことができます!オプションは、インデクサーを実装する内部クラスを生成し、パブリックジェネリックインターフェイスを介して公開することです。 // interface defined in the namespace System public interface IIndexer<TIndex, …

5
WindowsストアアプリでCoreDispatcherを取得する正しい方法
Windowsストアアプリを構築していますが、UIスレッドに投稿する必要のあるコードがいくつかあります。 そのために、CoreDispatcherを取得し、それを使用してコードを投稿したいと思います。 これを行うにはいくつかの方法があるようです。 // First way Windows.ApplicationModel.Core.CoreApplication.GetCurrentView().CoreWindow.Dispatcher; // Second way Window.Current.Dispatcher; どちらが正しいのだろうか?または両方が同等である場合?

7
Visual Studio 2010が突然名前空間を認識できなくなりましたか?
私のC#WinFormsソリューションには2つのプロジェクトがあります。私が取り組んでいるメインプロジェクトであるDLLと、DLLを一度に簡単にコンパイル/実行/デバッグできるように「サンドボックス」と呼ぶ実行可能WinForms。 私は両方のプロジェクトで.Net4.0で作業しています。 一見無害に見えるコードと、DLLにSystem.Webへの参照を追加するまで、すべてが正常に機能していました。これで、サンドボックスプロジェクトはDLLプロジェクトの名前空間を見ることができません。これに影響を与えるはずだったと思うものは何も変更しませんでした。 DLLへのプロジェクト参照をサンドボックス参照から削除して再度追加すると、赤い下線がすべて消え、すべてのクラスなどで色分けが返されます。しかし、私がソリューションを構築しようとするとすぐに、すべてが再び崩壊します。 サンドボックスの参照でDLLプロジェクトを右クリックし、オブジェクトブラウザーで表示すると、名前空間とそこにあるすべてのものが表示されます。 これはある種のバグかもしれないと私は感じていますか? これはVS2010のバグのようなものですか?数か月前に同じ問題が発生しましたが、当時はまったく新しいプロジェクトを作成してファイルを再インポートすることでしか修正できませんでした。ただし、今回は数百万のファイルがあり、最後の手段としてのみ実行します。 編集:パニックになってすべての変更をやり直し、問題の原因を見つけようとした後、次の行のようです: string url = "http://maps.google.com?q=" + HttpUtility.UrlEncode(address); この行をコメントアウトすると、名前空間エラーは発生せず、プロジェクトは正常にビルドされます。しかし、この行には何の問題もありません。

2
BackgroundWorkerのタスク並列ライブラリの置き換え?
タスク並列ライブラリには、BackgroundWorkerクラスの置き換えまたは改善と見なされるものがありますか? ウィザードスタイルのUIを備えたWinFormsアプリケーションがあり、長時間実行されるタスクを実行します。標準のプログレスバーと操作をキャンセルする機能を備えたレスポンシブUIを使用できるようにしたいと考えています。以前にBackgroundWorkerでこれを実行しましたが、代わりに使用できるTPLパターンがいくつかあるかどうか疑問に思っています。

11
Windowsおよび.NETでMemcached
Windows環境で本番環境で使用するためにmemcachedをすでに実装している人はいますか?私が読んだことを多くのブログなので、例えば、特に生産使用のWindowsでmemcachedを実行することをお勧めしていない窓にmemcachedを稼働します。 そしてもう1つ、c#と.net 3.5で使用するのに適したmemcachedクライアントはどれですか?Memcached Providers @ Codeplex、Beitmemcached、memcached provider @Sourceforgeなどの多くの代替手段を見つけました

7
ファイルから単一の属性(例:読み取り専用)を削除するにはどうすればよいですか?
Наэтотвопросестьответынаスタックオーバーフローнарусском:Удалитьодинатрибут(скажем、 "толькодлячтения")уфайла? たとえば、ファイルに次の属性があるとしますReadOnly, Hidden, Archived, System。 1つの属性のみを削除するにはどうすればよいですか?(たとえば、ReadOnly) 以下を使用すると、すべての属性が削除されます。 IO.File.SetAttributes("File.txt",IO.FileAttributes.Normal)


19
ファイルまたはアセンブリを読み込めませんでした 'DotNetOpenAuth.Core
asp net mvc 4アプリケーションを起動すると、次のエラーが発生します。 Could not load file or assembly 'DotNetOpenAuth.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=2780ccd10d57b246' or one of its dependencies. The system cannot find the file specified これはエラーログです Assembly manager loaded from: C:\Windows\Microsoft.NET\Framework\v4.0.30319\clr.dll Running under executable C:\Windows\SysWOW64\inetsrv\w3wp.exe --- A detailed error log follows. === Pre-bind state information === LOG: User = …

2
C#でXDocumentを使用したXMLファイルの作成
をList<string>含む「sampleList」があります Data1 Data2 Data3... ファイル構造は次のようなものです <file> <name filename="sample"/> <date modified =" "/> <info> <data value="Data1"/> <data value="Data2"/> <data value="Data3"/> </info> </file> 私は現在、これを行うためにXmlDocumentを使用しています。 例: List<string> lst; XmlDocument XD = new XmlDocument(); XmlElement root = XD.CreateElement("file"); XmlElement nm = XD.CreateElement("name"); nm.SetAttribute("filename", "Sample"); root.AppendChild(nm); XmlElement date = XD.CreateElement("date"); date.SetAttribute("modified", DateTime.Now.ToString()); root.AppendChild(date); XmlElement info …
83 c#  xml  linq-to-xml 

11
C#でビットマップオブジェクトを使用して画像形式を検索する
イメージファイルのハードドライブのバイナリバイトをロードして、ビットマップオブジェクトにロードしています。ビットマップオブジェクトから画像タイプ[JPEG、PNG、BMPなど]を見つけるにはどうすればよいですか? 些細なことに見えます。しかし、それを理解することができませんでした! 別のアプローチはありますか? あなたの応答に感謝します。 更新された正しいソリューション: @CMS:正しい回答をありがとう! これを実現するためのサンプルコード。 using (MemoryStream imageMemStream = new MemoryStream(fileData)) { using (Bitmap bitmap = new Bitmap(imageMemStream)) { ImageFormat imageFormat = bitmap.RawFormat; if (bitmap.RawFormat.Equals(System.Drawing.Imaging.ImageFormat.Jpeg)) //It's a JPEG; else if (bitmap.RawFormat.Equals(System.Drawing.Imaging.ImageFormat.Png)) //It's a PNG; } }
83 c#  .net  image 

9
インターフェイスプロパティのXMLシリアル化
タイプIModelObject(インターフェイス)のプロパティを持つオブジェクトをXMLシリアル化したいと思います。 public class Example { public IModelObject Model { get; set; } } このクラスのオブジェクトをシリアル化しようとすると、次のエラーが表示 されます。「インターフェイスであるため、Example型のメンバーExample.Modelをシリアル化できません。」 問題は、インターフェイスをシリアル化できないことだと理解しています。ただし、具体的なModelオブジェクトタイプは実行時まで不明です。 IModelObjectインターフェイスを抽象型または具象型に置き換え、XMLIncludeで継承を使用することは可能ですが、見苦しい回避策のようです。 助言がありますか?
83 c#  .net  serialization 


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