我正在通过转换现有项目来自学C#,并且无法转换以下vb linq代码:
Dim outStuff = From tt In (From t In Products.SelectMany(Function(p) If(p.tags IsNot Nothing, p.tags, New ObservableCollection(Of TagModel)))
Group By tagName = t.name,
v = (Aggregate p In Products Where If(p.tags IsNot Nothing, p.tags.Contains(t), Nothing) Into Sum(p.views)),
nl = (Aggregate p In Products Where If(p.tags IsNot Nothing, p.tags.Contains(t), Nothing) Into Sum(p.num_likes))
Into g = Group, Count())
Group By name = tt.tagName Into Count = Sum(tt.Count), viewsTotal = Sum(tt.v), num_likesTotal = Sum(tt.nl)
Select name, Count, viewsTotal, num_likesTotal
Run Code Online (Sandbox Code Playgroud)
哪里 Products As …
我是C#的新手,希望我能在这个主题上得到一些帮助.我有一个包含元素的数组,我需要显示每个项目出现的次数.
例如,在[1, 2, 3, 4, 4, 4, 3],1出现一次,4出现三次,依此类推.
我做了以下但不知道如何把它放在foreach/if语句中......
int[] List = new int[]{1,2,3,4,5,4,4,3};
foreach(int d in List)
{
if("here I want to check for the elements")
}
Run Code Online (Sandbox Code Playgroud)
谢谢你,对不起,如果这是一个非常基本的...
我有这样的事情:
Dictionary<int, List<string>> fileList = new Dictionary<int, List<string>>();
Run Code Online (Sandbox Code Playgroud)
然后,我用一些变量填充它,例如:
fileList.Add(
counter,
new List<string> {
OFD.SafeFileName,
OFD.FileName,
VERSION, NAME , DATE ,
BOX , SERIAL_NUM, SERIES,
POINT , NOTE , VARIANT
}
);
Run Code Online (Sandbox Code Playgroud)
counter每次发生某事时增加+1的变量在哪里,List<string>{XXX}哪里XXX是包含一些文本的字符串变量.
我的问题是,如果counter == 1,如何从列表中访问这些字符串?
有人知道如何WindowsPrincipal.IsInRole("domain\role")使用活动目录通用组吗?
假设当前用户是名为Domain的域中名为Role的组的成员,并且Role组是Active Directory中的Global组.然后,以下代码将产生result = true:
WindowsPrincipal wp = new WindowsPrincipal(WindowsIdentity.GetCurrent());
bool result = wp.IsInRole(@"domain\Role");
Run Code Online (Sandbox Code Playgroud)
但是,如果将Role组更改为通用组,则代码将生成result = false.
我有一个PHP网站,我正在学习PHP,它位于Linux服务器上.如何在不与当前PHP代码冲突的情况下运行此C#代码?当我打开URL时site.com/hello.cs,它只是将整个内容显示为文本?在服务器上运行此代码需要什么?
public class Hello1
{
public static void Main()
{
System.Console.WriteLine("Hello, World!");
}
}
Run Code Online (Sandbox Code Playgroud) 我正在使用jQuery Validation插件
我希望我的一个字段是一个数字,但它不是必填字段.
问题是,当我设置时number: true,它需要该字段.这是为什么?我试图添加required: false同number: true,但无济于事.
这是我的代码:
name : {
required:false,
number:true
}
Run Code Online (Sandbox Code Playgroud)
我没有设置错误消息,但它显示默认错误消息:"请输入有效数字."
我通常使用以下代码来生成随机颜色:
Random rand = new Random();
Color random = Color.FromArgb((int)(rand.NextDouble() * 255),
(int)(rand.NextDouble() * 255),
(int)(rand.NextDouble() * 255));
Run Code Online (Sandbox Code Playgroud)
但它们中的大多数看起来像灰色的变体。如何将输出限制为仅完全饱和的颜色?
谢谢。
我正在尝试学习一些jQuery,并使用以下代码设置测试页面:
<a id='encode' href='javascript: void(0)'>encode</a> |
<a id='decode' href='javascript: void(0)'>decode</a> |
<br/>
<textarea id='randomString' cols='100' rows='5'></textarea>
<script type='text/javascript'>
$(document.ready(function () {
$('#encode').click(function() {
$('#randomString').val(escape($('#randomString').val()));
});
$('#decode').click(function() {
$('#randomString').val(unescape($('#randomString').val()));
});
});
</script>
Run Code Online (Sandbox Code Playgroud)
我的想法是我可以在textarea中放置一些东西,然后点击"编码"或"解码",它将要么逃避或者忽略我放入textarea的东西.
这段代码工作正常,但我的问题与我如何更改textarea的值有关.在我的代码中,我选择了两次textarea值:一次(un)转义它,再一次改变值.IMO这看起来很笨拙,也许没必要.我想也许我可以这样做:
$('#randomString').val(escape(this));
Run Code Online (Sandbox Code Playgroud)
但this似乎是指我点击的链接的对象,而不是#randomString选择器,所以是否有一些其他可以用来引用它的魔术词$('#randomString')?
这是我刚刚写的相等比较器,因为我想从包含实体的列表中获得一组不同的项.
class InvoiceComparer : IEqualityComparer<Invoice>
{
public bool Equals(Invoice x, Invoice y)
{
// A
if (Object.ReferenceEquals(x, y)) return true;
// B
if (Object.ReferenceEquals(x, null) || Object.ReferenceEquals(y, null)) return false;
// C
return x.TxnID == y.TxnID;
}
public int GetHashCode(Invoice obj)
{
if (Object.ReferenceEquals(obj, null)) return 0;
return obj.TxnID2.GetHashCode();
}
}
Run Code Online (Sandbox Code Playgroud)
Distinct需要比较器而不是Func<T,T,bool>?如果我想,我可以替换(C)
return GetHashCode(x) == GetHashCode(y)
我有一些来自痕迹的文本,我用它来打开页面上的菜单项.例如,说出来bctext = 'pasta'.
我想以"面食"为目标,但不要说"yadda yadda yadda pasta".只有单个单词"pasta"的实例应该匹配,或者如果bctext是短语,那么它只会找到确切的短语.
这是我到目前为止:
$('ul#accordion a:contains(' + bctext + ')')
Run Code Online (Sandbox Code Playgroud)
但当然,这会发现"yadda yadda pasta".
我得到bctext以下内容:
var bctext = $('#CategoryBreadcrumb ul li:last-child').prev().children().text();
Run Code Online (Sandbox Code Playgroud)
然后,我使用以下内容编辑菜单:
$('ul#accordion a:contains(' + bctext + ')').parent()
.addClass('special')
.children('ul')
.css('display','block');
Run Code Online (Sandbox Code Playgroud)
我想要的是什么?