我见过许多开发人员想要调用Event它们将它分配给一个名为的本地变量handler并调用handler而不是Event直接调用.为什么我们不直接调用事件?
private void OnSomethingChanged(EventArgs e)
{
if (SomethingEvent != null)
{
SomethingEvent(this, e);
}
}
Run Code Online (Sandbox Code Playgroud) 我有以下代码:
_clientRequestStream = _tcpClient.GetStream();
var memoryStream = new MemoryStream();
_clientRequestStream.CopyTo(memoryStream);
Run Code Online (Sandbox Code Playgroud)
CopyTo需要很长时间才能复制Stream到另一个Stream.似乎应用程序没有任何理由停在那里,或者至少我找不到原因.
如何更改所选文本的样式(如Font,FontSize,Brush)RichTextBox?
更新:假设我有RichTextBox一个工具栏.用户来到RichTextBox框中选择文本并从工具栏更改字体大小.我想改变所选文字的样式.
嗨,我正在使用FluentSecurity来验证和验证我的MVC应用程序中的用户权限.在用户想要访问被拒绝的基本设置中,Action它会抛出异常.我想知道如何重定向到另一个页面(例如登录页面)而不是显示黄色异常页面?
List<int> types = Hospitals.GroupBy(h => h.TypeId, (key, group) => group.First())
.Select(t=> y.TypeId).ToList();
Run Code Online (Sandbox Code Playgroud)
试图从List<Hospital>对象中获取不同的类型ID .我不是这些linq查询的专家,只是想知道是否有更好的方法来做到这一点.
在下面的代码foreach循环工作正常,但当我尝试使用LINQ而不是使用foreach它不起作用没有异常没有错误.
这段代码有效:
public static IEnumerable<PatternInfo> LoadPatterns() {
var directoryInfo = new DirectoryInfo(PatternFullPath);
var dirs = directoryInfo.EnumerateDirectories();
var result = new List<PatternInfo>();
foreach (var info in dirs)
{
result.Add(new PatternInfo
{
PatternName = info.Name,
TemplateFileNames = GetTemplateFiles(info.FullName)
});
}
return result;
}
Run Code Online (Sandbox Code Playgroud)
但这不是:
public static IEnumerable<PatternInfo> LoadPatterns() {
var directoryInfo = new DirectoryInfo(PatternFullPath);
var dirs = directoryInfo.EnumerateDirectories();
var patterns = dirs.Select(info => new PatternInfo {
PatternName = info.Name,
TemplateFileNames = GetTemplateFiles(info.FullName)
});
return patterns;
} …Run Code Online (Sandbox Code Playgroud) 我正在创建简单的代理服务器,但遇到了一个奇怪的情况,我有以下代码:
var clientRequestStream = _tcpClient.GetStream();
var requestHeader = clientRequestStream.GetUtf8String();
Run Code Online (Sandbox Code Playgroud)
GetUtf8String是Stream读取流(包含HttpRequest标题)的类的扩展方法。我需要提取这些标头以访问主机和请求的 URL。完成读取 NetworkStream 后。我需要执行搜索操作并设置它,clientRequestStream.Position = 0;因为我必须读取该流并将其写入另一个远程NetworkStream.
我不知道我应该如何解决这个问题。任何建议都会有所帮助。
编辑:我也尝试将 NetworkStream 复制到 MemoryStream 然后对 MemoryStream 执行查找操作,没有例外,但是当我想从 NetworkStream 读取时,其缓冲区始终为空。
我也用反射器看看里面发生了什么Stream.CopyTo。见下面的代码:
private void InternalCopyTo(Stream destination, int bufferSize)
{
int num;
byte[] buffer = new byte[bufferSize];
while ((num = this.Read(buffer, 0, buffer.Length)) != 0)
{
destination.Write(buffer, 0, num);
}
}
Run Code Online (Sandbox Code Playgroud)
这就是 CopyTo 所做的。即使我使用CopyTo问题仍然没有解决。因为它将源(此处为 NetworkStream)读取到最后。我有另一种方法来处理这种情况吗?
我正在创建一个聊天应用程序,我想在Bold中显示名称.首次加载表单时,我RichTextBox使用这些代码行在控件上显示数据库中的历史记录对话,我想以粗体显示名称:
以下是使这成为可能的所有代码:
string strProvider = "Data Source=" + srv_host + ";Database=" + srv_db + ";User ID=" + srv_user + ";Password=" + srv_pass;
MySqlConnection myConn = new MySqlConnection(strProvider);
try
{
myConn.Open();
string strCmd = "SELECT * FROM comments WHERE task_id=@task_id AND ((from_usr=@from AND to_usr=@to) OR (from_usr=@to AND to_usr=@from)) ORDER BY at_time ASC";
MySqlCommand myCmd = new MySqlCommand(strCmd, myConn);
myCmd.Parameters.AddWithValue("from", frm_usr);
myCmd.Parameters.AddWithValue("to", to_usr);
myCmd.Parameters.AddWithValue("task_id", tid);
myCmd.ExecuteNonQuery(); // execute now
MySqlDataReader dr = myCmd.ExecuteReader();
while (dr.Read())
{
string text …Run Code Online (Sandbox Code Playgroud) 我在阅读的文件中有字符串.有些人在开始时有空格或标签.有没有一种简单的方法可以删除空格和标签(空白的东西)?
例如
var abc = " def";
Run Code Online (Sandbox Code Playgroud)
我想要的是删除"def"之前的东西.
谢谢,
更新:我相信这是正确的答案:
char[] arr = new char[] { '\t', ' ' }; // Trim these characters
text = text.TrimStart(arr);
Run Code Online (Sandbox Code Playgroud) 我正在创建一个CustomControl,我需要我的控件有一个集合,几乎可以接受所有类型的泛型和非泛型集合.例如List<T>,IEnumerable等等
提前致谢.
我正在使用System.Runtime.Serialization.Json库
这不起作用
public class Detections
{
[DataContract]
public class RootObject
{
[DataMember(Name = "data")]
public DataObject Data { get; set; }
}
[DataContract]
public class DataObject
{
[DataMember(Name = "detections")]
public List<Detection> Detections { get; set; }
}
[DataContract]
public class Detection
{
[DataMember(Name = "language")]
public string Language { get; set; }
[DataMember(Name = "isReliable")]
public string IsReliable { get; set; }
[DataMember(Name = "confidence")]
public string Confidence { get; set; }
}
}
Run Code Online (Sandbox Code Playgroud)
那我该如何解析呢
{
"data": {
"detections": …Run Code Online (Sandbox Code Playgroud) c# ×11
.net ×8
linq ×2
parsing ×2
richtextbox ×2
asp.net ×1
asp.net-mvc ×1
collections ×1
events ×1
formatting ×1
json ×1
loops ×1
mysql ×1
sockets ×1
streaming ×1
string ×1
tcpclient ×1
wpf ×1