我是Linux的新手,也是构建/编译自己的内核的新手.对于初学者,我只想弄清楚如何更改内核的版本字符串.例如,当我执行uname -a时,它会输出"Linux localhost.localdomain 3.11.10-100.fc18.i686".我想自定义,但我不确定要编辑的文件.我知道它必须是我的内核目录中的一些文件,但我一直在经历它们没有运气.任何帮助都会很棒!
我的C#代码中有两个SQL语句来检索一些值.我知道他们对SQL注入是开放的,因为我没有使用参数,但我不确定我是否正确实现它们.
(注意:每个都在循环中循环数据表的行)第一个例子:
string sql2 = "select max(day) as day from users u join days d on d.User_ID = u.id where u.ActiveUser = 1 and u.id = " + Users["ID"].ToString();
command.CommandText = sql2;
string dt = command.ExecuteScalar().ToString();
Run Code Online (Sandbox Code Playgroud)
在上面的语句中,它检索日期时间并将其分配给字符串dt.任何带有id或ID的东西都是bigint.
string sql = "SELECT MAX(Day) FROM Days WHERE Project_ID IN (SELECT ID FROM Projects WHERE Parent_ID = -1 AND ID = " + row["ID"] + ") HAVING MAX(Day) < DATEADD(dd, -730, getdate())";
command.CommandText = sql;
object val = command.ExecuteScalar();
Run Code Online (Sandbox Code Playgroud)
上面的语句与第一个语句相同,就像它检索日期时间值一样.任何带有id或ID的东西都是bigint.
这是我第一个想到的,我错过了什么或做错了什么?
string sql2 …Run Code Online (Sandbox Code Playgroud) 我正在尝试将此C代码直接转换为mips,而不修改任何指令,以使其运行更好:
for(i = 0; i != j; i += 2)
b[i] = a[i] - a[i + 1]
Run Code Online (Sandbox Code Playgroud)
我并不是真的要用mips编码,我只是想了解一些东西。这是我到目前为止(不多):
#t5 = i
$t6 = j
#t1 = a
#t2 = b
#t3 = c
#t10, t11, t12 = free
add $t5, $zero, $zero # initialize i = 0
loop:
bne $t5, $t6 # check if i is not equal to j
addi $t5, $t5, 2 # i += 2
add $t10, $t5, $t11 # temp reg $t10 = address of b[i] …Run Code Online (Sandbox Code Playgroud) 我有这两个函数将流读入缓冲区并将其加载到给定的结构中.
TestStruct1 ReadRecFromStream2(Stream stream)
{
byte[] buffer = new byte[Marshal.SizeOf(typeof(TestStruct1))];
stream.Read(buffer, 0, 128);
GCHandle handle = GCHandle.Alloc(buffer, GCHandleType.Pinned);
try
{
return (TestStruct1)Marshal.PtrToStructure(handle.AddrOfPinnedObject(), typeof(TestStruct1));
}
finally
{
handle.Free();
}
}
TestStruct2 ReadRecFromStream(Stream stream)
{
byte[] buffer = new byte[Marshal.SizeOf(typeof(TestStruct2))];
stream.Read(buffer, 0, 128);
GCHandle handle = GCHandle.Alloc(buffer, GCHandleType.Pinned);
try
{
return (TestStruct2)Marshal.PtrToStructure(handle.AddrOfPinnedObject(), typeof(TestStruct2));
}
finally
{
handle.Free();
}
}
Run Code Online (Sandbox Code Playgroud)
我想将它们组合成一个通用函数来获取任何一个结构,我只是不确定这样做的正确方法是什么.
这是正确的方法吗?
private T ReadRecFromStream<T>(Stream stream)
{
byte[] buffer = new byte[Marshal.SizeOf(typeof(T))];
stream.Read(buffer, 0, HeaderSize);
GCHandle handle = GCHandle.Alloc(buffer, GCHandleType.Pinned);
try
{
return …Run Code Online (Sandbox Code Playgroud) 我在ms-sql数据库中有一个表,其中包含列中的日期,如下所示:
2012-10-31 00:00:00.000
Run Code Online (Sandbox Code Playgroud)
此列列为"datetime"类型.如同在ms sql server管理工作室中,我展开表,然后是列,并查看日期(PK,datetime,not null).
然后在c#中,我得到那些带有语句的日期,并将其分配给一个变量,该变量填充了一个网页,该网页是用asp.net制作的网页.sql语句只是获取用户的最后一个条目.
SqlCommand command = new SqlCommand();
//connection info here
sql2 = "select max(day) as day from users u join days d on d.User_ID = u.id where u.ActiveUser = 1 and u.id = " + Users["ID"].ToString();;
command.CommandText = sql2;
dates["Entry"] = command.ExecuteScalar();
Run Code Online (Sandbox Code Playgroud)
这将填充列中的日期,如下所示:
10/31/2012 12:00:00 AM
Run Code Online (Sandbox Code Playgroud)
现在,我不知道为什么会这样转换.我在调试时跟踪数据,并且使用command.ExecuteScalar()函数进行更改.我希望的格式是:
10/31/2012
Run Code Online (Sandbox Code Playgroud)
没有hh/mm/ss AM.
我无法使任何DateTime转换/分析/格式化正常工作.我花了四天时间.我在这里问了一个类似的问题:将日期转换为正确的格式,尝试所有不同的建议.
我在此期间做的是:
string dt = command.ExecuteScalar().ToString();
dt = dt.Substring(0, dt.IndexOf(" ") + 1);
dates["Entry"] = dt;
Run Code Online (Sandbox Code Playgroud)
哪个删除了返回的日期字符串中的空格后的所有文本.这没关系,除了我想比较我得到的这些日期,所以我需要在DateTime中使用它们.试图将这些字符串转换为DateTime是行不通的.
编辑:定义和类型 -
DataRow dates;
//for …Run Code Online (Sandbox Code Playgroud) 我正在尝试调试 Blazor WebAssembly 应用程序,但在尝试设置断点时收到以下消息:
如果我执行会遇到断点的操作,Visual Studio 会打开一个新选项卡,其中显示Unable to retrieve source content (Unable to retrieve source content). 我在单独的 blazor 服务器应用程序以及首次创建 blazor 项目(counter.razor 和 fetchdata.razor)时提供的示例模板中遇到了同样的问题。
以下是该应用程序的信息: 目标框架:.NET 5.0(当前) 身份验证类型:无 配置 HTTPS:True ASP.NET Core 托管:False 渐进式 Web 应用程序:True
我使用的是 Visual Studio 2019 版本 16.9.4。
我的 .csproj 文件是:
<Project Sdk="Microsoft.NET.Sdk.BlazorWebAssembly">
<PropertyGroup>
<TargetFramework>net5.0</TargetFramework>
<ServiceWorkerAssetsManifest>service-worker-assets.js</ServiceWorkerAssetsManifest>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly" Version="5.0.5" />
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly.DevServer" Version="5.0.5" PrivateAssets="all" />
<PackageReference Include="System.Net.Http.Json" Version="5.0.0" />
</ItemGroup>
<ItemGroup>
<ServiceWorker Include="wwwroot\service-worker.js" PublishedContent="wwwroot\service-worker.published.js" />
</ItemGroup>
</Project>
Run Code Online (Sandbox Code Playgroud)
我的 launchSettings.json 文件是:
{
"iisSettings": { …Run Code Online (Sandbox Code Playgroud) debugging breakpoints visual-studio-2019 blazor-client-side blazor-webassembly
在类组件中,我有两个视图,一个作为占位符,一个用于图像。占位符会显示,直到某些状态发生变化(当图像完成加载时),然后图像才会显示。我正在尝试添加一些动画,并在状态更改时让图像淡入和占位符淡出。
下面是两个视图的相关渲染函数:
renderImage = (filePath: string): JSX.Element => {
const { isImageLoaded } = this.state;
if (isImageLoaded) {
return (
<View style={Styles.imageContainer}>
<Image source={{ uri: filePath, cache: 'reload' }}/>
</View>
);
}
return (
<View style={Styles.placeholderContainer}>
</View>
);
};
Run Code Online (Sandbox Code Playgroud)
我知道我需要将视图更改为Animated.View并具有淡入/淡出功能,如下所示:
Animated.timing(this.state.opacity, {
toValue: 1,
duration: 500,
useNativeDriver: true,
}).start();
Run Code Online (Sandbox Code Playgroud)
setState在状态回调中调用淡入/淡出函数的正确方法是isImageLoaded?或者有没有一种方法可以触发动画而无需手动调用它们setState?
相关:将3个文本框绑定在一起; 相同的DateTime格式不同
我有三个textboxes,所有人都应该在同一个日期绑定在一起.其中两个具有正常的字符串格式.第三个具有特定格式yyyy,jjj/HHmmss.我无法弄清楚如何将其绑定textbox到我拥有的自定义格式,并且如果我更改其中的任何日期值,那么另一个textboxes将更新,反之亦然.
private DateTime _dateInViewModel;
public DateTime DateInViewModel
{
get { return _dateInViewModel; }
set
{
_dateInViewModel = value;
NotifyPropertyChanged("DateInViewModel");
}
}
<TextBox Name="SDate1" Text="{Binding DateInViewModel, StringFormat='MM/dd/yyyy'}" />
<TextBox Name="SDate2" Text="{Binding DateInViewModel}" />
<TextBox Name="STime1" Text="{Binding DateInViewModel, StringFormat='hh:mm:ss'}" />
Run Code Online (Sandbox Code Playgroud)
自定义格式可以像:
format = String.Format("{0},{1}/{2}",
DateInViewModel.Year,
DateInViewModel.DayOfYear.ToString("d3"),
DateInViewModel.ToString("HHmmss"));
Run Code Online (Sandbox Code Playgroud)
现在,只有SDate1和STime1当其它改变相互结合的正确和更新.
我做了一个转换器.它正确地更新SDate2时SDate1和STime1改变,但编辑时不起作用SDate2更新等.
public class DateTimeConverter : IValueConverter
{
#region IValueConverter Members
public …Run Code Online (Sandbox Code Playgroud) 我有一堆字符串,其中一些具有以下格式之一:
"TestA (3/12/10)"
"TestB (10/12/10)"
Run Code Online (Sandbox Code Playgroud)
DateTime字符串的一部分将始终采用mm/dd/yy格式.
我想要做的是删除整个DateTime部分,包括括号.如果它总是相同的长度,我将得到索引/并减去该字符数直到并包括(.但由于mm字符串的一部分可能是一个或两个字符,我不能这样做.
那么有没有办法做一个.Contains或什么来看看字符串是否包含指定的DateTime格式?
我目前有一个combobox必然的dictionary.我要做的是在其中有一个默认项目combobox,例如"请选择一个项目...",当用户实际点击combobox选择项目时,该项目就会消失.
我在这个网站上看到过类似的问题,但似乎无法让任何解决方案适合我.我唯一的运气就是把它放在我的xaml组合框代码中:
<IsEditable="True" IsReadOnly="True" Text="Please select an item..."/>
Run Code Online (Sandbox Code Playgroud)
但这当然会改变它的外观,combobox我不希望它看起来像是可编辑的.
我的代码背后:
private Dictionary<string, string> imageTypes = new Dictionary<string, string>();
public MainWindow()
{
InitializeComponent();
AddImage_Types();
}
public void AddImage_Types()
{
imageTypes.Add("*.png", Png);
imageTypes.Add("*.jpg *.jpeg *jfif", Jpg);
}
public Dictionary<string, string> ImageTypes
{
get
{
return imageTypes;
}
}
Run Code Online (Sandbox Code Playgroud)
这是我的组合框的xaml:
<ComboBox Name="imageCB"
ItemsSource="{Binding RelativeSource={RelativeSource AncestorType=Window, Mode=FindAncestor}, Path=ImageTypes}"
SelectedValuePath="Value"
DisplayMemberPath="Key" >
</ComboBox>
Run Code Online (Sandbox Code Playgroud)
我尝试过使用触发器和样式,就像这个答案:https://stackoverflow.com/a/16782339/2480598
我确信它很简单,但我似乎无法得到它.
注意:默认项目,我的意思是当窗口加载时,一些文本已经显示在组合框中,如"请选择项目...".当用户单击组合框以从下拉列表中选择项目时,这将消失.
我有一个在 WPF 项目中使用的 oxyplot winforms 控件。该控件接受两个列表(一个用于 x 值,一个用于 y 值),并绘制一个线系列。我试图让我的 WPF 项目一次一个地循环遍历这些点并突出显示(简单的颜色更改)循环命中的每个点。但是,我找不到只改变一点的方法,只能改变整个系列。
例如:
var s1 = new LineSeries();
s1.Color = OxyColors.LightBlue;
s1.MarkerFill = OxyColors.Blue;
s1.MarkerType = OxyPlot.MarkerType.Circle;
Run Code Online (Sandbox Code Playgroud)
这会将线系列中的所有点更改为浅蓝色,将线本身更改为蓝色,将点更改为圆形。
但是没有方法或属性可以更改单个点。
我的问题是,执行语句时结果是空的,即使在Microsoft的SQL Server工作室中执行它时也可以.
//This has two values in it (Ex: 4 and 2)
string[] arr2 = groupListValues.Split('-');
List<string> userID = new List<string>();
// Connect to the database
SqlConnection gconn = new SqlConnection(ConfigurationManager.ConnectionStrings["connectinfohere"].ConnectionString);
gconn.Open();
SqlCommand command1 = new SqlCommand();
command1.Connection = gconn;
String sql = "SELECT ID FROM Users WHERE Group = @groupID";
command1.CommandText = sql;
command1.Parameters.Add(new SqlParameter("@groupID", ""));
SqlDataReader reader = command1.ExecuteReader();
//issue is in this loop
foreach (string str in arr2)
{
command1.Parameters["@groupID"].Value = str;
while (reader.Read())
{
userID.Add(reader["ID"].ToString());
} …Run Code Online (Sandbox Code Playgroud) 试图将这段Delphi代码转换为,C#并且我else对if/else语句的以下部分实际结束的地方感到困惑.以下是代码的确切格式:
try
Root:=ExtractFileRoot(FileName);
ErrorStr:=ExtractFileRoot(FileName)+' invalid name';
if not GetNextNumericSegment(Root,Segment) then exit;
if length(Segment) = 4 then
begin
Year:=StrToInt(Segment);
GetnextNumericSegment(Root,Segment)
end
else // Where does this else statement end?
Year:=Defaultyear;
ErrorStr:=ExtractFileRoot(FileName)+' invalid';
if Length(Segment) <> 3 then exit;
Jday:=StrToInt(Segment);
ErrorStr:=ExtractFileRoot(FileName)+' Bad File';
if not GetNextNumericSegment(Root,Segment) then exit; // bad Time of day
GetTimeFromFileName:=EncodeDate(Year,1,1)+Jday-1+
EncodeTime(StrToInt(Copy(Segment,1,2)),StrToInt(Copy(Segment,3,2)),StrToInt(Copy(Segment,5,2)),0);
except
GetTimeFromFileName:=0;
end;
Run Code Online (Sandbox Code Playgroud)
我知道你不必使用开头/结尾,但到目前为止我在这段代码中看到的所有内容都使用了它.我也看了,你不需要;在if语句的一部分,并且第一;后else是底了else.
我的猜测是,根据一切else和达except是金 …