我已经尝试了一段时间,我相信我正在做所有事情(就代码而言):
SpriteFont font = Content.Load<SpriteFont>("Arial");
Run Code Online (Sandbox Code Playgroud)
但是,我读到你需要使用我尝试过的工具编译字体,但它们都是从扩展名*.spritefont转换而来.这似乎不在我的机器上,虽然经过一些研究,我确实设法获得了几个TTF文件.
一些进一步的研究暗示,如果我从VS中选择"新文件",我应该能够选择创建一个新的spritefont.这似乎不是这种情况,因为它不在VS2012或13的列表中.
我没有理由非常使用字体,所以我可能犯了一个明显的错误.有什么想法吗?
以下控制台应用程序崩溃:
decimal dec = decimal.MinValue;
string str = string.Format("{0:d}", dec);
Console.WriteLine(str);
Run Code Online (Sandbox Code Playgroud)
错误是:
Format specifier was invalid.
Run Code Online (Sandbox Code Playgroud)
鉴于我基本上将十进制格式化为十进制,这有什么问题?
我一直在研究Singleton模式,因为它在Settings类中使用.这是我的项目AccessTest的Settings.Designer.cs中的相关代码:
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase
{
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
public static Settings Default
{
get
{
return defaultInstance;
}
}
public string applicationSetting1
{
get
{
return ((string)(this["applicationSetting1"]));
}
}
}
Run Code Online (Sandbox Code Playgroud)
我不清楚的是为什么属性'applicationSetting1'是通过另一个属性'Default'访问的,为什么:
var value = AccessTest.Properties.Settings.Default.applicationSetting1;
Run Code Online (Sandbox Code Playgroud)
我正在运行VS2013 C#和4.5.
我有一个继承自泛型字典的类,如下所示:
Class myClass : System.Collections.Generic.Dictionary<int, Object>
Run Code Online (Sandbox Code Playgroud)
我已按特定顺序添加了一个值列表,但我现在希望更改该顺序.有没有办法(不删除和重新添加)我可以有效地重新索引值; 所以更改索引1处的对象现在是索引10,例如?例如,这不起作用:
myClass[1].Index = 10;
Run Code Online (Sandbox Code Playgroud) 我有以下代码来通过 FTP 检索文件:
\n\n try\n {\n FtpWebRequest request = (FtpWebRequest)WebRequest.Create(serverPath);\n\n request.KeepAlive = true;\n request.UsePassive = true;\n request.UseBinary = true;\n\n request.Method = WebRequestMethods.Ftp.DownloadFile;\n request.Credentials = new NetworkCredential(username, password);\n\n using (FtpWebResponse response = (FtpWebResponse)request.GetResponse())\n using (Stream responseStream = response.GetResponseStream())\n using (StreamReader reader = new StreamReader(responseStream))\n using (StreamWriter destination = new StreamWriter(destinationFile))\n {\n destination.Write(reader.ReadToEnd());\n destination.Flush();\n }\n\n return 0;\n }\n catch (Exception ex)\n {\n MessageBox.Show(ex.Message);\n }\nRun Code Online (Sandbox Code Playgroud)\n\n这在大多数情况下都有效,但我有一台客户端计算机,但出现异常:
\n\nThe remote server returned an error 403: Forbidden\nRun Code Online (Sandbox Code Playgroud)\n\n谁能告诉我为什么会这样?它\xe2\x80\x99在所有客户端上运行的代码完全相同(包括相同的用户名和密码)?
\n我试过这样做,但似乎只是被忽略了.我发现一些文章说如果你想这样做,那么你必须确保父对象也是100%.我有以下内容:
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server" style="height:100%">
<title>Untitled Page</title>
<asp:ContentPlaceHolder id="head" runat="server">
</asp:ContentPlaceHolder>
<style type="text/css">
.MasterStyle
{
width: 98%;
height: 100%;
}
.ContentStyle
{
width: 100%;
}
.TableStyle
{
width: 133px;
height: 100%;
}
</style>
</head>
<body class="MasterStyle">
<form id="frmMaster" runat="server">
<div class="ContentStyle">
<asp:Label runat="server" Text="My Site Name" Font-Bold="true" Font-Names="MS-Sans"
Style="text-align:right" Width="100%" />
<br />
</div>
<hr />
<table style="width:100%; height:100%" border="true">
<tr>
<td class="TableStyle" style="height:100%">
Run Code Online (Sandbox Code Playgroud)
桌子周围有一个边框,可以看到它没有填满高度.谁能告诉我为什么我没有达到100%的高度?
SQL Server中是否有一种方法可以创建一个主键自动递增的表?我一直在看"UniqueIdentifier"类型,但这似乎没有达到我的预期.
目前,我有这样的事情:
CREATE TABLE [dbo].[MyTable](
[Date] [datetime] NOT NULL,
[MyField1] [nchar](50) NOT NULL,
[MyField2] [nvarchar](max) NULL,
[Key] [uniqueidentifier] NOT NULL
) ON [PRIMARY]
Run Code Online (Sandbox Code Playgroud)
基本上,我希望KEY从1开始,并为每条记录增加自己.
primary-key uniqueidentifier create-table sql-server-express
在下面的代码块中,如果VB.NET优雅地退出With块Var1 = 2?
With MyObject
.Property1 = "test"
If Var1 = 2 Then
Return True
End If
.Property2 = "Test2"
End With
Return False
Run Code Online (Sandbox Code Playgroud)
我记得这是VB6中的一个问题并导致令人头疼的行为 - 这与VB.NET是一样的吗?
我不确定我想做什么是可能的,但令人惊讶的是VS2008似乎让我直接将.cs文件复制到我的VB.NET项目中.然后我想我可以直接从VB.NET使用这个文件中的类.但是,当我尝试引用它时,它没有看到它.我正在尝试做什么,或者VS2008只是将C#文件视为资源文件或什么?
我已经基于Split Page示例应用程序创建了一个Windows 8 Metro应用程序.但是,在示例应用程序中,数据在构造函数中同步加载.我正在访问文本文件,因此需要异步加载数据.构造函数如下所示:
public MyDataSource()
{
DataLoaded = false;
LoadData();
}
Run Code Online (Sandbox Code Playgroud)
LoadData()是一种填充数据模型的异步方法.这工作正常,并在加载数据时显示数据(这是我想要的行为).当我尝试测试挂起并终止时,会出现问题.问题是恢复有可能在填充之前尝试访问数据模型:
public static MyDataGroup GetGroup(string uniqueId)
{
// If the data hasn't been loaded yet then what?
if (_myDataSource == null)
{
// Where app has been suspended and terminated there is no data available yet
}
// Simple linear search is acceptable for small data sets
var matches = _myDataSource.AllGroups.Where((group) => group.UniqueId.Equals(uniqueId));
if (matches.Count() == 1) return matches.First();
return null;
}
Run Code Online (Sandbox Code Playgroud)
我可以通过更改要调用的构造函数来解决此问题LoadData().Wait,但这意味着应用程序会锁定UI线程.我认为我需要的是一种获取恢复代码的方法,GetGroup以等待数据加载而不锁定UI线程.这是可行的还是可取的,如果是这样,怎么样? …