草庐IT

堆栈iOS

全部标签

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# - 如何在没有流或系统 io 的情况下压缩字节数组

我正在尝试将图像编码为字节数组并将其发送到服务器。编码和发送部分工作正常,但我的问题是字节数​​组太大,发送时间太长,所以我认为压缩它会使它运行得更快。但实际问题是我不能使用system.io或流。我的目标是.net2.0。谢谢。 最佳答案 usingSystem.IO;usingSystem.IO.Compression;代码:publicstaticbyte[]Compress(byte[]data){MemoryStreamoutput=newMemoryStream();using(DeflateStreamdstream=

c# - 来自动态代码的异常堆栈跟踪中的文件路径和行号错误

我们使用System.Reflection.Emit在运行时从源代码生成代码(是的——就像在编译器中一样)。我们使用MarkSequencePoint等向ILGenerator提供正确的符号信息,并在AssemblyBuilder上启用所有调试标志。程序集在编译它的同一进程中保存在内存中并直接执行。当使用VisualStudio调试器单步执行动态生成代码的源代码时,它实际上运行良好,并且VisualStudio似乎完全了解代码在文件和行号方面的来源。但是-当异常被生成的代码抛出时,System.Exception对象包含完全错误的堆栈跟踪。它们指向其他(有效但错误的)文件和行号。它得到

c# - 在 Visual Studio 立即窗口中清除堆栈

在使用即时窗口时,必须区分运行时和设计时。如果我在设计时使用即时窗口并将局部变量放入堆栈:strings="test";VS将启动编译器并在堆上创建一个名为s的新变量,并将指向它的指针放置在它在设计时使用的临时堆栈框架上。(至少我认为这就是它的工作原理,至少是简化的。不过,如果我错了请纠正我)从现在开始,我无法将s用于任何其他用途,直到我运行我的应用程序或关闭VS:ints=12;Alocalvariablenamed's'isalreadydefinedinthisscope我可以使用上下文菜单清除即时窗口,但这实际上只是清除了窗口本身。我的局部变量仍在堆栈中。我想知道,是否真的没有

c# - 在 .Net 中是否有可能在类中的任何方法传递给调用堆栈之前捕获所有未处理的异常?

问题:我想捕获来自类中任何方法的任何异常,以便我可以将类特定数据记录到异常中,以便在将其向上传递到堆栈之前进行日志记录。我知道我可以在类的每个方法中放置一个try-catch,但是方法有很多而且似乎应该有更有效的方法。我目前正在做的事情的例子:publicclassClassA{privateintx;privateinty;publicvoidMethod1(){try{//Somecode}catch(Exceptionex){ex.Data.Add("x",x);ex.Data.Add("y",y);throw;}}publicvoidMethod2(){try{//Someco

c# - Debug 和 Release 模式之间的异常堆栈跟踪差异

下面的代码在调试和Release模式下生成不同的异常堆栈跟踪:staticclassET{publicstaticvoidE1(){thrownewException("E1");}publicstaticvoidE2(){try{E1();}catch(Exceptione){throw;}}publicstaticvoidEntry(){try{E2();}catch(Exceptione){Console.WriteLine(e.StackTrace);}}}Debug模式下的结果:atET.E1()inD:\myStudio\CSharp\CSharp4.0\MyCSharp\

c# - 堆栈和队列枚举顺序

我知道List枚举器保证枚举顺序并尊重最后的排序操作,我知道Dictionary和HashSet不,即你可以不确定Dictionarydictionary=...;foreach(varpairindictionary){}将按照附加的顺序处理对。Stack和Queue呢?他们的调查员是否保证任何顺序? 最佳答案 对于Stack,枚举目前由一个名为StackEnumerator的嵌套私有(private)类完成(这是来自ReferenceSource):privateclassStackEnumerator:IEnumerator,

c# - 查看死锁后的堆栈跟踪

我的应用程序正在Debug模式下执行,然后发生死锁。有什么方法可以查看死锁之前的堆栈跟踪或至少是最后调用的方法? 最佳答案 点击BreakAll(Ctrl+Alt+Break)然后打开Debug->Windows->Threads在那里你可以看到每个线程的堆栈跟踪 关于c#-查看死锁后的堆栈跟踪,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/6044356/

c# - 如何从字符串对象中获取 System.IO.Stream

我有字符串对象。我需要将此数据传递给XYZ类型的另一个对象。但是这个XYZ类型的对象只采用System.IO.Stream。那么如何将字符串数据转换成流,让XYZ类型的对象可以使用这个字符串数据呢? 最佳答案 您必须选择一种文本编码来将字符串转换为字节数组,然后使用MemoryStream调用您的函数。例如:using(System.IO.MemoryStreamms=newSystem.IO.MemoryStream(System.Text.Encoding.UTF16.GetBytes(yourString))){XYZ(ms)

c# - Xamarin.iOS 中的 NSTimer 与 Timer - 何时使用什么?

在使用原生NSTimer还是使用.NET替代品时是否有规则?System.Windows.Forms.TimerSystem.Timers.TimerSystem.Threading.Timer 最佳答案 如果您的目标是可移植性,我会使用.NET计时器(见下文),除非您别无选择(例如方法的NSTimer参数)调用)。很遗憾,您的问题中没有列出我一直以来最喜欢的计时器,它是由Task类提供的:awaitTask.Delay(20);//dosomethingafterthedelay使用非常简单。因此,代替此Timer代码:voidf