如何判断Type是否为 Dictionary<,>
目前唯一对我有用的是我真的知道这些论点.
例如:
var dict = new Dictionary<string, object>();
var isDict = dict.GetType() == typeof(Dictionary<string, object>; // This Works
var isDict = dict.GetType() == typeof(Dictionary<,>; // This does not work
Run Code Online (Sandbox Code Playgroud)
但字典并不总是<string, object>如此,如何在不知道参数的情况下检查它是否是字典而不必检查名称(因为我们还有其他包含该字的类Dictionary.
我正在从字符串中删除文本以及用空行替换每行的内容.
一些背景: 我正在编写一个比较两个字符串的比较函数.它的工作正常,并在两个单独的Web浏览器中显示.当我尝试向下滚动我的浏览器时,字符串是不同的长度,我想用空行替换我删除的文本,以便我的字符串长度相同.
在下面的代码中,我想要计算aDiff.Text有多少行
这是我的代码:
public string diff_prettyHtmlShowInserts(List<Diff> diffs)
{
StringBuilder html = new StringBuilder();
foreach (Diff aDiff in diffs)
{
string text = aDiff.text.Replace("&", "&").Replace("<", "<")
.Replace(">", ">").Replace("\n", "<br>"); //¶
switch (aDiff.operation)
{
case Operation.DELETE:
//foreach('\n' in aDiff.text)
// {
// html.Append("\n"); // Would like to replace each line with a blankline
// }
break;
case Operation.EQUAL:
html.Append("<span>").Append(text).Append("</span>");
break;
case Operation.INSERT:
html.Append("<ins style=\"background:#e6ffe6;\">").Append(text)
.Append("</ins>");
break;
}
}
return html.ToString();
}
Run Code Online (Sandbox Code Playgroud) 我花了大约一个小时寻找这个问题的答案,但一无所获,所以我希望这里有人能帮助我。
背景
我们目前正在尝试使用App Center DistributeVSTS 中的构建任务通过应用程序中心部署我们的 Xamarin.Forms android 应用程序。
其中一项设置允许您指向项目中的发行说明文件,然后当您单击该文件时,该文件将作为发送的电子邮件的一部分包含在应用程序中心发行信息中。该文件必须是 UTF-8 格式。
问题
有没有一种方法可以实际格式化该文件以使其显示良好?我尝试使用 HTML,但没有成功。当仅使用纯文本文件时,它会忽略文本文件中的任何换行符,仅将所有文本显示为连续字符串。
如果不可能的话,我并不追求任何突破性的格式化,只是想知道是否有一种格式化方法,因此它至少不是一大堆文本。
提前致谢
加雷思
背景
我们的网站是一个新闻网站,全球许多人都在观看.显然,这意味着我们将以尽可能多的语言对网站进行本地化.将聘请专业翻译人员为每种语言.
我们的网站目前如何运作
我们计划这样做的方法是在Guid链接的数据库中存储页面的每个元素的翻译.因此,当页面加载时,使用Guid和用户的语言首选项将字符串从数据库中拉出.
我们的项目中有几个包含英文翻译的文档.比如这样:
public class StandardButtonToken : LocalisationToken
{
protected StandardButtonToken(string defaultText, Guid key) : base(defaultText, key)
{
}
public static readonly LocalisationToken Update = new StandardButtonToken("Update", Guid.Parse("8a999f5b-7ca1-466d-93ca-377321e6de00"));
public static readonly LocalisationToken Go = new StandardButtonToken("Go", Guid.Parse("7a013ecc-0772-4f87-9f1f-da6a878a3c99"));
public static readonly LocalisationToken Edit = new StandardButtonToken("Edit", Guid.Parse("c31be427-5016-475d-997a-96fa5ff8b51f"));
public static readonly LocalisationToken New = new StandardButtonToken("New", Guid.Parse("f72d365c-b18f-4f01-a6e4-b0cd930dc730"));
public static readonly LocalisationToken More = new StandardButtonToken("More", Guid.Parse("bd4da7df-afd2-481e-b6b6-b4a989324758"));
public static readonly LocalisationToken Delete = new StandardButtonToken("Delete", Guid.Parse("ab00ec14-4414-4cda-a8e2-4f03c9e7c5a8"));
public static readonly LocalisationToken Add …Run Code Online (Sandbox Code Playgroud) 当我改变时"model => model.id","model => model.Supplierid"我正在低于错误
"当允许多个选择时,参数'expression'必须求值为IEnumerable."
请看下面的代码
//这是我的模特课
public class clslistbox{
public int id { get; set; }
public int Supplierid { get; set; }
public List<SuppDocuments> lstDocImgs { get; set; }
public class SuppDocuments
{
public string Title { get; set; }
public int documentid { get; set; }
}
public List<SuppDocuments> listDocImages()
{
List<SuppDocuments> _lst = new List<SuppDocuments>();
SuppDocuments _supp = new SuppDocuments();
_supp.Title = "title";
_supp.documentid = 1;
_lst.Add(_supp);
return _lst;
}
} …Run Code Online (Sandbox Code Playgroud) 我试图让一些jQuery禁用我的表单上的确认按钮,如果下拉列表是一个特定的值,但它似乎没有工作.
我在这里阅读了很多帖子,并尝试了各种不同的方式.
这是我目前的代码:
<script>
$(document).ready(function () {
// Handler for .ready() called.
$('#MoveToCompanyId').attr("disabled", true);
$('#DeleteAll').live("click", function () {
if ($(this).attr("value") == "True") {
$('#MoveToCompanyId').attr("disabled", true);
} else {
$('#MoveToCompanyId').attr("disabled", false);
$('#confirm').attr("disabled", true);
$('#MoveToCompanyId').change(function () {
if ($("#MoveToCompanyId option:selected").text() != "---Select Company---") {
$('#confirm').removeAttr("disabled");
alert($("#MoveToCompanyId option:selected").text());
}
else {
$('#confirm').attr("disabled", true);
alert("I should be disabled!");
}
});
}
});
});
</script>
Run Code Online (Sandbox Code Playgroud)
任何人都可以看到任何问题吗?
只是为了澄清,我知道它会进入正确的代码块,因为我的警报正在运行.它只是禁用按钮不起作用.
亲切的问候,
加雷思
我编写了以下linq查询,该查询通过将数据连接在一起来创建一个新对象,如您所见:
var translations = from t in context.Translations
join token in context.Tokens on t.Guid equals token.Guid
join t2 in context.Translations on new { t.Guid, LanguageCode = "fr" } equals new { t2.Guid, t2.LanguageCode} into j //TODO: fr needs to be replaced by the language of the translators account
from j2 in j.DefaultIfEmpty()
where t.LanguageCode == String.Empty
orderby t.Text
select new TranslationView
{
Guid = t.Guid,
LanguageCode = j2.LanguageCode,
SourceText = t.Text,
Translation = j2.Text,
IsNew = j2.Text == null,
Notes …Run Code Online (Sandbox Code Playgroud) 我想随机取50个数字,这样就不能用随机方法重复它们.
以下是我目前的代码:
private void settext()
{
int i;
Queue <int> qe= new Queue<int>(50);
Random rm= new Random();
for (int g = 0; g < 50; g++)
{
i = rm.Next(1, 50);
if (!qe.Contains(i))
{
qe.Enqueue(i);
}
}
}
Run Code Online (Sandbox Code Playgroud) 我目前正在处理的MVC项目使用Regions,以便我们可以本地化页面等.
我发现错误页面有问题.我们已在web.config文件中打开自定义错误页面.如果我们在一个页面上让我们说:/ IT /新闻/索引我们得到一个错误,当它重定向时它会转到/错误并且没有附加路由值.
有没有确保错误页面保留langauge routevalue?
我一直在寻找,目前找不到解决方案,并想知道是否有其他人可以帮助或指出我正确的方向?
希望这一切都有道理.任何帮助深表感谢.
你好.我有一个登录网页和一个欢迎网页.我将用户名和密码保存在数据库中.登录后,我重定向到欢迎页面.假设我以Dave身份登录.我想欢迎页面说Welcome Dave.我该怎么做呢?
我尝试了一些不成功的事情 - 我在欢迎页面上创建了一个标签,并尝试从登录页面调用它,但这是不允许的.有没有办法可以连接不同网页的标签?工具箱中是否有可以将页面链接在一起的工具?
或者我应该专注于对数据库做些什么?
有任何想法吗?
c# ×7
asp.net-mvc ×1
azure-devops ×1
c#-4.0 ×1
css ×1
dictionary ×1
generics ×1
html ×1
jquery ×1
linq ×1
login ×1
random ×1
rhino-mocks ×1
translation ×1
unit-testing ×1
username ×1