我有一个非常讨厌的问题,我已经分组了一组数据,我无法得到组内的数据.我可以得到关键位而不是数据..
我有一堆表格中的数据
Data.Period = x
Data.Adjustment = y
Run Code Online (Sandbox Code Playgroud)
我执行GroupBy
var groupedData = Data.GroupBy(x => x.Period new {x.Period});
Run Code Online (Sandbox Code Playgroud)
这带回(根据linq)我的分层数据,它开始看起来我想要它.我喜欢迭代内容但不能......我该怎么做?我怎么...
了解如何在不使用投影的情况下进入Data.Adjustment.而且我不想投射,因为我必须执行另一个分组....帮助!:-)
我相信我错过了一些东西.对于某个项目,我需要检查字符串是空还是空.
有没有更简单的方法来写这个?
if(myString == "" || myString == null)
{
...
Run Code Online (Sandbox Code Playgroud) 我正在编写一个.NET Core应用程序来轮询远程服务器并在显示时传输数据.这在PHP中非常有效,因为PHP忽略了证书(这在浏览器中也是一个问题)但是我们想将它移到C#.NET CORE,因为这是系统中唯一剩下的PHP.
我们知道服务器很好,但由于各种原因,证书不会/不会很快更新.
请求使用HttpClient:
HttpClient httpClient = new HttpClient();
try
{
string url = "https://URLGoesHere.php";
MyData md = new MyData(); // this is some data we need to pass as a json
string postBody = JsonConvert.SerializeObject(md);
httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
HttpResponseMessage wcfResponse = await httpClient.PostAsync(url, new StringContent(postBody, Encoding.UTF8, "application/json"));
Console.WriteLine(wcfResponse.Content);
}
catch (HttpRequestException hre)
{
// This exception is being triggered
}
Run Code Online (Sandbox Code Playgroud)
研究过这个似乎普遍的建议是使用ServicePointManager,但这在.NET Core中不可用,而且我无法找到推荐的替代品.
有没有一种简单或更好的方法在.NET Core中执行此操作?
我有一些多线程代码,我想增加一点的性能,所以我想知道我是否可以摆脱锁.
我有一个现场成员:
private IList<ServerStatus> status;
Run Code Online (Sandbox Code Playgroud)
它在这样的线程中更新:
status = GetUpdatedStatus();
Run Code Online (Sandbox Code Playgroud)
它在另一个线程中使用,如下所示:
var currentStatus = status;
Run Code Online (Sandbox Code Playgroud)
所以问题是,如果没有锁定两个赋值语句,上面会产生任何问题吗?
我想我能看到的唯一情况是currentStatus为null,但是我再次希望赋值有点线程安全(或者它已经更改了引用)
我有个问题.我有人和猫.每个Person都有一些Cats(Cats中有一个外键指向Persons中的主键).每只猫都有一个年龄.我想选择有"老"猫的人.我想要这些人的所有猫,而不仅仅是"老"猫.我需要使用QueryOver语法来完成它.
在T-SQL中它将是这样的:
SELECT P.*, C.*
FROM Persons P
LEFT JOIN Cats C
ON P.Id = C.OwnerId
WHERE EXISTS (
SELECT 1
FROM Cats C2
WHERE P.Id = C2.OwnerId AND C2.Age > 5)
Run Code Online (Sandbox Code Playgroud)
我知道我必须使用子查询,并且我可以轻松地使用"旧的"nhibernate语法(Criteria/DetachedCriteria),但我无法在QueryOver语法中执行此操作.
我不想要"IN"状态.我的主键是一个复杂的键,所以我无法使用IN.
var persons = session.QueryOver<Person>.WithSubquery.WhereExists( ??? );
Run Code Online (Sandbox Code Playgroud) 我想要一些正则表达式的帮助.
我正在尝试创建一个包含某些字符串并排除某些字符串的表达式.
例如:
我想包含任何包含移动性的网址 http://www.something.com/mobility/
但是,我想排除任何包含商店的URL http://www.something.com/store/mobility/
仅供参考我有很多关键字,我正在使用.目前我包括这样/mobility|enterprise|products/i但是我发现它不能排除包含其他关键字的链接.
提前感谢您提供的任何帮助和见解.
_t
我是使用XML的新手,在尝试从spring.net配置文件中获取特定标记时遇到了一个奇怪的问题.在尝试使用测试xml文件缩小问题范围后,我发现应用以下代码:
List<XElement> nodes = xmlFile.Descendants("B").ToList();
Run Code Online (Sandbox Code Playgroud)
提供包含以下文件的非空列表:
<?xml version="1.0" encoding="utf-8" ?>
<A fakeAttribute="aaa">
<B id="DbProvider"/>
</A>
Run Code Online (Sandbox Code Playgroud)
但是提供了一个带有以下文件的空字符串:
<?xml version="1.0" encoding="utf-8" ?>
<A xmlns="aaa">
<B id="DbProvider"/>
</A>
Run Code Online (Sandbox Code Playgroud)
作为属性的文件之间的唯一区别.
我无法想象对此的解释.谢谢你的帮助.
我正在做一个产生数百个线程的项目.所有这些线程都处于"休眠"状态(它们被锁定在Monitor对象上).我注意到,如果我增加"休眠"线程的数量,程序会非常慢."有趣"的是,看着任务管理器似乎线程数越多,处理器就越自由.我已将问题缩小到对象创建.
有人可以向我解释一下吗?
我制作了一个小样本来测试它.这是一个控制台程序.它为每个处理器创建一个线程,并通过简单的测试("新对象()")测量它的速度.不,"新对象()"没有被淘汰(如果你不信任我,试试).主线程显示每个线程的速度.按CTRL-C,该程序产生50个"睡眠"线程.减速开始于50个线程.在任务管理器上可以看到大约250个,CPU不是100%使用(在我的是82%).
我已经尝试了三种锁定"休眠"线程的方法:Thread.CurrentThread.Suspend()(坏,坏,我知道:-)),锁定已经锁定的对象和Thread.Sleep(Timeout.Infinite).一样的.如果我使用新的Object()注释该行,并将其替换为Math.Sqrt(或没有任何内容),则问题不存在.速度不随线程数而变化.别人可以查一下吗?有谁知道瓶颈在哪里?
啊......你应该在发布模式下测试它而不从Visual Studio中启动它.我在双处理器上使用XP sp3(没有HT).我用.NET 3.5和4.0测试过它(测试不同的框架运行时)
namespace TestSpeed
{
using System;
using System.Collections.Generic;
using System.Threading;
class Program
{
private const long ticksInSec = 10000000;
private const long ticksInMs = ticksInSec / 1000;
private const int threadsTime = 50;
private const int stackSizeBytes = 256 * 1024;
private const int waitTimeMs = 1000;
private static List<int> collects = new List<int>();
private static int[] objsCreated;
static void Main(string[] args)
{
objsCreated = new int[Environment.ProcessorCount];
Monitor.Enter(objsCreated);
for (int i = 0; …Run Code Online (Sandbox Code Playgroud) 我想在lambda表达式中调用异步方法.请帮我做下面的事情
例如 -
return xyz.Where(async x=> await AsyncMethodCall(x.val));
Run Code Online (Sandbox Code Playgroud)
Async方法看起来像
public async Task<bool> AsyncMethodCall(Data d){...}
Run Code Online (Sandbox Code Playgroud)
当我执行上述操作时,出现以下错误
错误CS4010无法将异步lambda表达式转换为委托类型
'Func<Data, bool>'.异步lambda表达式可能会返回void,Task或者Task<T>没有一个可以转换为'Func<Data, bool>'.
在此先感谢您的帮助
我正在努力找到一个很好的库来计算sha256.我发现已经有很多选择
crypto ++:http://www.cryptopp.com/
openSSL:http://www.openssl.org/
MIRACL:http://www.shamus.ie/
我更喜欢一个知名的,广泛工业化的库,适用于所有操作系统,而不是最有效的库.
你对我推荐什么?(随意在我未提及的图书馆推荐).
c# ×8
.net ×5
linq ×3
asynchronous ×2
.net-core ×1
c++ ×1
ignore ×1
lambda ×1
linq-to-xml ×1
locking ×1
nhibernate ×1
null ×1
performance ×1
queryover ×1
regex ×1
sha256 ×1
string ×1
xml ×1