我正在将一个古老的VB6程序转换为C#(.Net 4.0),并且在一个例程中它执行了大量的字符串操作和生成.它使用的大多数原生VB6代码在C#字符串类中都有类似物,例如Trim().但我似乎无法找到Space(n)的替代品,它显然会生成一个字符串n个空格.
通过MSDN文档,似乎有一个VB.Net 的Space()方法,但我无法在VB.Net上下文之外找到它.为什么是这样?我以为所有.Net语言共享相同的CLR.
C#或.Net是否有一个我可以在C#中使用的通用Space()方法,我只是在某个地方?
NB我知道编写单行来生成n空格是一个流行的测验问题和程序员对某些编程语言的酒吧游戏,但我不是在寻找建议.如果在C#/ .Net中没有本地方法可以做到这一点,那么写一个简单的方法就很容易了; 我只是不想重新发明轮子.
我有一个Android应用程序与PC上的程序对话.我正在使用Android(Java)Socket类.如果我下次从Android发送内容时停止并重新启动PC应用程序,我会收到IO Exception"Broken Pipe".我的问题与此无关.这是问题:
如果我查询Socket的isClosed()方法得到破坏的管道异常,它返回false(即,它没有关闭),如果我查询Socket的isConnected()方法,它返回true,即它是连接的.有人可以向我解释这些结果吗?提前致谢!
致电getActionBar回报null.这已屡有报道,所以我做了一定要包括其他人使用的解决方案:我的minSdkVersion=11,我有一个标题栏,和我打电话getActionBar后setContentView.此外,我的活动不是儿童活动.
setContentView(R.layout.main);
// experiment with the ActionBar
ActionBar actionBar = getActionBar();
actionBar.hide();
Run Code Online (Sandbox Code Playgroud)
Device是运行Android 3.2的三星Galaxy Tab 10.1
提前感谢任何想法或建议!
当我在横向模式下在屏幕上显示EditText时,如果我点击EditText来调出软键盘,EditText会在两个维度上展开以占据键盘未占用的整个屏幕!键盘解除后,它将恢复正常大小.
我已经在我的手机上检查了其他商业应用程序,其中许多(但不是全部!)也做了同样的事情.EditText在TableRow中,在TableLayout中,如下所示:
android:id="@+id/editTextHeight"
android:layout_width="100dp"
android:layout_height="wrap_content"
android:singleLine="true"
android:maxLength="25"
android:hint="Height"
Run Code Online (Sandbox Code Playgroud)
(Android 2.2,Droid Incredible,FWIW)提前致谢!
我知道我可以使用F11在Android Studio(我有2.2.2)中切换(设置和清除)书签.但是,有没有类似的简单方法来转到下一个书签?我发现转到下一个书签的唯一方法是隐藏在导航菜单中 - 导航>书签>下一个书签.有没有办法为此分配功能键?
在XAML中,如何调整控件或显示部分的大小,就像抓取和调整Visual Studio中的工具箱,解决方案资源管理器或错误列表等不同面板一样?
在这个组成的例子中...
<Window x:Class="UI_Experiments_1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<DockPanel x:Name="Tab3DockPanel" Background="#FFA0FFA0" LastChildFill="True">
<ScrollViewer DockPanel.Dock="Left" Background="Lavender">
<TextBlock Height="60" TextWrapping="Wrap" Background="#FFFFDDDD" Width="140">
ScrollViewer - DockPanel.Dock="Left"
</TextBlock>
</ScrollViewer>
<TextBlock DockPanel.Dock="Top" HorizontalAlignment="Center"
TextWrapping="Wrap" Background="LemonChiffon">
DockPanel.Dock="Top" HorizontalAlignment="Center"
</TextBlock>
<ListBox DockPanel.Dock="Right" Background="#FFCCEEFF">
ListBox DockPanel.Dock="Bottom"
</ListBox>
</DockPanel>
</Window>
Run Code Online (Sandbox Code Playgroud)
...我有一个DockPanel,左边是一个ScrollView,底部是一个ListBox,顶部是一个TextBlock.有没有办法将调整大小句柄附加到这些以达到相同的效果,或者是否有一些其他控件可以嵌入?正如我所说的,以上只是一个试验的例子 - 我不在乎我是否使用那些精确的控件.
我确实找到了一个在MSDN上使用Adorner添加调整大小句柄的示例,但它涉及超过170行C#代码,因此在采用之前我想确保在XAML中没有内在的方法来实现这一点.
提前致谢.
我正在使用Visual Studio 2010编写一个C#程序,我希望将某些事件写入日志文件,并包含代码所在的行号.
我只发现了两种捕获行号的方法 - CallerLineNumber,它需要.Net 4.5/C#5(我的目标是.Net 4)和StackFrame.GetFileLineNumber,这显然需要调试版本和pdb文件才能正常工作,我正在生成一个发布版本,没有pdb文件.
但这是我没有得到的 - 以上都是运行时解决方案,但行号是编译时实体.为什么需要运行时解决方案?
我可以输入正确的行号作为文字常量,只需查看屏幕底部的内容,如"ln 175"...
LogEvent("It happened at line 175");
Run Code Online (Sandbox Code Playgroud)
但问题是,如果我在第175行之前编辑任何代码,我的文字可能不再正确.但编译器知道正确的行号,并且我过去曾使用过编程语言,它们只能将正确的行号作为编译时常量弹出.(例如,ANSI C和Microsoft C++支持预定义的宏调用
_LINE_)有没有办法让C#这样做?如果没有解决我的问题?
我们这里有多个程序员在Android Studio 2.2.2中处理Android代码.我们正在调试模式,因为代码仍处于开发阶段,但我们会定期在各种其他员工的设备上加载我们的最新工作,供他们使用Run > Debug'app'从菜单栏进行测试
如果我将代码加载到另一个开发人员以前放置代码的设备上,Android Studio就不会让我说,这是不兼容的([UNINSTALL_FAILED_UPDATE_INCOMPATIBLE]并且我必须首先卸载旧代码.我不想因为我想保留旧数据,因为我们在测试运行期间收集调试和性能数据.(我们正在开发一个工业过程控制应用程序)
看看Stack Overflow我找到了两个解决方案,但它们都来自Eclipse时代: 在多台计算机上使用相同的调试密钥库 并共享debug.keystore 解决方案中引用的文件似乎是Eclipse独有的 - 特别是似乎没有文件在我的开发PC上的任何地方称为"debug.keystore".
如何在包含来自其他Android Studio的代码的设备上执行调试"应用",而无需删除以前的安装存储?
我想更熟悉.Net Global Assembly Cache.各种来源在线说它可以在资源管理器中找到C:\ WINNT\Assembly.但是我的Windows XP机器上似乎没有C:下的WINNT文件夹.我选中了"显示隐藏文件和文件夹",并选中了"隐藏受保护的操作系统文件".
使用如何检测安装的.NET Framework版本和Service Pack中描述的方法? 特别是在http://msdn.microsoft.com/en-us/kb/kbarticle.aspx?id=318785中,我看到我安装了.Net 4.0.
我怎样才能可靠地找到它,为什么它会在任何地方,但它应该在哪里?
......如果是的话,怎么样?
我们制作专用的Android设备,用于工业环境.它基本上是一台平板电脑,但只运行一个应用程序.用户不应该访问设备的任何其他功能,甚至系统设置,如WiFi和时间设置都是通过我们的应用程序而不是通过Android设置小部件执行的.所以基本上每个按钮和消息,他们看到使用我们strings.xml的文件.
目前,我们所有的客户都对使用默认的美式英语设置感到满意,但我们很快就会有一些客户想要使用本地语言并向我们提供翻译文件.目前其中一个是罗马尼亚语,它不是该设备上任何原生支持的语言(三星Galaxy标签4); 另一个是捷克人.
因此,我们希望strings.xml在适当的res文件夹中添加文件,非英语语言和我们的应用程序中的下拉列表,以选择我们正在使用的语言.以编程方式我们认为我们可以使用它Locale来设置strings.xml它使用的文件,例如,如果从下拉列表中选择罗马尼亚语,我们将用于Locale将平板电脑设置为罗马尼亚语,因此我们所有应用程序的UI都将使用罗马尼亚strings.xml文件.
我们的设置(包括新的下拉列表)无法供客户访问 - 它们由现场服务工程师设置在客户现场.
问题:
strings.xml它使用哪个文件Locale?Locale为罗马尼亚语,捷克语或其他没有原生支持的语言,如果它确实试图发出系统消息,它不会崩溃平板电脑).