Questions tagged «c#»

C#(发音为“ See Sharp”)是由Microsoft开发的一种高级,静态类型的多范例编程语言。C#代码通常针对Microsoft的.NET系列工具和运行时,其中包括.NET Framework,.NET Core和Xamarin。使用此标记可解决有关用C#或C#正式规范编写的代码的问题。

2
是否有C#替代Java的vararg参数?
我从事过Java和.Net技术的新工作 是否可以在C#中声明一个接受变量输入参数的函数 是否有类似于以下Java语法的C#语法? void f1(String... a)
93 c# 

7
使用{}语句在内部调用return是一个好方法吗?
使用Stack (){}来进行堆栈溢出: 我只想知道return在using块内调用的安全/良好方法。 对于前。 using(var scope = new TransactionScope()) { // my core logic return true; // if condition met else return false; scope.Complete(); } 我们知道最后一个大括号 dispose()将被取消。但是在上述情况下会发生什么,因为return将控件跳出了给定范围(AFAIK)... 我scope.Complete()叫我吗? 对于示波器的dispose()方法也是如此。
93 c#  return  using 

14
如何在ASP.NET Identity中更新声明?
我为我的MVC5项目使用OWIN身份验证。这是我的SignInAsync private async Task SignInAsync(ApplicationUser user, bool isPersistent) { var AccountNo = "101"; AuthenticationManager.SignOut(DefaultAuthenticationTypes.ExternalCookie); var identity = await UserManager.CreateIdentityAsync(user, DefaultAuthenticationTypes.ApplicationCookie); identity.AddClaim(new Claim(ClaimTypes.UserData, AccountNo)); AuthenticationManager.SignIn(new AuthenticationProperties() { IsPersistent = isPersistent, RedirectUri="Account/Index"}, identity); } 如您所见,我已添加AccountNo到“索赔”列表中。 现在,如何在应用程序中的某个时刻更新此声明?到目前为止,我有这个: public string AccountNo { get { var CP = ClaimsPrincipal.Current.Identities.First(); var Account= CP.Claims.FirstOrDefault(p => p.Type == …

5
如何获取当前正在执行的DLL的位置?
我有一个配置文件,在我编写的dll执行过程中需要加载该文件。 我遇到的问题是,当应用程序运行时,我放置dll和配置文件的位置不是“当前位置”。 例如,我将dll和xml文件放在这里: D:\ Program Files \ Microsoft Team Foundation Server 2010 \ Application Tier \ Web Services \ bin \ Plugins 但是,如果我尝试像这样引用xml文件(在我的dll中): XDocument doc = XDocument.Load(@".\AggregatorItems.xml") 然后。\ AggregatorItems.xml转换为: C:\ windows \ system32 \ inetsrv \ AggregatorItems.xml 因此,我需要找到一种方法(希望)来知道当前正在执行的dll所在的位置。基本上我正在寻找: XDocument doc = XDocument.Load(CoolDLLClass.CurrentDirectory+@"\AggregatorItems.xml")
93 c#  .net  dll  file-io 

4
如何将对象传递给HttpClient.PostAsync并序列化为JSON主体?
我正在使用System.Net.Http,在网上找到了几个示例。我设法创建此代码以发出POST请求: public static string POST(string resource, string token) { using (var client = new HttpClient()) { client.BaseAddress = new Uri(baseUri); client.DefaultRequestHeaders.Add("token", token); var content = new FormUrlEncodedContent(new[] { new KeyValuePair<string, string>("", "") }); var result = client.PostAsync("", content).Result; string resultContent = result.Content.ReadAsStringAsync().Result; return resultContent; } } 一切正常。但是假设我想将第三个参数传递给该POST方法,则该参数称为data。数据参数是这样的对象: object data = …


9
Windows服务模板丢失?
当我创建一个新项目时,“ Windows服务”模板不存在! 有人可以告诉我在哪里可以得到它,或提供指向它的下载链接吗?
92 c#  visual-studio 

9
如何在XAML中格式化TimeSpan
我正在尝试格式化绑定到TimeSpan属性的文本块。如果属性的类型有效,DateTime但如果属性为,则失败TimeSpan。我可以使用转换器来完成它。但我试图找出是否还有其他选择。 样例代码: public TimeSpan MyTime { get; set; } public Window2() { InitializeComponent(); MyTime = DateTime.Now.TimeOfDay; DataContext = this; } Xaml <TextBlock Text="{Binding MyTime,StringFormat=HH:mm}"/> 我希望文本块仅显示小时和分钟数。但它显示为: 19:10:46.8048860




8
Debug.Assert与异常抛出
我已经阅读了很多有关如何以及何时使用断言的文章(以及在StackOverflow上发布的其他一些类似问题),并且我对它们很了解。但是,我仍然不明白应该用哪种动机来促使我使用它,Debug.Assert而不是抛出一个明显的例外。我的意思是,在.NET中,对失败的断言的默认响应是“停止运行”并向用户显示消息框。尽管可以修改这种行为,但我发现这样做非常烦人和多余,而我可以抛出一个适当的异常。这样,在抛出异常之前,我可以轻松地将错误写入应用程序日志,此外,我的应用程序不一定会冻结。 那么,为什么我应该使用Debug.Assert而不是普通的例外呢?将断言放置在不应该出现的位置可能会导致各种“有害行为”,因此,根据我的观点,我真的没有通过使用断言而不是抛出异常来获得任何好处。您是否同意我的意见,或者我在这里错过了什么? 注意:我完全理解“理论上”的区别(调试与发行,使用模式等),但是据我所知,我最好抛出一个异常而不是执行一个断言。由于如果在生产版本中发现了错误,我仍然希望“断言”失败(毕竟,“开销”很小),所以我最好抛出一个异常。 编辑:我认为,如果断言失败,则意味着应用程序进入某种损坏的意外状态。那我为什么要继续执行呢?应用程序是在调试版本还是发行版本上运行都没有关系。两者都一样


3
无法将目标平台更改为“任何CPU”
我在x86电脑上工作,并在VS2010中使用.NET4.0(与3.5有相同的问题)。当我创建一个新项目(例如WinFormsApp)时,我要做的第一件事就是将项目/解决方案的目标平台更改为“ Any CPU”。 我执行以下操作: 项目属性->构建->将TargetPlatform更改为“任何CPU” 在属性页面顶部,平台仍为“活动(x86)”,因此我可以 解决方案属性-> ConfigurationsMgr->平台->新建(因为只有x86可用),然后创建解决方案平台“ Any CPU”。 现在,项目属性为“活动(任何CPU)”,我可以随意更改它。 现在的问题是:当我添加一个新项目时,它再次设置为“活动(x86)”,并且我再次无法更改项目设置。在第二个项目的SolutionProperties-> ConfigurationManager中,“ Any CPU”平台不可用,我无法添加一个新平台,因为它告诉我AnyCPU的解决方案平台已经存在... 我究竟做错了什么?将新创建的项目设置为AnyCPU难吗?

23
如何为单词加上“ a”和“ an”前缀?
我有一个.NET应用程序,在其中给定了一个名词,我希望它为该单词加上“ a”或“ an”前缀。我该怎么做? 在您认为答案只是简单地检查第一个字母是否是元音之前,请考虑以下短语: 一个诚实的错误 二手车
92 c#  nlp  linguistics 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.