草庐IT

iOS分发方式

全部标签

c# - 等待 TcpClient 数据可用的最佳方式?

while(TcpClient.Client.Available==0){Thread.Sleep(5);}有更好的方法吗? 最佳答案 当然!只需在流上调用Read(...)即可。这将阻塞直到数据可用。除非您真的必须直接使用TcpClient,否则我通常会尽可能多地在流上进行操作。如果您想使用套接字,只需调用Receive(byte[])它将阻塞直到数据可用(或套接字关闭)。现在如果不想阻塞,可以使用Stream.BeginRead或Socket.BeginReceive异步工作。(或从.NET4.5开始的ReadAsync。)我个

c# - 压缩 XML 的最佳方式

我需要将一个非常大的xml文件压缩到尽可能小的大小。我在C#工作,我更喜欢它是一些我可以通过我的代码访问的开源或应用程序,但我也可以处理算法。谢谢! 最佳答案 它可能不是“可能的最小尺寸”,但您可以使用System.IO.Compression来压缩它。压缩倾向于为文本提供非常好的压缩。using(varfileStream=File.OpenWrite(...))using(varzipStream=newGZipStream(fileStream,CompressionMode.Compress)){zipStream.Writ

c# - 在 ASP.Net、C# 中以编程方式创建字段集、ol/ul 和 li 标记

我需要编写一个ASP.Net表单来生成以下HTML:ContactDetailsName:Emailaddress:Telephone:但是,要添加到表单中的字段将在运行时确定,因此我需要在运行时创建字段集并向其添加有序列表和列表项,并根据需要添加标签、文本框、复选框等。我找不到将创建这些标记的标准ASP.Net对象。例如,我想在C#中执行如下操作:FieldSetmyFieldSet=newFieldSet();myFieldSet.Legend=“ContactDetails”;OrderedListmyOrderedList=newOrderedList();ListItemli

C# 不同的转换方式——(T)obj vs obj as T

这个问题在这里已经有了答案:关闭11年前。PossibleDuplicate:castingvsusingthe'as'keywordintheCLR我见过两种不同的C#转换方式。例如:MyObjfoo=(MyObj)bar;//thisiswhatIseemostofthetimesMyObjfoo=barasMyObj;//Idoseethissometimes那么,基本区别是什么?style1和style2转换的正确名称是什么?我如何决定何时使用什么?是否存在任何重大性能问题?关于这个主题,还有什么我应该知道的吗?非常感谢您对此的调查:)

c# - 如何更改焦点在 WPF 中的显示方式?

wpf在Windows7上提供的焦点视觉提示是一条虚线,如下所示:现在,我怎样才能改变它的外观呢?我如何控制它的出现?谢谢! 最佳答案 尝试以下操作您可以根据自己的喜好进行自定义。这只是一个起点。编辑:因为很多人都喜欢这个解决方案,所以这里是另一个例子,它改变了所有按钮和文本框的焦点视觉样式,而没有在xaml中为每个控件显式设置FocusVisualStyle属性(看到DynamicResourcethingy?)它还使用动画来改变焦点矩形的颜色。享受:)在这里你看到我有Button和TextBox的样式,它们为这个窗口中的所有按钮

c# - 以编程方式更改 Windows 10 UWP App 中的主题

我可以使用this.RequestedTheme=ElementTheme.Dark;更改主题但是我需要的是整个应用程序级别,因为这个只是将当前页面的主题更改为深色。每当我尝试这个App.Current.RequestedTheme=ApplicationTheme.Dark;我总是得到这个错误Anexceptionoftype'System.NotSupportedException'occurredinUWPApp.exebutwasnothandledinusercode有没有一种方法可以将整个应用程序主题从浅色更改为深色,反之亦然?我正在使用VS2015

c# - 如何在 WPF 中使用 Segoe MDL2 Assets 字体以编程方式创建文本 block

我想这应该很简单,但我得到的不是我需要的图标,而是一堆方框。最初我在xaml中对菜单进行硬编码:codeomittedcodeomitted我现在必须动态创建此菜单,所以我有以下内容:ListBoxItemmenuHome=newListBoxItem();StackPanelmenuHomeStackPanel=newStackPanel(){Orientation=Orientation.Horizontal};menuHomeStackPanel.Children.Add(newTextBlock(){FontFamily=newFontFamily("SegoeMDL2Asse

c# - 以编程方式获取所有存储过程的简单方法

有没有办法使用C#从SQLServer2005Express数据库中获取存储过程?我想以相同的方式导出所有这些数据,您可以使用SQLServerManagementStudio编写脚本,而无需安装GUI。我看过一些关于通过PowerShell执行操作的引用资料,但最终我真正想要的是C#控制台应用程序。澄清....我想编写存储过程的脚本。通过Select*fromsys.procedures获得的列表很有帮助,但最后我需要编写其中的每一个脚本。 最佳答案 您可以为此使用SMO。首先,将对这些程序集的引用添加到您的项目中:Microso

c# - 带有 Xamarin.iOS 的 C# 中的 UITextField 最大长度

我想将可在iOS应用中的UITextField中输入的字符数限制为25个字符。根据thispost,它可以在Objective-C中像这样完成:-(BOOL)textField:(UITextField*)textFieldshouldChangeCharactersInRange:(NSRange)rangereplacementString:(NSString*)string{NSUIntegernewLength=[textField.textlength]+[stringlength]-range.length;return(newLength>25)?NO:YES;}如何使用

c# - 将开发快捷方式放在#if DEBUG block 中是个坏主意吗?

在我们代码的一些地方,我们使用#ifDEBUGblock来简化开发。像这样的东西:#ifDEBUGserverIP=localhost;#elseserverIP=GetSetting()#endif或privateboolisLicensed()#ifDEBUGreturntrue;#endifreturnCheckSetting()还有一些地方我们会像这样进行外观更改:#ifDEBUGbackground=humorousImage.jpg#elsebackground=standardColor#endif依赖#ifdebug来简化开发是否危险?如果是,#ifdebug的有效用法